← All projects

Clarke Power · 2019

Customer Stratification Model

Turning 'all customers matter equally' into 'these customers matter most'.

SQLModelingGo-to-MarketDecision Science
Try the live demo →

The Problem

Clarke Power's commercial team had no systematic way to prioritize accounts. All customers received similar sales attention and service investment regardless of revenue potential, growth trajectory, or churn risk. The business had three years of transaction and service data sitting in the ERP — but no framework for translating it into commercial priority. The result was predictable: too much energy on low-yield accounts, and underinvestment in high-value relationships quietly showing signs of disengagement.

Reflection

The segmentation model itself was straightforward. The real work was feature engineering — cleaning three years of inconsistent ERP data, reconciling account IDs across two systems, handling multi-location companies that appeared as separate records. The model is only as good as the features. Data quality is always the moat.

Approach

01

RFM first, then layer in service risk

I started with a classic RFM base — Recency, Frequency, Monetary value — using three years of invoice data. Then I added service-side features: maintenance contract frequency, renewal history, and geographic concentration of fleet. The richer feature set separated customers who were high-spend but high-risk from those who were stable and growing. Basic RFM alone would have misclassified several of the most strategically important accounts.

02

Let the clusters emerge, then name them

K-means clustering across four normalized dimensions produced natural groupings that didn't require pre-specification. I ran silhouette analysis across k=2 through k=6 and found k=4 as the clear inflection point — adding a fifth cluster produced a segment too small to act on commercially. The resulting four segments — Champions, At-Risk Loyalists, Promising, and Inactive — had interpretable centroid profiles that the sales team recognized immediately from their own account knowledge.

03

Make it operational, not academic

The model output was a single CSV: account name, segment, confidence score, and recommended next action. It was imported directly into the CRM. I wrote a one-page playbook for each segment — specific talking points, offer structures, and escalation thresholds. The commercial team didn't need to understand clustering mathematics. They needed the signal and the script. Adoption was immediate because the output format matched how they already worked.

Architecture

CRM + ERP3yr transaction data
Feature EngineeringRFM + service risk
K-Means Clusteringk=4 · normalized
Segment Labels4 cohorts
Commercial ActionCRM playbooks

Customer data → engineered features → unsupervised clustering → interpretable segments → CRM-ready playbooks.

Impact

Top 20%
Of accounts driving 65%+ of revenue
4
Actionable segments with commercial playbooks
k=4
Optimal cluster count by silhouette score
← Back to projectsExplore experience →