AccueilArticles › Scoring de churn SHAP
XGBoost SHAP Classification CRM

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.

Classification — CRM Lecture : 7 min Publié en mars 2026

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 :

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 :

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

0,89
AUC-ROC sur validation temporelle
×2,3
Taux de rétention sur le top-10% de risque
−34%
Churn net sur les clients "actionnables"
<100ms
Latence de scoring + SHAP par client

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

Un use case de churn à challenger ?
Audit gratuit en 30 minutes, cadrage sous 5 jours.

Parler à Syralis →