Case studies  /  Commercial

Principal Component Analysis and K-Means Clustering for Customer Segmentation

Finding stable segments in 90,000 customer records with no predefined categories and heavily correlated behavioural variables.

CommercialSector
PCA and k-means clusteringMethod
Python and RSoftware
~90,000 records, 45 behavioural variablesScale
About three weeksDuration

The challenge

What the organisation came with

A commercial organisation held detailed customer data and wanted to identify meaningful groups for targeted engagement. They had no predefined categories to work from.

That absence is the defining feature of the problem. With no known outcome to predict, there is nothing to train against and no accuracy figure to optimise — the task is to find structure that is genuinely present rather than structure the method will produce regardless.

Compounding it, many of the 45 behavioural variables were highly correlated. Clustering on correlated variables effectively weights whatever the correlated block is measuring several times over, so the segments end up driven by one dominant behaviour wearing several different names.

The approach

How it was analysed, and why that method

Reducing dimensionality before clustering

Principal component analysis was run first, to compress the 45 correlated behavioural variables into a smaller set of uncorrelated components. This removes the implicit over-weighting and gives the clustering algorithm a space in which distance means something.

K-means clustering was then applied to the components. Supervised learning methods were rejected because there was no known outcome variable to predict — a supervised model requires labels that did not exist.

Any clustering algorithm will return clusters

That is not evidence the clusters are real. The work is in establishing that the segments are stable — that they persist across different numbers of clusters and different subsets of the data — and interpretable in business terms.

Making the segments usable

Segments were profiled against the original behavioural variables so each could be described in language the organisation's teams already used, and interactive visualisations were produced so the segmentation could be explored rather than merely reported. Technical documentation recorded the method, so the segmentation could be reproduced and refreshed.

Delivered

What the client received

Customer segmentation model
Interactive visualisations of the segments
Technical documentation of the method and its reproduction

The value

What changed as a result

The organisation redesigned its customer engagement strategy around the new segmentation model.

Because the segments were profiled in behavioural terms rather than left as cluster numbers, they could be adopted by teams who were never going to read the technical appendix.

About this case study

Written from the assigned statistician's own project notes. The client is not named and no identifying detail, data or figures are published. Scale and timeframe are approximate.

Send the data. Get a fixed quote.

Attach your dataset or just describe the project. A named statistician replies with a price and a deadline, usually within one working day.