Churn Prediction: ML Model vs. Leading-Indicator System (+ Decision Framework)
You Googled "churn prediction" and landed on a Kaggle Python notebook. Or a Microsoft Fabric tutorial.
You Googled "churn prediction" and landed on a Kaggle Python notebook. Or a Microsoft Fabric tutorial.
That's useless to you. The question you're actually asking is: how do I know which customers are about to leave, and what do I do about it?
Working with SaaS teams I've seen the same pattern: the teams that act fastest on churn risk are the ones who pick the right approach for their stage. There are two answers, and this article covers both.
Key takeaways
- Most early SaaS teams should start with leading indicators before they build an ML churn model.
- Churn prediction only matters when each risk signal leads to a clear save motion.
- The best early warning signs are drops in product use, weak core feature use, billing issues, and support or sentiment problems.
- ML churn models need enough clean data, enough churn history, and a clear owner.
- High false positives waste time, waste discounts, and can hurt the customer experience.
What is churn prediction, and why does it matter?
Churn prediction is the process of finding customers who may cancel soon. A churn model or churn system looks at customer data. This can include product use, billing history, support tickets, and engagement. The system then flags customers who may be at risk.
Churn prediction is distinct from measuring your churn rate, which tells you how many customers left. Prediction tells you who is likely to leave next.
That difference matters because churn is a late signal. By the time a customer opens the cancel page, they may have already made up their mind.
A strong churn prediction system gives your team more time. You can help the customer before the issue turns into a cancellation.
There’s also a clear cost reason to care. Harvard Business Review says getting a new customer can cost 5 to 25 times more than keeping an existing one.
So every saved customer can protect revenue and lower the pressure on new sales.
There are two distinct approaches to churn prediction, covered in the next section.
2 ways to predict churn
There are 2 useful ways to predict churn:
- Build an ML churn model.
- Track leading indicators.
Both can work. The right choice depends on your stage, your data, and your team.
Option 1: ML churn prediction model
An ML churn model uses past customer data to score current customers. The model looks for patterns, then it gives each customer a risk score.
For example:
- Customer A may have a high churn risk.
- Customer B may have a low churn risk.
- Customer C may need more data before the score is useful.
Common churn model types include logistic regression, decision trees, random forests, gradient boosting, and neural networks. These are the common choices for churn models, with model choice depending on data size, features, and how easy the model needs to be to explain.
ML can work well at scale.
It can find patterns that a simple rule may miss. For example, a model may learn that customers with low feature use, low plan value, and a recent support spike are more likely to cancel.
That kind of pattern is useful. The problem is that ML needs enough clean data. It also needs someone to build, test, and update the model.
A small SaaS team may not have that yet.
Microsoft’s churn prediction docs require at least 1,000 customer profiles in the prediction window. Microsoft also recommends two to three years of subscription data when possible.
That’s a useful reality check. If your company has only 150 active accounts, you probably don’t have enough signal for a strong custom ML model.
You may train a model that looks good in a notebook. Then it may fail in real use.
That happens because the model learns noise instead of a real pattern. This is called overfitting.
Overfitting is common when the model is too complex for the data. It can make the model perform well on old data and poorly on new data.
That leads directly to the decision framework below.
Option 2: leading-indicator churn prediction
A leading-indicator system skips the ML model. Instead, you track clear signs that a customer may be drifting.
This approach is simple. It can work in a spreadsheet. It can also work inside product analytics, customer success tools, or a churn platform.
The goal is to watch for changes that happen before cancellation.
Start with these signals:
- Login frequency
- Core feature use
- Billing events
- Support and sentiment
These signals are useful because they are easy to see and easy to act on.
Churn prediction often uses behavior data, transaction history, engagement data, and customer interactions. It also shows drops in engagement, longer gaps between key actions, and payment issues as common warning signs.
That lines up with the leading-indicator approach.
Decision framework: which approach should you use?
Use your company stage to choose the first version of your churn prediction system:
| Company stage | Active accounts | Historical churn events | Recommended approach |
|---|---|---|---|
| Early-stage (Seed, Series A) | Under 200 | Under 500 | Leading-indicator system |
| Growth-stage (Series A-B) | 200-1,000 | 500-2,000 | Leading-indicator + simple cohort model |
| Scale-stage (Series B+) | 1,000+ | 2,000+ | ML model (supplement with health score) |
Two secondary criteria that override the table in specific cases:
1. Use leading indicators if you don’t have a data owner
If no one owns the model, don’t build the model yet.
ML churn models need updates. Customer behavior changes when your product, pricing, onboarding, or customer base changes.
Churn prediction should be part of a broader strategy because models can miss shifts caused by product changes, market changes, and competitor moves.
A simple signal that gets checked every week is better than a model nobody trusts.
2. Use human outreach for high-value accounts
Some accounts are too valuable for automation alone.
If one customer is worth $50,000 in annual recurring revenue, a risk signal should trigger a human response.
The model or signal tells you where to look. A customer success manager decides what to do next.
The best starting point for most SaaS teams
Most SaaS teams should start with leading indicators. This is the fastest path to action.
You can build a basic system this week:
- Export weekly login data.
- Mark accounts with falling use.
- Check core feature use.
- Watch billing problems.
- Review support spikes.
- Route each signal to the right save motion.
This works because the goal is action.
A risk score with no follow-up has no value. And a simple alert with a clear owner can save accounts.
4 churn signals to track first
Start with these 4 signals.
They cover the most common early warning signs for SaaS teams.
1. Login frequency
Login frequency is often the easiest signal to track. If customers stop logging in, they may be losing the habit of using your product.
Set the threshold based on how often a healthy customer should use the product.
For a daily-use product, no login for 7 days may be a red flag.
For a monthly reporting tool, 30 days may make more sense.
Your first threshold will be a rough guess. That’s fine.
Check the results each month or quarter. If the alert catches real churn risk, keep it. If it flags too many healthy customers, tighten it.
HubSpot used a Customer Happiness Index early on to predict churn. Dharmesh Shah said HubSpot looked at data like product usage and used the score to spot customers who might cancel before they did. He also said HubSpot preferred behavior data over asking customers what they felt, because a customer who hasn’t logged in for weeks may have a problem even if they say they’re happy.
That’s the heart of this signal. Watch what customers do.
2. Core feature adoption
A login by itself can be weak because some customers log in without getting value. Core feature use is stronger because it shows whether the customer is using the part of the product that creates value.
To find your core feature signal, compare two groups:
- Customers who stayed for at least 3 months
- Customers who churned before 60 days
From there, look for the biggest behavior gap.
Maybe retained customers create projects. Maybe they invite teammates. Maybe they connect a payment processor.
That behavior is your core feature signal.
When a new customer fails to use that feature, route them to onboarding. And when an old customer stops using that feature, route them to re-engagement.
3. Billing events
Billing events are direct warning signs.
Common billing signals include:
- failed payment
- expired card
- card left outdated after a decline
- downgrade request
- spike in billing-page visits
Failed payments can lead to involuntary churn. That means the customer leaves because payment fails, not because they chose to cancel.
Involuntary churn is churn caused by payment failures, expired cards, or processing errors. This kind of churn is often preventable with reminders or smart retries.
Recurly’s churn benchmark data shows involuntary churn at 0.86% out of 3.27% overall churn, which makes it a meaningful share of total churn in that dataset.
Treat billing problems as churn risk. A failed payment today can become a lost account later.
4. Support and sentiment signal
Support and sentiment signals are harder to track, but they can be very useful.
Look for signs like:
- More tickets from one account
- Angry replies
- Unresolved issues
- Lower NPS
- Negative survey comments
- A clear tone change in chat
A support spike can mean the customer is trying to get value and failing.
That customer may need a human. A discount may miss the real problem.
Support tickets, feedback, complaints, and negative customer feedback are all useful data for churn prediction.
This signal matters most for high-value B2B accounts.
Match each churn signal to a save motion
Churn prediction only works when the signal leads to action.
Don’t send the same offer to every at-risk customer.
Instead, match the response to the risk:
| Signal type | Prediction | Save Stack layer | Intervention |
|---|---|---|---|
| Login frequency drop (Yellow on C.H.I.) | Engagement risk, early | Layer 2 (Monitor + intervene) | Automated re-engagement email: "We noticed you haven't used [product] this week" |
| Login frequency drop (Red on C.H.I.) | Engagement risk, high | Layer 2 | Personal CSM outreach (call or direct message) |
| Core feature not used in N days, customer under 14 days old | Activation failure | Layer 1 (Get to First Value) | In-app prompt + onboarding call offer + 14-day extension |
| Core feature not used in N days, established customer | Habit break | Layer 2 | Re-engagement campaign focused on the sticky feature |
| Failed payment / billing trigger | Involuntary churn risk | Layer 5 (dunning) | Dunning sequence. Save offer at the final dunning step |
| Downgrade inquiry / billing page visit | Price-triggered churn intent | Layer 5 (exit intelligence) | Proactive pricing conversation. Annual-prepay offer |
| NPS drop / support spike | Dissatisfaction, low ROI | Layer 3 (personal touchpoint) | CSM call + usage audit |
How’d we interpret this? A new customer who hasn’t used the core feature needs help getting value. One with a failed payment needs billing recovery flow. And a user with a few angry support tickets needs human support.
The wrong intervention wastes time and can make the customer feel misunderstood.
Example: low adoption needs human help
One of our clients was a mid-market B2B SaaS that company had a low-adoption segment.
These were customers whose core feature use had dropped. So, the team gave that segment a CSM call and a usage audit.
The low-adoption segment made up 30–34% of cancels. About 54% accepted the call. Customers who took the call had a 90-day save rate of 38–46%. Non-acceptors saved at about 12%.
The save motion worked because it matched the signal.
When to upgrade to an ML churn model
A leading-indicator system can get you moving. And at some point, ML may add value.
Upgrade when the below are true.
1. You have enough clean data
ML needs enough data to find real patterns.
As a practical baseline, make sure you have at least 1,000 customer profiles in the prediction window. Microsoft uses that as a minimum for its subscription churn prediction feature. Microsoft also recommends 2 to 3 years of subscription data when possible.
For a custom churn model, you also need enough churn examples.
The exact number depends on your churn rate, data quality, model type, and how many features you use.
If churn events are rare, be careful. A small number of churned customers can make the model unstable.
2. A data owner can maintain the model
A churn model needs an owner. That person should check the data, test the model, and update it as customer behavior changes.
Without an owner, the model can drift.
When a model drifts, the scores look official but become less useful.
3. Simple rules have stopped improving
Use ML when simple rules hit their limit. For example, your leading indicators may catch obvious risk, like no login for 30 days.
ML may catch hidden patterns, like:
- Low use of Feature A
- No use of Feature B
- Recent support spike
- Lower average revenue per account
- No admin login in 14 days
That combination may predict churn better than one simple rule.
Watch out for false positives
A false positive happens when you flag a healthy customer as at risk.
They can waste CSM time. They can waste discounts. And they can teach healthy customers to expect offers.
False positives can also lead to needless use of retention resources.
This is why you should avoid blanket offers. Don’t send a discount just because one signal changed.
Check the signal. Match the action. Track the result.
FAQs
Is 20% churn high?
Yes, 20% monthly churn is a major warning sign.According to Paddle, SaaS businesses often aim for average churn between 3% and 8%,
Prevent churn
Churn.io pulls your Stripe data, segments it by cancel reason, plan tier, and cohort, and shows retention curves for every acquisition group. One integration gives you the retention and churn view without CSV exports.