Churn used to be a quarterly autopsy. We turned it into a daily forecast, scoring every account before it walks, and acting while there's still time.
Retention ran on hindsight. By the time a cancellation hit the dashboard, the account was already gone, and the team was guessing which of the survivors to worry about next.
We needed to move the signal upstream: identify at-risk accounts weeks early, explain *why* they were at risk, and put that in front of the people who could act.
We built a nightly pipeline on Airflow that consolidates billing, usage, and support data into a versioned feature store, then scores every active account with a gradient-boosted model tuned for a 30-day churn horizon.
Crucially, each score ships with SHAP-based reason codes, so a CSM doesn't just see "high risk", they see usage decay and three open tickets, and the system routes the right retention playbook automatically.
| Dimension | Before | After |
|---|---|---|
| Churn detection | Reactive, post-cancellation | Predicted 30 days ahead |
| Cadence | Quarterly manual reports | Nightly automated scoring |
| Targeting | One-size retention blasts | Per-account risk + reason codes |
| Coverage | Top accounts only | 100% of active base |
| Outcome | Lagging metric | -34% churn, $320K saved |
Every active account gets a fresh 0, 1 churn probability every night.
SHAP reason codes tell teams which signals are driving each account's risk.
High-risk accounts auto-route into CRM playbooks without manual triage.
120+ features are reproducibly computed and snapshotted for audit and retraining.
Retention outcomes feed back to retrain the model and counter drift.
Low/medium/high segmentation keeps outreach focused on accounts that matter.
“We stopped reporting on churn and started preventing it, 30 days before it happened.”
In two quarters the platform shifted retention from a lagging report to a proactive operating system. With 87% prediction accuracy across the full active base, the team now intervenes 30 days ahead of cancellation, armed with the exact reasons each account is at risk. The result: a 34% drop in voluntary churn and $320K in ARR recovered annually, running on a self-retraining Airflow and scikit-learn pipeline that gets sharper every week without manual upkeep.