A custom churn prediction model gives you better accuracy but takes 3-6 months to build. Off-the-shelf tools ship in a week but generalize poorly. Which is right for you depends on three things: ARR, data volume, and engineering capacity.
The default answer: buy
For most SaaS under $5M ARR, buying wins. Three reasons:
- Time-to-value. Off-the-shelf tools ship predictions in a week. Custom models ship in 4-6 months. In those 5 extra months, you lose more customers than the model would eventually save.
- Data volume. Custom models need 200+ monthly churn events to train well. Most sub-$5M ARR SaaS does not have that data density.
- Opportunity cost. Your data engineers could be building the intervention layer (save flows, retention emails, health scores). The prediction model is the least-differentiated piece of the retention stack.
When to build
Four conditions have to be true:
- ARR above $5M (you have the resources to justify the investment)
- 200+ monthly churn events in your data (the model has enough to learn from)
- 2+ data engineers or ML engineers on staff
- Intervention systems already built (dunning, save flow, email automation). Otherwise the predictions have nowhere to go.
If any of these are false, buy. If all four are true, building starts to make sense.
What off-the-shelf tools do well
The best tools:
- Amplitude and Mixpanel have built-in churn prediction that works on top of your existing product analytics. If you already use one, turn it on before evaluating anything else.
- Vitally, Gainsight, and ChurnZero include prediction in their customer success platforms. Good if you want prediction plus workflow.
- ChurnHalt analyzes Stripe billing data specifically. Good if you want prediction focused on payment-signal-driven churn.
All of these get you 70-80% of the value a custom model would deliver, in a week instead of 6 months.
What off-the-shelf tools do badly
Three limitations:
- Generic feature engineering. They use standard signals (login frequency, feature usage, support tickets). If your product has unusual signals that predict churn (a specific integration disconnect, a support ticket type, a billing behavior), the tool will miss them.
- Limited action on the prediction. Most tools flag at-risk customers but do not automatically trigger interventions. You still have to build the "what to do about it" layer.
- Vendor lock-in on the data. Your churn predictions are inside their tool. If you switch tools, you rebuild the model.
The third option: rule-based scoring
Below the "buy" threshold (small teams, low data volume), the right move is neither build nor buy. Set up a rule-based health score with 4-6 rules:
- Usage dropped 40%+ over the last 14 days
- Last login was over 7 days ago
- Support tickets in the last 30 days
- Failed payment in the last 14 days
- NPS score under 7 in the last quarter
This catches 60-70% of churning accounts 30-60 days early. It takes 2-3 days to implement and needs zero ML. It also serves as the fallback if you later decide to build or buy.
See AI customer health scores and how to predict churn without ML for the implementation guides.
The decision matrix
| Situation | Do this |
|---|---|
| Under $500K ARR | Rule-based health score. Skip prediction models entirely. |
| $500K-$5M ARR | Buy off-the-shelf. Amplitude/Mixpanel if you already use them. ChurnHalt for Stripe-first. |
| $5M-$20M ARR, no data team | Buy off-the-shelf (Vitally or Gainsight). Hire a data engineer to layer custom features on top. |
| $5M-$20M ARR, has data team | Build custom. Use gradient boosted trees (XGBoost or LightGBM). |
| $20M+ ARR | Build custom. Off-the-shelf tools cannot capture your product-specific signals. |
Whatever you pick, act on the predictions
Predictions without interventions are useless. The tools most SaaS companies buy end up unused because nothing happens when a customer is flagged as at-risk. Build the intervention layer first, add prediction second.
See where to start fixing churn for the sequence and take the 60-second Health Check to score your current setup.