Skip to content

Applied ML and Data Science · Jan 2026

Telecom Churn Prediction

ROC-AUC 0.84 at 65% precision on the churn class

Source

The problem

A churn model tuned for accuracy tells a retention team nothing actionable.

Approach

Feature engineering on usage and contract data, evaluated with precision, recall and ROC-AUC optimised for retention strategy rather than headline accuracy. Interactive Streamlit interface returns churn risk with interpretable driver explanations.

How it works

Key decisions

Optimise for the retention decision
Retention budgets are finite, so the cost of a false positive and a false negative are not equal. The threshold is set against that trade-off rather than against accuracy.
Return the driver, not just the score
A retention team can act on 'contract type and support calls' in a way it cannot act on '0.78'.

What the measurements showed

Running it

streamlit run app.py

Full setup, configuration and API reference are in the repository README.

Stack