Customer Data engAnalyticsMLAgentic telecomB2B SaaS Retention +6pp in treated cohort

Churn intervention loop

4 people · 6 months Data engineer · ML engineer · Analytics engineer · Me — architecture and delivery
the engagement client data — not shown
heard
"We have a churn score. Nobody does anything with it."
real problem

The existing model predicted churn accurately and was useless: it ranked customers by risk, not by how much an intervention would change their behaviour. Retention spend went to people who were leaving regardless.

system built

An uplift model over the same features, a treatment assignment service with a permanent holdout, and an orchestration loop that picks the intervention, respects contact fatigue rules, and measures the treated-versus-holdout gap weekly.

what broke

Marketing wanted to override the holdout for a quarterly push. We kept the holdout and made its cost explicit on the dashboard instead of arguing about it.

the open rebuild same architecture · public data
dataset

Telco Customer Churn (IBM) + Hillstrom e-mail uplift trial

what the rebuild covers

Two notebooks: why a risk model misdirects spend, and the same data modelled for uplift. The assignment service is in the repo with the holdout logic intact.

artifacts
NotebookCodeDatasetWrite-upDemo
Open the code Open notebook