The Markin ROI Report for Enterprise Growth TeamsRead now
MARKIN
Field notes
Playbooks10 min read

Machine learning churn prediction: labels, leakage and the wrong test

Most production churn models fail on label definition, feature leakage, or an evaluation that rewards AUC instead of decisions. The three fixes, in order.

Romà Llambés
  • #Churn
  • #Data science
  • #Playbooks
Machine learning churn prediction: labels, leakage and the wrong test

Frequently asked

Questions readers ask about this.

Which algorithm is best for churn prediction?
Gradient-boosted trees are the practical default for tabular subscription data and are rarely the bottleneck. Label definition, leakage control and evaluation drive far more of the deployed performance than the choice of algorithm.
What features predict churn best?
Four families do most of the work: engagement decay measured against the customer's own baseline, billing events such as failed payments and discount expirations, unresolved support friction in the last 14 days, and whether the customer ever reached the core value behaviour.
What is data leakage in a churn model?
Leakage is any feature that was not knowable at prediction time for a customer who had not yet shown intent, such as save-desk contacts, cancellation-page views or engagement windows overlapping the prediction window. It inflates offline metrics and collapses on deployment.
Why is AUC a bad metric for churn models?
AUC scores ranking quality across the whole base, but intervention only reaches the top few percent of customers. A model can post a strong AUC and still rank poorly in the contactable slice. Report precision and lift at the operating point, and measure uplift against a holdout.
What is uplift modelling for churn?
Uplift models rank customers by how much an intervention changes their outcome, rather than by how likely they are to churn. This matters because customers certain to leave top every propensity list and absorb budget that should go to the persuadable middle.

See it in the product

This runs in Markin today.

The same loops this note describes run 24/7 against your customer base. Watch the workspace decide, experiment and execute 1:1.