Mesurer le churn dans Chargebee
Mesurer le churn avec les données Chargebee : statuts et événements utiles, churn volontaire ou involontaire, reason codes, pauses, calcul mensuel.
Le churn ressemble à un seul chiffre, mais dans Chargebee il est réparti entre plusieurs statuts, événements et réglages. Un abonnement peut être programmé pour être résilié et rester actif. Il peut être en pause et ne rien payer. Il peut être résilié pour défaut de paiement plutôt que par choix. Si vous ne décidez pas à l’avance comment chaque cas compte, deux personnes de votre équipe calculeront deux taux de churn différents à partir des mêmes données.
Ce guide montre comment construire une mesure claire du churn à partir de Chargebee Billing : quels états et événements utiliser, comment séparer le churn volontaire de l’involontaire, et comment traiter les pauses et les réactivations. Il s’en tient à la documentation de Chargebee : Subscription Cancellation, l’API Cancel a subscription, les types d’événements, les API List events et List subscriptions, Reason Codes et Pause Subscription (tous consultés en novembre 2026).
Commencez par les rapports de Chargebee
Chargebee a un reporting intégré, dont un rapport Subscriptions standard. Utilisez-le d’abord, et lisez sur cette page comment chaque chiffre est défini avant de le comparer à quoi que ce soit. Ce guide porte sur la construction de votre propre mesure à partir des données de Chargebee, ce dont vous avez besoin quand vous voulez croiser le churn avec l’usage du produit, la source d’inscription ou les raisons de résiliation dans votre propre entrepôt de données.
Les états qui comptent
| État Chargebee | Churné ? | Pourquoi |
|---|---|---|
in_trial |
Pas encore un client payant | Mesurez la conversion des essais à part |
active |
Non | Paie |
non_renewing |
Pas encore | Résiliation programmée en fin de période ; encore actif |
paused |
Non, mais ne paie pas | À suivre à part |
cancelled |
Oui | Terminé |
La ligne non_renewing est celle sur laquelle les équipes se trompent. D’après l’API Cancel a subscription, une résiliation en fin de période fait passer l’abonnement en non_renewing et met ses cycles de facturation restants à 0. Il peut encore être sauvé avec « Remove scheduled cancellation ». Comptez-le comme churn à la date où il devient cancelled, pas le jour où le client a cliqué.
Les événements qui comptent
Les types d’événements de Chargebee vous donnent un enregistrement horodaté de chaque transition :
| Événement | À utiliser pour |
|---|---|
subscription_created |
Les nouveaux abonnements |
subscription_cancellation_scheduled |
Les résiliations programmées (indicateur avancé) |
subscription_cancellation_reminder |
Envoyé 6 jours avant une résiliation programmée |
subscription_cancelled |
Le churn, à sa date d’effet |
subscription_reactivated |
Les clients revenus après avoir résilié |
subscription_paused, subscription_resumed |
Les périodes de pause |
subscription_pause_scheduled |
Les pauses programmées pour plus tard |
Vous pouvez les recevoir en webhooks, ou récupérer l’historique via l’API List events. Pour une première analyse, récupérer les douze derniers mois d’événements est souvent le moyen le plus rapide d’obtenir une base de référence.
Une remarque d’orthographe : la référence des événements de Chargebee utilise subscription_cancelled avec deux L, alors que certaines autres de ses pages écrivent « canceled ». Utilisez exactement la chaîne que vous voyez dans vos propres payloads.
Churn volontaire ou involontaire
Ils demandent des corrections différentes, donc séparez-les dès le premier jour.
- Involontaire : la référence des types d’événements indique que
subscription_cancelledporte uncancel_reasonquand la résiliation a été causée par un défaut de paiement ou une carte manquante. Ce sont vos pertes dues aux paiements échoués. - Volontaire : les résiliations sans cette raison système, portant généralement un
cancel_reason_codeissu de vos Reason Codes configurés.
Rendez les reason codes obligatoires pour les résiliations depuis l’app et le portail. D’après la documentation de Chargebee, quand les reason codes sont obligatoires, l’API de résiliation doit aussi recevoir un cancel_reason_code. Chaque résiliation volontaire a alors une raison, et vous pouvez présenter le churn par raison sans deviner.
Un point pratique de la documentation sur la résiliation : cancel_reason_code peut ne pas être inclus quand vous récupérez un abonnement non-renewing, sauf si vous activez le réglage correspondant au niveau du site. Activez-le, ou captez la raison depuis l’événement subscription_cancellation_scheduled.
Les pauses
La page Pause Subscription de Chargebee indique que les renouvellements s’arrêtent pendant qu’un abonnement est en pause. Un client en pause ne paie pas et n’est pas parti.
Choisissez une règle et tenez-vous-y :
- Excluez les abonnements en pause de la base de départ comme du churn, et indiquez le nombre d’abonnements en pause à côté du taux de churn. C’est le choix le plus courant.
- Si une pause se termine par une résiliation, comptez le churn à la date de résiliation comme pour les autres.
Quel que soit votre choix, ne laissez pas les pauses faire baisser silencieusement votre taux de churn. Une offre de pause qui ne fait que retarder la résiliation doit finir par apparaître comme du churn.
Les réactivations
Un client qui résilie puis réactive plus tard (subscription_reactivated) reste du churn le mois où il est parti. Comptez la réactivation à part, en clients récupérés ou réactivés, plutôt que de la soustraire du churn passé. Réécrire les mois passés rend les tendances illisibles.
Un calcul mensuel du churn
Avec les états et événements ci-dessus, un taux de churn client pour un mois :
- Base de départ : les abonnements
activeounon_renewingà 00:00 le premier jour du mois (excluezin_trial, etpausedsi c’est votre règle). L’API List subscriptions vous donne l’état actuel ; pour une date passée, reconstituez l’état à partir des événements. - Churnés : les abonnements de cette base avec un événement
subscription_cancelleddans le mois. - Taux de churn client : churnés divisés par la base de départ.
- Répartition : le même ratio pour l’involontaire (
cancel_reasonsystème) et le volontaire (aveccancel_reason_code), dont la somme fait le total.
Les nouveaux abonnements créés dans le mois ne font pas partie de la base de départ, donc leurs résiliations dans le mois sont présentées à part ou écartées. Notez lequel des deux.
Pour le churn de revenu, remplacez les décomptes par le montant récurrent mensuel de chaque abonnement au début du mois (offres annuelles divisées par 12). Présentez la contraction due aux passages à une offre inférieure séparément des résiliations.
Les indicateurs avancés
Le churn est un chiffre en retard. Ceux-ci bougent plus tôt :
- Les résiliations programmées (
subscription_cancellation_scheduled) du mois, surtout pour les offres annuelles. - Les non-renewing sauvés : les abonnements qui quittent
non_renewingsans être résiliés. - Les renouvellements échoués pas encore récupérés.
- Les pauses commencées, et la part des pauses qui se terminent par une résiliation.
Erreurs fréquentes
- Compter le churn au moment du clic. La date de résiliation est celle où l’abonnement devient
cancelled, pas celle où il est devenunon_renewing. - Mélanger les essais à la base. Les essais qui ne se convertissent pas sont un problème de conversion, pas du churn.
- Un seul chiffre global. Sans la séparation volontaire / involontaire, vous ne savez pas s’il faut corriger vos relances ou votre produit.
- Les pauses silencieuses. Exclure les abonnements en pause sans les présenter cache un groupe croissant de clients qui ne paient pas.
Gardez des définitions stables
Écrivez vos définitions : ce qui compte dans la base, à quelle date on date le churn, comment sont traités les pauses, les essais, les réactivations et les périodes contractuelles. Changez-les rarement, et quand vous le faites, recalculez l’historique. Un taux de churn est surtout utile comparé à lui-même.
Le faire avec NoChurn
Les abonnements, les résiliations et les rapports de Chargebee restent dans Chargebee. NoChurn lit vos événements Chargebee, sépare le churn volontaire de l’involontaire, enregistre la raison issue de son parcours d’annulation (où l’annulation est toujours à un clic) et donne à chaque client un score de churn de 0 à 100. Vous pouvez envoyer vos propres données produit par API pour voir quels attributs sont corrélés au churn, et si vous connectez un help desk, les conversations de support sont lues pour le score et les insights. Voir NoChurn + Chargebee.