Predictive churn is a model’s estimate, per customer, of the risk that they have stopped buying or are about to. This page covers what that estimate is computed from, the one question that decides what churn can mean, and why the definition of churn is an input somebody chooses rather than a fact the data hands over.
Predictive churn, in short. What churn can mean, and what a model has to assume, follows from whether the business can see a customer leave. Fader and Hardie call a setting contractual when customer attrition is observed by the firm, and noncontractual when the time a customer becomes inactive is unobserved, and they say the boundary cannot be crossed. Where leaving is invisible, a buy-till-you-die model treats being a customer as hidden and works from a summary of each order history; the PyMC-Marketing library computes the probability a customer is currently active and, as a separate method, the probability of no purchase in a stated future window. A classifier instead learns a label somebody defined — in one June 2026 preprint, a 30-day observation window followed by a 30-day churn evaluation window. Whether the output is a probability or a score that only orders customers depends on the system: KDD Cup 2009 entrants could submit either, and both were judged on the area under the ROC curve, where the best reported test AUC for churn, on one French telecom’s customer data, was 0.7651.
What is predictive churn?
A per-customer estimate of churn risk, and which quantity that is depends on the system. The PyMC-Marketing library computes the probability that a customer with a given history is currently active, and, as a separate method, the probability that the same customer makes no purchase in a stated future window. A supervised model predicts a churn label somebody defined over a future period: KDD Cup 2009 entrants submitted, per customer, either a discriminant value or a posterior probability. Klaviyo’s help page on predictive analytics shows a percentage it calls Churn Risk Prediction.
So the first thing to establish about a churn figure is which of those quantities it is, and whether the system states it as a probability or only as a score. All of them are different from the churn rate a business already reports, which counts customers who left over a past period — covered in What is customer churn rate?.
Why does it matter whether you can see a customer leave?
Because it decides what churn can mean and what a model has to assume. Fader and Hardie say a contractual setting is one where customer attrition is observed by the firm, so the event itself can be the target. In a noncontractual setting the time at which a customer becomes inactive is unobserved, and customers “just silently attrite” in a 2003 line they quote — so a model there either treats being a customer as hidden or works from a label somebody constructs.
Their warning is about transfer: the divide is fundamental and the boundary cannot be crossed, and applying a model developed for one setting in the other is, in their words, “completely inappropriate”.
Their own illustration is two firms. Vodafone knows for sure the time at which a contract customer formally becomes inactive, because the customer must tell it before switching provider. In a 2007 results call the CFO of Amazon described active customer accounts — meaning customers who ordered in the past year — as exceeding 76 million.
If nobody cancels, what counts as churn?
If nobody cancels, the time a customer becomes inactive is unobserved, and there are two routes on from there. A buy-till-you-die model treats that status as latent and estimates the probability the customer is still active. A classifier, or any count of churned customers, needs a label somebody defines over inactivity — and Fader and Hardie call a 12-month active-customer cut-off arbitrary: change it to nine months, they write, and the apparent size of the customer base gets smaller even though the true size is unchanged. The cut-off is a choice, not an observed event.
An August 2026 preprint describes what it calls the standard target in non-contractual churn prediction: comparing an entity’s next k months of activity with its trailing k months.
How does a buy-till-you-die model work?
By treating “still a customer” as hidden and inferring it. Fader and Hardie describe the family this way: a customer’s relationship with the firm has two phases, alive for an unobserved period of time and then permanently inactive, with purchasing while alive described by the NBD model — under which a customer buys randomly around a time-invariant mean transaction rate characterised by the Poisson distribution, and customers differ in those rates according to a gamma distribution.
The BG/NBD, which PyMC-Marketing implements for a non-contractual customer population across continuous time, is the version where the death story is that a customer can become inactive after any transaction with probability p, with dropout probabilities across customers captured by a beta distribution. Fader and Hardie say that change is what makes it much easier to implement than the Pareto/NBD.
Nobody in that story announces their departure. What the model has instead is the order history.
What data does a buy-till-you-die model need?
An order log, summarised to one row per customer. Fader and Hardie say the summary these models work from is (x, tx, T) — the number of transactions observed in the interval up to T, and the time of the last one — and that this makes the data requirements for implementation relatively simple. PyMC-Marketing’s BetaGeoModel takes an analogous per-customer summary: frequency, the number of repeat purchases; recency, the time between the first and the last purchase; and T, the time between the first purchase and the end of the observation period.
Those three are the required summary rather than the ceiling: the same implementation’s configuration also accepts optional covariate columns for customer purchase rates and for customer dropouts. What the base model reads is that summary, and anything else — product categories, email engagement, support history — enters only if it is supplied as a covariate.
What is a “probability alive”?
The model’s answer to a question the data cannot settle. Fader and Hardie report that Schmittlein,
Morrison and Colombo derived, in 1987, an expression for the probability that an individual whose
observed behaviour is (x, tx, T) is still alive at time T, along with a second expression for that
individual’s expected number of transactions in a future period. PyMC-Marketing’s
expected_probability_alive method is documented as computing the probability that a customer with
history frequency, recency and T is currently active.
So the number is a statement about now, not about next month: given how often this customer used to buy and how long the current gap has run, how likely is it that they have already stopped.
Is “still active” the same as “will buy again soon”?
No — PyMC-Marketing keeps the two apart as separate methods. Alongside the probability that a
customer is currently active, it documents expected_probability_no_purchase(t), which computes
the probability that a customer with history frequency, recency and T will have 0 purchases in the
period from T to T+t.
Those are two questions, not one, which is why the library computes them separately. The first asks whether the relationship has already ended; the second asks about a specific stretch of time, from T to T+t, and has no answer until t is stated. A high no-purchase probability over that window is not by itself a statement that a customer has gone, and choosing or testing what to do about either is outside this page’s evidence — What is a win-back email? covers the message itself.
How does a churn classifier work instead?
By turning each customer record into features and fitting a model on records whose later outcome is labelled. The KDD Cup 2009 paper describes a score as the output of a model, computed using customer records represented by a number of variables or features; its label was a binary churn target on one telecom’s customer data, and entrants were judged on the area under the ROC curve. Where leaving is not observed, somebody constructs the label from later inactivity: in one June 2026 preprint, a fixed 30-day observation window followed by a 30-day future churn evaluation window.
Fader and Hardie say the managerial question in a contractual setting is typically which customers have the greatest risk of churning next period. The competition’s target was a forward-looking score of the same shape, but read on 18 September 2026 the paper gives no operational definition of it — no window, and no rule for when a customer counted as churned. That June 2026 preprint describes non-contractual, pay-per-use service environments as ones where disengagement is not explicitly observed and must be inferred from behavioural inactivity, and its authors say the two windows keep behavioural evidence apart from churn outcomes in time. From one large-scale real-world dataset from a non-contractual service platform, they conclude that carefully designed temporal framing, rather than model complexity alone, is critical for robust, interpretable and deployment-ready churn prediction.
Can the churn label create false alarms?
It can, and one August 2026 preprint measures how many. Because the next k months and the trailing k months cover different calendar months, the authors write, the comparison confounds seasonality with decline for seasonal entities, and the event rate depends on which calendar month the label is anchored to. Of the decay events that label flagged, 37–69% on three public panels and 28–50% on their production business-to-business marketplace panel had no counterpart under a seasonally aligned definition.
In the deployed system the authors describe, that arithmetic had a cost in attention: one action-list slot in three went to flags that dissolve under the aligned label, and every flagged account consumes intervention capacity. The finding is from a preprint, and the panels are a B2B marketplace and three public datasets rather than a store.
What does changing the label change?
In the August 2026 preprint on seasonal false alarms, the classifier was held fixed and only the baseline moved — aligned to the same k calendar months one year earlier. Production holdout ROC-AUC for decline rose from 0.767 to 0.864 and the served action list shrank from 119 to 79 accounts. The authors note the two AUC figures are measured against different targets, and state the price of the correction: extra history, a blind spot to decline-then-stabilization, and a stricter cut under sustained growth.
In plain terms, the comparison needs a year more data to compare against, and a customer who dropped and then held steady at the lower level stops registering as a decline.
How good do churn models get?
There is no portable benchmark here, only one with a stated sample and method. In the KDD Cup 2009, on marketing databases from the French telecom company Orange, the best performance the organisers report by the end of the challenge was a test AUC of 0.7651 on churn, against 0.8853 for appetency and 0.9092 for up-selling. The paper reports 7,865 valid entries from 453 teams across the competition; 0.7651 is the best churn-task AUC in its task-by-task comparison over time, and the paper does not state how many distinct churn models that covers, or how its churn target was defined.
The sample behind it: 100,000 customer instances split randomly into equally sized training and test sets of 50,000, with 15,000 input variables in the large version and about 60% missing values, over a challenge that ran from 10 March to 11 May 2009 and drew teams from 46 countries. Entrants saw feedback on 10% of the test set and could submit repeatedly, capped at five submissions a day, with only the last entry counting for the ranking. The organisers report one exception on the feedback itself: teams that matched features across the small and large datasets could get feedback on 20% in the slow track.
Repeated submissions are a reason to read any competition’s best result carefully: on the challenge’s artificial toy target, whose expected AUC is approximately 0.7206, participants reached 0.7263, which the organisers say shows the best test performance overestimating both the expected AUC and the optimal decision rule, increasingly with the number of submissions. For the real tasks they report the opposite reassurance: across the 36 days the correlation between the feedback set and the full test set was 0.9860 ± 0.001 on churn, which they say indicates competitors did not overfit the feedback set.
The organisers call churn the most difficult of the three tasks, noting that its day-one best of 0.7467 only reached 0.7651 by the end. On the large version, Orange’s own in-house classifier scored a test AUC of 0.7435 on churn and a basic naive Bayes classifier scored 0.6468. What carries over is the shape: on the same customers, with the same 15,000 variables available, the churn target scored lowest of the three.
Why can accuracy be misleading?
Because on an imbalanced target it rewards an all-clear. In the KDD Cup 2009 training set, the churn target was positive for 7.3% of the 50,000 instances — 3,672 customers. A model that predicted no churn for every one of them would have been right 92.7% of the time — 50,000 − 3,672 = 46,328 correct, and 46,328 ÷ 50,000 = 0.92656 — while identifying nobody.
The challenge used the area under the ROC curve instead, which scores how the customers are ordered. That is not the same as whether a displayed probability is right: scikit-learn’s guide says calibration generally should not affect ranking metrics such as ROC-AUC, except that isotonic calibration can alter them by introducing tied probabilities. And neither metric says anything about whether contacting those customers improves retention.
Does churn risk really fall the longer someone stays?
Not necessarily at the level of the individual customer. Fader and Hardie say that for any given cohort we almost always observe increasing retention rates over time, and then point out what that pattern does not prove: in the sBG model the aggregate retention rate rises over time even though each individual customer’s retention probability is constant — a sorting effect in a heterogeneous population, where the customers most likely to leave go first.
Their illustration of the pattern is Fielding’s 2005 figures for regional magazines: generally 30% of subscribers renew at the end of their original subscription, 50% at second-time renewals, and 75% for longtime readers. On the sBG reading, a cohort can produce a curve like that with nobody in it having changed.
What does an email platform’s churn risk tell you?
What it discloses, and no more. Klaviyo’s help page defines Churn Risk Prediction as the probability of a customer churning based on their number and frequency of orders, falling each time the customer places an order and rising as time elapses between orders. Read in full on 18 September 2026, that page states no time window over which the probability is defined and names no model type for it.
The same page, last updated in August 2025, says predictions work best when averaged over many customers and are not expected to be exact for any single individual, and it does define Predicted CLV as a prediction of how much money a particular customer will spend in the next year. The predictive section appears only above a data gate: at least 500 customers with an order that was not cancelled, refunded or zero-value, orders arriving through an ecommerce integration or the API, at least 180 days of order history with orders in the last 30 days, and some customers with 3 or more orders.
How do you check a churn score before you act on it?
Four questions: what the number is — active now, no purchase in a stated window, or a score for a defined label; what the churn definition says in words, since a cut-off is a choice; whether behaviour and outcome are separated in time, as the June 2026 preprint’s two 30-day windows are; and whether the output is a probability or only a score. On customers it was not fitted on, the sources support two checks: the area under the ROC curve for ranking, and calibration if the output is a probability. Neither sets a contact threshold or shows that contacting anyone improves retention.
The last question decides what a check can tell you. KDD Cup 2009 entrants could submit either kind, and both were judged on one thing: the area under the ROC curve, which the organisers define as the area under the curve plotting sensitivity against 1 - specificity as the threshold is varied. That scores the ordering. What it rules out is judging by accuracy alone, which would have rated a “nobody churns” model at 92.7% on that training set.
If the number is offered as a probability, there is a second check. scikit-learn’s user guide describes a well calibrated classifier as one where, among the samples given a predicted probability close to 0.8, approximately 80% actually belong to the positive class, and its calibration curve tests that by binning predictions so each bin’s average predicted probability can be compared with the fraction of positives in it. It is a different question from ordering: the same guide says calibration generally should not affect ranking metrics such as ROC-AUC, except that isotonic calibration can alter them by introducing tied probabilities. Run either check on customers the model has not been fitted on — the guide’s own reason for fitting a calibrator on independent data is that a classifier does better on its training data than on novel data.
Two last things. If the customers are seasonal, compare the flagged list with one built against the same calendar months a year earlier — the comparison that shrank one production action list by a third, from 119 accounts to 79, in the August 2026 preprint, whose authors point out that every flagged account consumes intervention capacity. And none of this checks the offer: no source on this page measures whether contacting a high-risk customer retains them.
Where does this stop applying?
Everything here is bounded by where its evidence comes from: a 2009 telecom competition, two unreviewed preprints from settings that are not stores, a review article about probability models, one platform’s help page, and no measurement at all of what an intervention achieves.
- The KDD Cup 2009 figures. Scored on a fixed test set of 50,000 instances, and the paper does not state the operational definition of its churn target. They describe how that target behaved for those entrants.
- The two preprints. Neither is peer-reviewed. The mechanism each describes — labels and windows — travels; the percentages belong to their own panels, three public datasets and one production panel with account managers.
- The review article’s scope. Fader and Hardie’s paper covers probability models for customer-base analysis, so this page ranks neither model family above the other.
- The platform figure. With no model named and no window stated, nothing here says what that churn risk computes or over what period. Below the data gate there is no prediction to read.
- Whether acting on it works. The August 2026 preprint measures the size and composition of an action list, which is not the same as what the intervention achieved.
Sources
- PyMC-Marketing documentation — BetaGeoModel (stable documentation) · 18 Sept 2026
- Klaviyo Help Center — Understanding Klaviyo's predictive analytics · Aug 2025
- Fader & Hardie, "Probability Models for Customer-Base Analysis," Journal of Interactive Marketing, 2009 (Wharton-hosted PDF)
- Islam & Mohammed, "Seasonal false alarms in customer churn and decline early-warning systems," arXiv preprint 2608.18174 · 17 Aug 2026
- Guyon, Lemaire, Boullé, Dror & Vogel, "Analysis of the KDD Cup 2009: Fast Scoring on a Large Orange Customer Database," JMLR Workshop and Conference Proceedings 7, 2009
- Mufti, Hammad, Saleh & Gull, "A Rolling-Window Framework for Churn Prediction and Behavioral Driver Identification," arXiv preprint 2606.06776 · 4 Jun 2026
- scikit-learn user guide — 1.16. Probability calibration (version 1.9.1, stable) · 18 Sept 2026