Built for a subscription business that knew its monthly revenue but not its customers. We measured how long each kind of customer stays and what each one is worth over a year, then cut it by contract, channel, industry, size and onboarding until the profile that stays had an address. The build is live below on - business customers.
Every number on this page is computed from the recordsSample records · 1,460 customers · twelve months eachThe measurement is the real thing
-
Still paying after 12 months
-
Customers measured
-
Median customer, first 12 months
-
Lost to churn
Cut the customers by
Who Is Still Here: Month By Month
Share of customers still paying, month 0 to month 12. Each line is a segment. The step at month 12 is where annual agreements come up for renewal.
What They Are Worth: Revenue Per Customer, First 12 Months
Mean revenue per customer in dollars. The thin line is the 10th to 90th percentile spread inside each segment. Dashed line is the average across all customers.
Segment
Customers
Kept 12 mo
Left
Median value
Mean value
Revenue lost
The Profile: Where Staying And Paying Agree
Measured: from the records
Hypotheses: to test, not yet proven
Recommended Next Step
Draft Management Brief · built from the numbers above · edit before sending
How the numbers were measured
What It Does
Churn Is a Curve, Not a Rate
One churn percentage hides when customers leave. The curve shows the first quarter doing most of the damage, long before anyone decides whether to renew.
A Customer Is Not the Average
Cut by contract, channel and size, the same business holds customers worth three times each other. The average describes almost nobody in it.
One Cut Is Something You Control
Industry and size are who walked in the door. Onboarding is what the business did next. The cut that separates the most is the one nobody chose.
How It Was Built
Client sideWhat you already haveInvoices, the CRM, the onboarding checklist
A model that predicts how much each repeat buyer will spend over the next 6 and 12 months, built on real wholesale transaction data.
How It Works
A survival model scores the chance each customer is still active in each of the next 12 months.
A spend model scores how much an active customer spends in that month.
Multiplying the two gives an expected value for each month.
Summing the first 6 and first 12 months gives the 6-month and 12-month expected value.
Results
Holdout Customers
1,295
WAPE, 6 Months
82.8%
WAPE, 12 Months
68.8%
Survival Model ROC-AUC
0.757 to 0.811
WAPE is weighted absolute percentage error on total spend, measured on customers the model never trained on. ROC-AUC is the survival model's range across the 12 forecast months. From metrics.json in the repo below.
Score a Customer
Prefilled with a real holdout customer. Change the numbers and score again.
Customer 12352, a holdout record the model never trained on. Scores run against the live model API. Values are wholesale invoices in GBP.