A Practical Guide to Predicting Churn
By the time a customer sends a cancellation request, the decision was usually made weeks earlier. The request is the last event in the story, not the first. The earlier events are already in your data: fewer logins, a support ticket that never got a satisfying answer, a failed payment nobody followed up on.
This guide shows how to turn those signals into a churn risk score you can act on. It starts with a spreadsheet version anyone can build, then explains what a trained model adds and where each approach tends to go wrong.
Define churn before you predict it
A model can only predict what you have defined. Decide what counts as churn (a cancelled subscription, a missed renewal, or 60 days of no activity?) and over what window you want a warning, such as "will this customer leave in the next 30 days?"
Also separate voluntary churn, where the customer chooses to leave, from involuntary churn, where a failed card or expired payment method ends the account. They have different causes and different fixes, and mixing them blurs both.
The signals worth watching
| Signal | What to look for | Why it matters |
|---|---|---|
| Login activity | Fewer logins, shorter gaps turning into long ones, fewer active users per account | People stop using what they've stopped valuing |
| Support history | Rising ticket counts, slow resolutions, repeated issues | Unresolved friction builds into a reason to leave |
| Payment behavior | Failed or late payments | A common route to involuntary churn |
| Contract type | Month-to-month versus annual | Month-to-month customers can leave with very little friction |
| Tenure and onboarding | How far a new customer got in the first weeks | Worth testing on your own data; early experience often sets the pattern |
These are starting points, not a universal list. Which signals matter most differs between businesses, so check each one against your own history of who stayed and who left.
Watch the trend, not just the level
A customer who logs in twice a week may be perfectly healthy. A customer who used to log in ten times a week and now logs in twice is not. The same number means different things depending on the path that led to it.
That is why churn is often modelled as a sequence: the model reads how activity, tickets and payments changed over time rather than a single snapshot. A drop that is easy to miss in a monthly report becomes visible when the trend itself is the input.
Build a simple health score first
Before any model, a hand-built score is a useful exercise, and it teaches you what your data can and can't say.
- List customers who left in the past year, and a comparable group who stayed.
- For each signal, compare how it looked 30 to 60 days before the churners left against the stayers over the same period.
- Keep only the signals that clearly differ between the two groups.
- Give each kept signal points and set bands such as low, watch and act.
- Test the score on a past period: how many churners would it have flagged, and how many healthy customers would it have flagged by mistake?
An illustrative scoring sheet. The points and thresholds below are examples only; set yours from your own history.
| Condition | Points |
|---|---|
| Logins down by more than half versus last month | 3 |
| Two or more support tickets open for over a week | 2 |
| A failed payment in the last 30 days | 2 |
| Month-to-month contract | 1 |
A total of 0 to 2 might mean low risk, 3 to 5 worth watching, and 6 or more a call this week.
What a trained model adds
A trained model replaces hand-picked points with weights learned from data. It can capture interactions that a points sheet misses, for example that a payment delay may matter far more for a month-to-month customer than for an annual one. It can read trends over time, and it can explain each customer's score with the specific factors behind it.
What it needs in return is consistent, dated history of customers who stayed and customers who left. Where predictions go wrong is usually in the data, not the algorithm:
- Data leakage: using information that only exists after the customer decided to leave, such as a cancellation reason or a final "account closed" ticket. The model looks brilliant in testing and useless in real life.
- Imbalanced outcomes: if most customers stay, a model that predicts "nobody leaves" is highly accurate and completely useless. Judge a model by how well it finds the leavers, not by overall accuracy.
- Testing on training data: always check performance on a period the model hasn't seen.
- Stale patterns: a pricing change or a new feature can shift behavior, so recheck periodically.
Reading a risk score
Treat the score as a way to rank accounts, not as a verdict on any single customer. A sensible threshold depends on your capacity: if your team can have 20 real conversations a week, start from the 20 highest-risk accounts. Remember both kinds of error. A missed churner costs revenue, while a healthy customer flagged by mistake costs an unnecessary and possibly irritating call.
The factors behind a score matter as much as the score. "High risk" tells you to act. "High risk because usage fell sharply after two unresolved tickets" tells you what to say.
Match the action to the cause
- Usage dropping: reach out with a check-in, training, or a use case they haven't tried yet.
- Unresolved support issues: escalate and fix the problem before anything else; a discount won't repair a broken experience.
- Payment failures: send a clear, friendly prompt to update billing details and make the update easy.
- Month-to-month, otherwise healthy: consider offering an annual plan where it genuinely benefits the customer.
Measure whether it works
Where you can, keep a small group of flagged accounts that you deliberately don't contact, and compare their retention with the contacted group. Track retention by cohort over time. Avoid crediting every saved account to the model: some customers who were flagged would have stayed anyway.
Frequently asked questions
What is a good churn rate?
It depends on your industry, pricing and customer type, so there is no single right number. Define churn consistently, track it over time, and compare against your own history before comparing with others.
How much data do I need to predict churn?
You need a dated history of customers who stayed and customers who left, with enough churn examples to find patterns. A hand-built score can still help you start with less data and learn what to collect.
Is churn prediction only for SaaS companies?
No. Any business with recurring relationships can use it, including subscriptions, memberships and service contracts, as long as customer behavior is recorded over time.
Can a small team do this without a data scientist?
Yes. Start with a simple scoring sheet built from your own history. Once the signals prove useful, a purpose-built tool can take over the modelling and explain each score.
Vishal Dede
Founder, Prior Predict
Vishal Dede is the founder of Prior Predict, a Pune-based company building AI tools that predict email campaign performance and customer churn.
See this in action
Try the AI Customer Churn Predictor with your own customer data.
Try the Churn Predictor