This project explores customer segmentation using various clustering techniques on a dataset of mall customers. The goal is to identify distinct customer groups based on demographic and behavioral attributes, enabling businesses to tailor their marketing strategies more effectively.
The objective of this analysis is to segment customers to better understand their demographics and spending behavior, which can help businesses improve their marketing strategies and customer satisfaction.
The dataset consists of the following attributes:
- CustomerID: Unique identifier for each customer.
- Gender: Gender of the customer.
- Age: Age of the customer.
- Annual Income (k$): Annual income of the customer in thousands of dollars.
- Spending Score (1-100): Score assigned by the mall based on customer behavior and spending nature.
- Checked for missing values: Ensured the dataset is complete with no missing values.
- Summary statistics: Provided an overview of the data distribution.
- Feature Engineering: Encoded the 'Gender' attribute and scaled the features to ensure they are on a comparable scale.
Tried different numbers of clusters (k = 2 to 5) and selected the best one based on silhouette scores.
Experimented with various cluster counts and selected the best model based on silhouette scores.
Explored different epsilon values for density-based clustering and identified the best model based on silhouette scores.
- Identified distinct customer groups based on age, income, and spending habits.
- Uncovered patterns that can drive personalized marketing efforts and enhance customer experiences.
- Further exploration with additional features could refine the segmentation.
- Diving deeper into individual clusters for more targeted strategies.
data/
: Contains the dataset used for the analysis.notebook/
: Jupyter notebooks with the data exploration, cleaning, and clustering models.
To reproduce the analysis, follow these steps:
-
Clone the repository:
git clone https://github.com/muhammadadilnaeem/Customer-Segmentation-Unsupervised-Learning.git cd Customer-Segmentation-Unsupervised-Learning
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the notebooks or scripts to perform the analysis:
jupyter notebook notebook/data_exploration.ipynb
If you have suggestions for improvements or would like to contribute, feel free to open an issue or submit a pull request.
This project is licensed under the Apache License. See the LICENSE file for details.