Customer Segmentation Using Machine Learning For Small And Medium Businesses in Ghana
# Customer360
**Customer Segmentation System for Ghanaian SMEs**
Customer360 is a web-based platform that helps small and medium enterprises analyze their customer transaction data to discover valuable customer segments and receive actionable marketing recommendations.
## Features
- **RFM Analysis**: Compute Recency, Frequency, and Monetary metrics for each customer
- **Smart Segmentation**: Multiple clustering algorithms (K-Means, GMM, Hierarchical)
- **Actionable Insights**: Plain-English segment labels with marketing recommendations
- **PDF Reports**: Professional downloadable reports for stakeholders
- **Secure**: Password hashing, JWT authentication, per-user data isolation
- **Fast**: Background job processing for large datasets
## Architecture
```
┌─────────────────────────────────────────────────────────────────┐
│ Presentation Layer │
│ (HTML/CSS/JavaScript) │
│ Login │ Upload │ Dashboard │ Results │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Application Layer │
│ (FastAPI Backend) │
│ /auth │ /upload │ /status │ /results │ /report │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Analytics Layer │
│ Preprocessing → RFM → Clustering → Segmentation → Reports │
│ (pandas, numpy, scikit-learn, reportlab) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Storage Layer │
│ SQLite (users, jobs) │ File Storage …