Prédire le churn avec XGBoost et SHAP : du score à la rétention
Identifier les clients qui vont partir, c'est facile. Comprendre pourquoi ils partent, et agir avant qu'il ne soit trop tard, c'est une autre affaire. XGBoost prédit. SHAP explique. Ensemble, ils transforment le modèle en outil de rétention.
Pourquoi un modèle de churn échoue souvent en production
La plupart des modèles de churn atteignent un AUC de 0,85+ en validation. C'est une métrique rassurante pour les data scientists, mais une illusion pour les équipes CRM. Pourquoi ? Parce qu'un score de 0,83 sans explication ne dit pas quoi faire. Le responsable rétention a besoin de savoir :
- Quelles sont les trois raisons qui rendent ce client à risque ?
- Est-ce que ces raisons sont actionnables (pricing, support, usage) ou structurelles (concurrence, fin de besoin) ?
- Quel est le bon levier pour ce client précis — appel du Customer Success ? Offre commerciale ? Formation produit ?
L'architecture : XGBoost + SHAP en production
XGBoost reste notre choix par défaut pour le scoring tabulaire. Il est rapide, gère nativement les valeurs manquantes, tolère les features corrélées, et fournit un signal calibrable. Avec 80 à 120 features (usage produit, support, billing, engagement email, NPS), nous atteignons typiquement un AUC de 0,87–0,91 sur des données B2B SaaS.
SHAP (SHapley Additive exPlanations) apporte la couche d'explicabilité. Pour chaque prédiction individuelle, SHAP décompose le score en contributions feature par feature, en se basant sur la théorie des jeux de Shapley. Résultat : pour le client #7412 avec P(churn) = 0,83, on sait que :
- Son temps depuis le dernier login contribue +0,42 au score (c'est le signal n°1).
- Ses tickets support sur 90 jours contribuent +0,28.
- Son NPS bas contribue −0,22 (attention au signe : ça l'éloigne du churn ou ça le rapproche selon la direction du feature).
- Un downgrade de plan récent contribue +0,18.
- Son usage des features premium contribue −0,14 (il les utilise → il reste).
Cette décomposition est locale (par client) et peut s'agréger en vue globale (importance moyenne par feature sur toute la base).
De l'explicabilité à l'action : playbooks par segment
Le vrai travail commence après le modèle. Nous avons construit avec l'équipe CRM une matrice de décision :
Segment "Désengagement usage" (login ↓, features premium ↓)
Playbook : Customer Success contact proactif, proposition de session de formation, audit d'usage. Ne pas envoyer d'offre commerciale — elle sera perçue comme du sparadrap.
Segment "Friction support" (tickets ↑, NPS ↓)
Playbook : escalade vers un CSM senior, revue personnalisée des tickets ouverts, geste commercial si multiple tickets non résolus. Prioritaire sur les 72h.
Segment "Pricing pressure" (downgrade, tickets billing)
Playbook : proposition de plan annuel avec remise, ou passage temporaire sur un plan inférieur pour sauver la relation. Attention à ne pas créer de précédent de négociation.
Résultats mesurables
Les pièges courants de l'explicabilité SHAP
1. Corrélation n'est pas causalité
SHAP donne l'importance statistique, pas une explication causale. Si deux features sont corrélées (par exemple nombre de logins et nombre de sessions), SHAP va répartir l'importance entre les deux, ce qui dilue le signal. Solution : grouper les features corrélées ou utiliser SHAP TreeExplainer avec interactions.
2. Les biais d'encodage invisibles
Si vous encodez le plan tarifaire en "Plan_A=1, Plan_B=2, Plan_C=3", XGBoost va y voir un ordre (A<B<C) et SHAP va l'interpréter comme tel. Toujours utiliser one-hot encoding ou target encoding pour les catégorielles non-ordonnées.
3. Le piège du "survivor bias"
Si vous entraînez uniquement sur les clients actifs d'il y a 90 jours, vous excluez les churners récents — dont les signaux sont les plus précieux. La fenêtre d'observation doit inclure le futur immédiat, avec un label posé à T+90 jours.
Un modèle de churn sans action derrière, c'est juste un graphique joli pour le board. Le ROI vient de l'articulation avec le playbook CRM, pas de la 3e décimale d'AUC.
Ce qu'il faut retenir
- XGBoost + SHAP est la combinaison la plus mature pour le scoring de churn en production.
- L'AUC mesure la qualité du modèle ; la conversion en rétention effective mesure sa valeur.
- SHAP doit être pensé comme une interface CRM, pas comme un debug de modèle.
- La segmentation par type de risque permet d'appliquer le bon playbook — c'est là que se trouve le vrai ROI.
Un use case de churn à challenger ?
Audit gratuit en 30 minutes, cadrage sous 5 jours.