Churn recognition
You’ll need to be an Admin or Owner in ChartMogul to access and change your data settings.
Churn Recognition is a ChartMogul setting that controls when ChartMogul records lost revenue — the moment a customer cancels or fails to renew a subscription. Your choice directly affects your reported MRR (Monthly Recurring Revenue), churn rate, and retention metrics, as well as which financial period the revenue loss appears in.
To change this setting:
- Go to :settings~gray: Settings > Data & Integrations > Reporting Settings.
- Choose an option from the Record churn in your reports drop-down.
- Click SAVE CHANGES.
Learn more about data settings.
ChartMogul offers three churn recognition options:
- When a subscription is marked as canceled in the billing system — ChartMogul recognizes churn at the time the subscription is canceled or expires in your billing system.
- At the end of the final subscription service period — ChartMogul recognizes churn at the end of the billing period of the last paid or open invoice, even if the subscription is canceled immediately in your billing system. This is often considered good practice for MRR reporting.
- As soon as a customer schedules cancellation — If you select this option and aren't using Recurly, Stripe or Chargebee, ChartMogul recognizes cancellations as churn when the subscription ends in your billing system. This option gives you a real-time view of your forward-looking MRR and is closer to Committed Monthly Recurring Revenue (CMRR) — a measure of predictable future revenue that accounts for known cancellations and expansions.
How Churn Recognition Works by Billing System
How Google Play and App Store Connect handle churn
The churn recognition setting works the same for all billing system integrations, except as noted here:
- Google Play — When importing using the Daily Sales Report, ChartMogul recognizes subscription cancellations at the end of their billing period.
- App Store Connect — App Store reports don't provide cancellation dates, so ChartMogul reports cancellations at the end of the service period. Cancellations from refunded subscriptions follow your churn recognition setting.
Because of these limitations, ChartMogul always recognizes cancellations as churn at the end of the service period for Google Play and App Store Connect — regardless of your churn recognition setting.
How end-of-service-period churn recognition works
For all sources (except Stripe, Recurly, and Braintree) that have churn recognition set to At the end of the final subscription service period, churn in a given month may differ from what you expect. The service period is the billing cycle the customer has already paid for — for example, January 1–31 for a monthly subscriber who pays on the 1st.
In ChartMogul, a subscription's cancellation date and its service period start date can't be the same, so ChartMogul subtracts one second from the cancellation date.
For example, a subscription starts on January 1 and has a renewal on February 1. In January, the customer cancels the subscription. ChartMogul calculates January 31, 23:59:59 as the cancellation date (subtracting one second from February 1, 00:00:00) and recognizes the churn in January (not February).
Churn at click and future-dated cancellations
For Stripe and Chargebee, you can schedule cancellations to take effect after the current service period ends. If you use the As soon as a customer schedules cancellation setting, ChartMogul records a churn/reactivation MRR movement and marks the subscription as past due. To avoid this, manually cancel the subscription instead.