Subscription · EU

Churn prediction that saved millions in revenue

A European subscription business was losing customers without warning. The brief: predict who is about to leave, explain why, and target retention spend where it actually pays back.

Data: 1.8M customers · 24 months Stack: Python · XGBoost · SHAP · dbt Timeline: 4 weeks
churn_model · BI
updated today
Monthly churn
−34%
after retention plays
Model accuracy
0.91
AUC
Revenue retained
€2.4M
annualized
Campaign ROI
5.8×
on retention spend

Churn risk by customer segment

average probability of leaving

Customer base by segment

share of all customers

◆ Findings
  • Two segments — at-risk and dormant — carried almost all of the churn.
  • The biggest warning sign was a drop in usage, weeks before anyone cancelled.
  • Retention budget was sprayed evenly instead of where it could change the outcome.
✓ What we did
  • Scored every customer weekly with a clear, explainable risk reason.
  • Triggered targeted retention offers only for high-risk, high-value accounts.
  • Gave the team a dashboard to watch risk move and measure each campaign.

Have a project like this?

Tell us what you are building. We reply within one business day with a clear plan and a fixed quote.

Start your project