// RESEARCH · 2026–2026
CUSTOMER SEGMENTATION & PREDICTIVE MODELLING.
K-Means segmentation plus an interpretable decision tree identifying high-value customers at 92.2% test accuracy.
// SPEC
ROLE
Segmentation and classification component
WITH
5-person team
ORG
Imperial College London
TOOLS
scikit-learn, Python, pandas
SKILLS
Feature engineering, Modelling, Clustering
// SHOWCASE
DEMO LINK — NOT SET- ▢ MEDIA SLOT 01image or video — add in the owner console
- ▢ MEDIA SLOT 02image or video — add in the owner console
§ 01
CONTEXT
A 2,240-customer dataset of demographic, purchasing and campaign data, with a question behind it: can you identify high-value customers from characteristics that are not themselves spending?
§ 02
OBJECTIVES
- 01Clean and feature-engineer a mixed demographic/behavioural dataset
- 02Segment customers by value
- 03Predict high-value membership from non-spending characteristics
- 04Keep the model interpretable
§ 03
PROCESS
After cleaning and feature engineering, we split into training, validation and test sets. I independently developed the high-value customer component: engineering TotalSpend and TotalCampaignsAccepted, standardising behavioural variables, and applying K-Means clustering to identify low-, medium- and high-value groups.
I then trained a Decision Tree on non-spending characteristics — Income, Age, Recency, deal purchases, web visits and campaign acceptance — selecting max_depth = 2 on validation performance.
§ 04
DECISIONS
◆ DECISION LOG
Interpretability over raw score. A two-level tree that a marketing team can read beats a black box they will not act on.
§ 05
CHALLENGES
▲ FAILURE / RISK
A deeper tree scored better on training and worse on validation. Constraining depth to 2 cost some headline accuracy and bought a model whose splits could actually be explained to a non-technical reader.
§ 06
OUTCOMES
● RESULT
92.2% test accuracy, 87.9% precision and 87.3% recall for high-value customer identification, with Income emerging as the dominant predictor.