data-portfolio

← Portfolio · Carnet


Prédiction de churn — Télécoms MTN Nigeria

Note sur les données. Ce snapshot Kaggle (974 lignes clients MTN Nigeria) est approximativement uniforme aléatoire sur les covariables testées — voir le carnet jumeau 08-customer-survival-mtn-tenure/README.md pour les détails. L’AUC de la logistique et le F1 du RF s’effondrent ; l’AUC XGBoost = 0,71 reflète des interactions non linéaires dans des one-hots à grande cardinalité, pas un signal interprétable substantivement. Ce carnet est une démonstration pédagogique de la classification binaire du churn — régression logistique, random forest, XGBoost, diagnostics ROC / PR / calibration, file de rétention. Pour un vrai benchmark : IBM Watson Telco Customer Churn (7 043 clients).

Question métier

Quels clients ont le plus de chance de churner au prochain trimestre, et quelles features pilotent leur risque ? Un classifieur binaire ordonne les clients par probabilité de churn pour que les campagnes de rétention ciblent le segment à plus haut risque.

(Compagnon du projet 08, qui modélise les mêmes données comme un problème de survie — mêmes données, deux angles analytiques, tous deux utiles.)

Données

Lancer python download_data.py.

Cibles d’EDA

Modélisation

Famille Modèle
Linéaire Régression logistique avec pénalité L2 (baseline interprétable)
Arbres Random Forest, Gradient Boosting (XGBoost)

Validation

Chiffres en tête (test) :

Modèle ROC-AUC PR-AUC P@50 Lift@50 P@100 Lift@100
XGBoost 0,71 0,51 0,52 1,78× 0,40 1,37×
Random Forest 0,59 0,36 0,34 1,16× 0,38 1,30×
LogReg 0,48 0,27 0,20 0,68× 0,30 1,03×

Seule la file top-50 de XGBoost porte un lift significatif (1,78× vs aléatoire). La top-50 de la LogReg est pire qu’aléatoire, signe que le scoring linéaire capte de l’anti-signal sur ces données (quasi-aléatoires). Voir la note dataset en haut pour le contexte.

Esquisse de déploiement

Résultat métier