An open API service indexing awesome lists of open source software.

https://github.com/theanujsinha01/customer-segmentation-using-k-means-clustering

This project focuses on customer segmentation using the K-Means clustering algorithm. A user-friendly Streamlit dashboard allows users to upload their own dataset, choose any two numeric features (like age, income, or spending score), and perform clustering. The app dynamically visualizes customer groups, recommends the best number of clusters
https://github.com/theanujsinha01/customer-segmentation-using-k-means-clustering

jupyter-notebook k-means-clustering machine-learning matplotlib numpy pandas python seaborn streamlit unsupervised-learning

Last synced: 4 months ago
JSON representation

This project focuses on customer segmentation using the K-Means clustering algorithm. A user-friendly Streamlit dashboard allows users to upload their own dataset, choose any two numeric features (like age, income, or spending score), and perform clustering. The app dynamically visualizes customer groups, recommends the best number of clusters

Awesome Lists containing this project

README

          

# ๐Ÿ›๏ธ Customer Segmentation using K-Means (Streamlit App)

This project performs **customer segmentation** using **K-Means Clustering**, and builds an interactive **Streamlit web app** for visual analysis and business insights.

It helps businesses understand different types of customers like:
- ๐ŸŸฅ High-income, high-spending customers
- ๐ŸŸฆ Low-income, low-spending customers
- ๐ŸŸช Impulsive buyers
- ๐ŸŸฉ Cautious but wealthy customers

---

## ๐Ÿ“Œ Objective

๐ŸŽฏ To segment customers into useful clusters using machine learning and visualize results dynamically.
The tool allows:
- Marketing teams to design **targeted strategies**
- Businesses to **personalize offers**
- Analysts to **explore patterns** in customer behavior
## LIVE : https://customer-segmentation-using-kmeans-clustering.streamlit.app/

---

## ๐Ÿš€ Features

โœ… Upload your own dataset
โœ… Select any 2 numeric features (Age, Income, Spending Score, etc.)
โœ… Elbow Method to choose the best number of clusters
โœ… K-Means clustering
โœ… Dynamic scatter plot with cluster colors
โœ… Smart report with cluster-wise insights
โœ… Styled table showing cluster means
โœ… Business-friendly auto descriptions

---

## ๐Ÿงช Technologies Used

| Tool / Library | Purpose |
|--------------------|--------------------------------------|
| Python | Main programming language |
| Pandas | Data analysis & cleaning |
| Matplotlib | Elbow graph |
| Seaborn | Cluster visualization |
| Scikit-learn | K-Means clustering |
| Streamlit | UI for interactive web app |

---

## ๐Ÿ“Š Dataset Overview

We used `Mall_Customers.csv`, containing:

| Column | Description |
|------------------------|-------------------------------------|
| CustomerID | Unique customer ID |
| Gender | Male / Female |
| Age | Age of customer |
| Annual Income (k$) | Income in thousands of dollars |
| Spending Score (1โ€“100)| Score assigned by the shopping mall |

---

## ๐Ÿ–ผ๏ธ How It Works

1. Upload the CSV file (or use the default one)
2. Select 2 numeric features for clustering
3. See the Elbow Method graph to pick the best number of clusters (K)
4. Visualize customers in color-coded clusters
5. Read auto-generated cluster descriptions
6. View a styled summary table for insights

---