This article provides information on the churn recognition options available in ChartMogul. To learn how to configure this setting, please see our Data Settings article.
ChartMogul offers two main churn recognition options:
- Always recognize cancellations as churn at the end of the service period (default) — ChartMogul recognizes churn at the end of the subscription’s current paid-up billing period, even if the subscription is canceled immediately in your billing system. This is often considered good practice for MRR reporting.
- Always recognize cancellations as churn at the time of cancellation — ChartMogul recognizes churn at the time the subscription is canceled or expires in your billing system. This option gives you a real-time view of your forward-looking MRR and is closer to the concept of Committed Monthly Recurring Revenue (CMRR).
If you’re using Recurly, you have an additional option:
- Churn subscriptions at the time when the cancellation event is triggered/clicked, regardless if subscription is set to cancel immediately or cancel/not-renew at the end of the billing period — If you select this option and aren’t using Reculy, ChartMogul will recognize cancellations as churn at the time of cancellation.
Here's an illustration of how ChartMogul reports the date of churn, based on the Churn recognition option you choose:
Limitations with Shopify, Google Play, and App Store Connect
The Churn Recognition setting works the same for all of our billing system integrations, except as noted here:
- Shopify — Since we only import non-recurring transactions from Shopify, this setting is not relevant.
- Google Play — When importing using the Daily Sales Report, ChartMogul recognizes subscription cancellations at the end of their billing period.
- App Store Connect — Similar to Google Play, the App Store reports don’t provide cancellation dates. Because of this, we report cancellations at the end of the service period. However, cancellations resulting from refunded subscriptions follow the churn settings.
Due to limitations with these systems, ChartMogul recognizes cancellations as churn at the end of the service period.
For all data sources (except Stripe, Recurly, and Braintree) that have churn recognition set to Always recognize cancellations as churn at the end of the service period, churn in a given month may be different than what you expect.
In ChartMogul, a subscription’s cancellation date and its service period start date must be different. As such, 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).