This project is the final assignment for the interdisciplinary research methods course at the University of Economics and Law, focusing on customer segmentation in marketing using RFM (Recency, Frequency, Monetary) analysis combined with machine learning techniques.
- Introduction
- Project Overview
- Research Methods
- Technologies Used
- Installation
- Usage
- Contributors
- Acknowledgments
- License
In marketing and any business field related to customer service, understanding and effectively targeting customers is crucial. This project aims to segment customers into different groups based on their behavior and value using the RFM model and machine learning techniques. This segmentation helps businesses to tailor their marketing strategies more effectively.
This research combines traditional marketing segmentation methods with modern data science techniques. By applying the RFM model and K-means clustering, the project segments customers into distinct groups, providing insights for personalized marketing strategies.
The project utilizes a combination of quantitative and qualitative research methods:
- Literature Review: Reviewing existing research on customer segmentation and machine learning applications in marketing.
- Data Collection: Using sales and customer data from AdventureWorks Cycles.
- Data Analysis: Applying Exploratory Data Analysis (EDA) and data preprocessing techniques.
- Model Implementation: Using RFM analysis and K-means clustering for segmentation.
- Evaluation: Assessing the model using metrics such as the Elbow method and Silhouette score.
- Programming Language: Python
- Libraries: Pandas, NumPy, Scikit-learn, Matplotlib, Seaborn
- Tools: Jupyter Notebook
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/yourusername/customer-segmentation.git
- Navigate to the project directory:
cd customer-segmentation
- Create a virtual environment:
python3 -m venv venv
- Activate the virtual environment: On Windows:
venv\Scripts\activate
On MacOS/Linux:
source venv/bin/activate
- Install the dependencies:
pip install -r requirements.txt
- Prepare the data: Place your dataset in the
data/
directory. - Run the Jupyter Notebook:
jupyter notebook
- Open and run the notebook: Open customer_segmentation.ipynb and run the cells to see the analysis and results.
Nguyen Duy Duan, Bui Chanh Thien, Le Thi Thu Tinh, Le Huong Giang, Nguyen Thuy Tram.
We extend our sincere gratitude to our professors, PGS.TS. Ho Trung Thanh and ThS.Nguyen Văn Ho, for their guidance and support. We also thank the University of Economics and Law for providing us with the resources and knowledge to complete this project.
This project is licensed under the MIT License. See the LICENSE file for details.