Trouver ce qui prédit le churn avec vos propres données clients
Quels attributs et événements collecter, comment analyser cohortes et risque relatif, et comment éviter les faux positifs et les chiffres inventés par l’IA.
Toute activité par abonnement a une théorie sur les raisons du départ de ses clients. « Les clients venus des pubs payantes churnent plus. » « Les équipes qui n’invitent pas un deuxième utilisateur ne restent jamais. » Certaines de ces théories sont justes. Beaucoup ne le sont pas, et la seule façon de le savoir est de les confronter à vos propres données.
Ce guide explique quoi collecter, comment comparer des groupes avec l’analyse de cohortes et le risque relatif, comment éviter les pièges statistiques qui font passer du bruit aléatoire pour une découverte, et comment utiliser l’IA pour expliquer les résultats sans la laisser inventer des chiffres.
Étape 1 : décider ce que « churn » veut dire
Avant toute analyse, écrivez une définition. Par exemple :
- Churné : abonnement résilié ou terminé impayé, et non réactivé dans les 30 jours.
- Fenêtre d’observation : les 90 premiers jours du client, ou une période calendaire.
- Qui compte : les clients payants seulement, ou aussi les essais (analysez-les à part ; la conversion des essais est une autre question).
Séparez le churn volontaire (le client a résilié) du churn involontaire (un paiement a échoué et n’a jamais été récupéré). Ils ont des causes différentes. Une carte prépayée et un utilisateur déçu ne sont pas le même problème. Notre article sur le churn involontaire couvre le versant paiement.
Étape 2 : collecter les bons attributs et événements
Il vous faut des données qui existaient avant le départ du client et sur lesquelles vous pouviez agir. Un bon point de départ :
| Champ | Type | Exemples de valeurs | Pourquoi c’est important |
|---|---|---|---|
signup_date |
Attribut | 2026-06-12 | Cohortes ; saisonnalité |
signup_source |
Attribut | google_ads, facebook_ads, organic, referral |
La qualité du canal, pas seulement le volume |
plan |
Attribut | starter, team |
L’adéquation entre offre et besoin |
seats |
Attribut | 1, 5, 20 | Les comptes à un seul siège se comportent souvent autrement |
company_size / country / industry |
Attribut | 11-50, DE, agency |
L’adéquation au segment |
trial_length_days |
Attribut | 7, 14 | Savoir si des essais plus longs aident |
coupon_at_signup |
Attribut | LAUNCH50, aucun |
Les clients acquis par une remise |
payment_method |
Attribut | card_credit, card_prepaid, sepa, link |
Le risque de churn involontaire |
activated_at |
Événement / date | 2026-06-14 | Ont-ils atteint le premier moment de valeur ? |
last_active_at |
Attribut | 2026-09-30 | La récence d’usage |
key_feature_used |
Nombre d’événements | reports_created: 4 |
La profondeur d’usage |
support_tickets |
Nombre | 0, 3 | La friction |
nps_score |
Attribut | de 0 à 10 | La satisfaction déclarée |
Quelques remarques pour bien faire :
- Définissez l’activation concrètement. « A créé un premier projet et invité un collègue dans les 7 jours » se mesure. « A trouvé de la valeur », non.
- Enregistrez les valeurs à un moment donné. Si vous comparez le
last_active_atdes clients partis à celui des clients actifs, le groupe parti paraîtra inactif parce qu’il est parti. Cela ne vous apprend rien. Utilisez un point fixe, comme l’activité des 14 premiers jours. - Gardez des catégories larges. Vingt sources d’inscription avec trois clients chacune ne s’analysent pas. Regroupez-les (recherche payante, réseaux sociaux payants, organique, parrainage, autre).
- Les données de moyen de paiement viennent de Stripe. Les objets carte de Stripe ont un champ
funding(credit, debit, prepaid ou unknown) (référence API Stripe), que vous pouvez utiliser sans manipuler de numéros de carte. - Pensez à la vie privée. Collectez ce dont vous avez besoin, documentez pourquoi, et respectez votre politique de confidentialité et la loi locale.
Étape 3 : construire des cohortes et comparer les taux de churn
L’analyse utile la plus simple compare les taux de churn de groupes qui diffèrent sur un seul attribut.
Prenez tous ceux qui se sont inscrits sur une période assez longue pour que le churn apparaisse (par exemple, inscrits au T1, observés pendant 90 jours). Pour chaque valeur d’un attribut, comptez les clients et les clients partis.
Exemple illustratif (données fictives) :
| Source d’inscription | Clients | Partis en 90 jours | Taux de churn |
|---|---|---|---|
| Organique | 400 | 60 | 15 % |
| Réseaux sociaux payants | 200 | 50 | 25 % |
| Parrainage | 100 | 10 | 10 % |
Le risque relatif
Le risque relatif (RR) compare le taux de churn de chaque groupe à une référence. Avec l’organique comme référence :
- Réseaux sociaux payants : 25 % / 15 % = RR 1,67. Les clients venus des réseaux sociaux payants sont partis environ 1,7 fois plus souvent.
- Parrainage : 10 % / 15 % = RR 0,67. Les clients parrainés sont partis environ un tiers de moins.
Le risque relatif est facile à expliquer à n’importe qui dans l’entreprise, c’est son principal avantage sur des modèles plus complexes. Voir risque relatif pour la définition formelle.
Étape 4 : vérifier que la différence est réelle
Une différence dans un tableau n’est pas automatiquement une découverte. Avec de petits groupes, le hasard seul produit de grands écarts.
La taille d’échantillon
Regardez les effectifs, pas seulement les pourcentages. Si les réseaux sociaux payants avaient 20 clients dont 5 partis, leur taux de 25 % pourrait facilement devenir 10 % ou 45 % avec un mois d’inscriptions de plus. Une règle pratique : méfiez-vous de tout groupe de moins de quelques dizaines de clients ou de moins d’une dizaine de départs, et dites-le dans le rapport.
Les intervalles de confiance
Donnez une fourchette, pas seulement un chiffre. Un intervalle de confiance à 95 % pour un risque relatif indique la plage de valeurs compatibles avec vos données. Avec le tableau illustratif ci-dessus, l’intervalle pour les réseaux sociaux payants va d’environ 1,2 à 2,3 : le risque plus élevé est donc assez net. S’il allait de 0,8 à 3,4, vous ne sauriez pas si les réseaux sociaux payants sont pires ou non. La méthode standard utilise le logarithme du risque relatif ; la plupart des bibliothèques de statistiques le calculent pour vous.
Une version rapide en Python, pour une comparaison :
import math
def relative_risk(a_churn, a_total, b_churn, b_total, z=1.96):
rr = (a_churn / a_total) / (b_churn / b_total)
se = math.sqrt(1/a_churn - 1/a_total + 1/b_churn - 1/b_total)
low = math.exp(math.log(rr) - z * se)
high = math.exp(math.log(rr) + z * se)
return rr, low, high
# Paid social vs organic, illustrative numbers from the table above
print(relative_risk(50, 200, 60, 400)) # about (1.67, 1.19, 2.33)
Les comparaisons multiples
C’est le piège dans lequel tombent la plupart des dashboards. Si vous testez 40 attributs à un seuil de 5 %, attendez-vous à ce qu’environ 2 paraissent « significatifs » par pur hasard, même si aucun ne compte. Plus vous découpez, plus vous obtenez de fausses découvertes.
Comment s’en prémunir :
- Fixez d’abord une courte liste d’hypothèses, et traitez tout le reste comme de l’exploration.
- Ajustez selon le nombre de tests. La correction de Bonferroni (divisez votre seuil de significativité par le nombre de tests) est simple et stricte. La procédure de Benjamini-Hochberg contrôle le taux de fausses découvertes et est moins conservatrice.
- Confirmez sur de nouvelles données. Trouvez un schéma sur les inscrits du T1, puis vérifiez s’il tient pour le T2. Une découverte qui se reproduit mérite qu’on agisse.
Étape 5 : corrélation, pas causalité
Même un risque relatif solide et reproduit vous dit qu’un attribut va de pair avec le churn. Il ne vous dit pas que l’attribut cause le churn.
Les façons courantes de se tromper :
- Les facteurs de confusion. Les clients venus des réseaux sociaux payants churnent peut-être plus parce que ce sont surtout des freelances seuls, et que les freelances seuls churnent plus quel que soit le canal. Vérifiez la relation à l’intérieur des segments (réseaux sociaux payants contre organique, parmi les comptes à un seul siège uniquement).
- La causalité inverse. Les clients qui ouvrent beaucoup de tickets de support churnent peut-être plus, ou bien les clients qui n’arrivent déjà pas à tirer de la valeur ouvrent plus de tickets.
- La sélection. Les clients qui ont choisi l’offre annuelle sont déjà plus engagés. La facturation annuelle ne cause peut-être pas la rétention ; ce sont peut-être les clients engagés qui choisissent la facturation annuelle.
Le moyen d’établir une cause, c’est l’expérience : changer une chose pour un groupe tiré au hasard et comparer. Par exemple, si l’activation semble prédire la rétention, testez un changement d’onboarding qui augmente l’activation pour une moitié aléatoire des nouveaux inscrits, et voyez si la rétention suit. Notre guide sur le test des offres de rétention applique la même logique de groupe témoin aux offres du parcours d’annulation.
Étape 6 : transformer les découvertes en actions
| Découverte (exemple) | Action possible | Comment vérifier |
|---|---|---|
| Les inscrits venus des réseaux sociaux payants churnent plus | Changer le ciblage ou la landing page ; comparer les cohortes | La cohorte réseaux sociaux payants du trimestre suivant |
| Les comptes à un seul siège churnent plus | Inciter à inviter un collègue pendant l’onboarding | Test A/B de l’incitation |
| Les non-activés au jour 7 churnent plus | Relances aux jours 3 et 5, aide à la mise en place | Test A/B des relances |
| Les cartes prépayées échouent plus aux renouvellements | Demander un moyen de paiement de secours, rappels plus tôt | Comparer le taux d’échec des renouvellements |
| Un NPS bas précède la résiliation | Revenir vers les notes basses dans la semaine | Comparer le churn avec et sans suivi |
Utiliser l’IA pour expliquer les résultats, sans risque
Les modèles de langage savent bien transformer un tableau de résultats en résumé clair et en liste d’idées. Ils sont mauvais en calcul et produisent des chiffres plausibles mais faux. La bonne répartition :
- Calculez chaque chiffre dans du code. Taux de churn, risques relatifs, intervalles, tailles d’échantillon et p-values ajustées viennent d’un script déterministe ou d’une requête SQL.
- Ne donnez au modèle que les résultats calculés, sous forme de données structurées, et demandez-lui de les expliquer.
- Interdisez les nouveaux chiffres. Demandez au modèle de n’utiliser que les chiffres présents dans l’entrée, et vérifiez la sortie : chaque chiffre du résumé doit correspondre à un chiffre des résultats.
- Exigez des mises en garde. Demandez-lui de signaler les petits échantillons, les intervalles larges, et que les découvertes sont des corrélations.
- Gardez un humain dans la boucle pour tout ce qui change les prix, le ciblage ou le produit.
Une structure de prompt courte qui fonctionne :
You are given churn analysis results as JSON. Each row has an attribute,
a value, customers, churned, relative_risk, ci_low, ci_high and
adjusted_p. Explain the three strongest findings for a non-technical
founder. Use only numbers that appear in the JSON. Mention sample size
for each finding. Say these are correlations, not causes. Suggest one
experiment per finding.
Checklist
- Churn défini par écrit, volontaire et involontaire séparés.
- Attributs enregistrés à un moment fixe.
- Catégories regroupées pour que chacune ait assez de clients.
- Risque relatif avec intervalles de confiance pour chaque comparaison.
- Tailles d’échantillon affichées à côté de chaque résultat.
- Correction des comparaisons multiples, ou résultats confirmés sur de nouvelles données.
- Facteurs de confusion vérifiés à l’intérieur des segments.
- Résumés de l’IA n’utilisant que des chiffres calculés.
- Principales découvertes transformées en expériences.
Comment NoChurn aide
Avec les données perso de NoChurn, vous envoyez n’importe quel attribut client ou événement d’usage via l’API, par lots, par CSV ou avec le SDK. NoChurn calcule les statistiques dans du code (risque relatif, taille d’échantillon et confiance) pour trouver quels attributs vont avec le churn, puis utilise l’IA pour expliquer les résultats et suggérer des actions, présentées comme des corrélations, pas des causes. Les mêmes données, avec le moyen de paiement et la source d’inscription, alimentent le churn score attribué à chaque client à l’inscription. Voir la référence API et les tarifs.