Customer Clustering for Bank Marketing

Customer Clustering for Bank Marketing

Overview

This is a personal data science project inspired by the paper A data-driven approach to predict the success of bank telemarketing.

The goal was to explore whether adding unsupervised customer segmentation (via clustering) could improve marketing success prediction, especially in terms of model performance.

Dataset

Source: UCI Bank Marketing Dataset

- 45,211 rows and 17 features describing client and campaign-related information

- Target variable: y (whether the client subscribed to a term deposit)

Approach

Feature Engineering

Class Imbalance: Handled using SMOTE

Missing Values: Filled using SimpleImputer

Numerical Features:

- Log transformation, Standardization, and Binning

Categorical Features:

- Binary encoding, Ordinal encoding, and Target encoding for job, poutcomes

Clustering

- Create a cluster feature through PCA and K-Means

Model Evaluation

Trained and evaluated three models on two datasets (with and without cluster feature):

- Logistic Regression

- XGBoost (XGBClassifier)

- LightGBM (LGBMClassifier)

Used K-Fold Cross Validation for performance estimation

Results

- Cluster features slightly improved XGBoost and Logistic Regression performance.

- LightGBM did not benefit and even slightly declined.

Implications

- Clustering can improve non-linear model performance by capturing latent customer group behaviors.

- Gains are minimal for linear models like logistic regression.

- Combining unsupervised clustering with supervised learning is a promising approach in marketing and customer segmentation.


Create a free website with Framer, the website builder loved by startups, designers and agencies.