Unsupervised machine learning project for segmenting pension contributors to improve customer retention in Nigeria.
# pension-contributor-segmentation-ml
Unsupervised machine learning project for segmenting pension contributors to improve customer retention in Nigeria.
## Objectives
- Segment pension contributors into meaningful groups
- Identify behavioural patterns in contributors
- Improve retention strategies for pension administrators
- Apply unsupervised machine learning techniques for data analysis
- ## Technologies Used
- Python
- Pandas & NumPy
- Scikit-learn
- Matplotlib & Seaborn
- Jupyter Notebook
- ## Machine Learning Techniques
- K-Means Clustering
- Hierarchical Clustering
- DBSCAN
- Feature Engineering
- Data Normalization (StandardScaler)
- ## Dataset
The dataset used in this project is a publicly available customer churn dataset from Kaggle, adapted to represent pension contributor behaviour.
Features include:
- Age
- Income
- Account Balance
- Tenure
- Activity Level
- ## Installation
### 1. Clone the repository
git clone
github.com
### 2. Move into directory
cd pension-contributor-segmentation-ml
### 3. Install dependencies
pip install -r requirements.txt
## How to Run
1. Open Jupyter Notebook
2. Run notebooks in this order:
- 01_data_exploration.ipynb
- 02_preprocessing_feature_engineering.ipynb
- 03_kmeans_clustering.ipynb
- 04_hierarchical_clustering.ipynb
- 05_dbscan_clustering.ipynb
- 06_model_evaluation_comparison.ipynb
- ## Results
The clustering models successfully identified distinct contributor groups based on behaviour and financial attributes. K-Means provided the most stable clusters, while DBSCAN detected outliers representing inactive contributors.
## Project Structure
data/
notebooks/
src/
models/
outputs/
reports/
README.md
requirements.txt
main.py
## Future Work
- Integration with real pension contributor datasets
- Deployment as a dashboard
- Hybrid clustering with deep learning
- Integration with churn prediction models
- ## Author
Developed by: Muhammed Kabiru Okino
Departme …