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.
Marc Sanchez·
#Churn
#Data science
#Playbooks
Machine learning churn prediction uses customer behaviour, billing and support history to estimate who will cancel in a future window, so a team can act before it happens. The models that change revenue share three traits: an honest label definition, features that cannot see the future, and an evaluation that measures decisions, not AUC.
Most churn models in production fail on at least one of those three. This article is the technical companion to our customer churn prediction guide, focused on the modelling decisions rather than the operating model.
Define the label before touching a feature
The label is the decision. Three choices drive everything downstream:
1The outcome. Voluntary cancellation, payment failure, dormancy, or downgrade are different behaviours with different drivers. A model trained on all churn pooled together predicts the most common kind, which is usually involuntary, and gets deployed against voluntary saves where it is weakest.
2The window. Thirty-day windows catch panic churn and are useful for real-time intervention. Ninety-day windows catch slow disengagement and leave room to act. Running both beats compromising on sixty.
3The observation gap. Features must end before the action window begins. If you need two weeks to reach a customer, features computed up to day zero are useless; the model needs a gap between the last feature timestamp and the prediction window.
Features that carry the signal
Across subscription bases, four feature families do nearly all the work:
1Engagement decay. Not raw activity, but trend: sessions this week versus the customer's own trailing average, days since last meaningful action, breadth of features used. Individual baselines beat population averages, because a heavy user dropping 40 percent is at risk while a light user at the same absolute level is not.
2Billing events. Failed payments, plan changes, discount expirations, invoice surprises. Billing features are the strongest single predictor of near-term churn in almost every dataset we see, including for voluntary exits.
3Support friction. Ticket count matters less than recency and resolution. An unresolved ticket in the last 14 days is one of the most reliable churn precursors; a resolved one is often protective.
4Value realisation. Whether the customer ever reached the behaviour your best customers share: the second stream, the first integration, the weekly report opened. Customers who never activated a core behaviour churn at several times the base rate regardless of everything else.
Leakage: how models cheat
The test is mechanical. For every feature, ask: was this value knowable at prediction time, for a customer who had not yet shown any intent? If the honest answer is no, the feature is leaked. Teams that audit this way typically watch their offline AUC fall by several points and their deployed precision rise, because the model stops relying on information it will never have.
Why AUC is the wrong test
AUC measures ranking quality across the whole population. Churn intervention happens at the top of the list, on the few percent of customers a team can actually contact. A model can post an excellent AUC while being useless in the top decile, and a worse-AUC model can outperform it exactly where it matters.
Two better questions. First, lift in the contactable slice: how much more churn does the top five percent contain than a random five percent? Second, and more important, uplift: among contacted customers, did the intervention change the outcome? A propensity model cannot answer the second question at all, because it ranks who will churn, not whose churn is preventable. Customers certain to leave top every propensity ranking and absorb budget that should go to the persuadable middle. This is the same argument we make about next best action models: the unit of optimisation is the decision, not the score.
A 30-day instrumentation plan
1Freeze the label and the gap. Write down the outcome, the window and the observation gap. Reject any feature that violates the gap.
2Audit for leakage. Trace every feature to its timestamp. Remove anything recorded after a cancellation signal existed.
3Evaluate at the operating point. Report precision and lift in the top deciles you can actually act on, and run every intervention against a holdout so the measurement is of the decision, not the model.
Markin ships churn models with the label, gap and holdout built in, and evaluates them on incremental saves rather than offline scores. See Retention decisioning.
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.