Metrics
How Fusionmetrics calculates churn
Understand rolling revenue, subscription, and logo churn, including gross and net models, opening populations, and App-level settings.
Last updated
Fusionmetrics calculates churn from subscription and Merchant relationship movements. Each point on a churn report is a rolling 30-day rate: the numerator contains qualifying losses and recoveries after the opening snapshot, and the denominator is the population observed at that opening snapshot.
The three reports answer different questions:
- Revenue churn measures recurring revenue lost relative to opening MRR.
- Subscription churn measures subscription contracts lost relative to opening subscriptions.
- Logo churn measures Merchant relationships lost relative to opening active Merchant relationships.
Because each rate uses a different population, the percentages should not be expected to match.
For cancellations before conversion and the Merchants who later churned after converting, see trial conversion and history.
The rolling 30-day window
For a report point on a given day, Fusionmetrics takes the opening population from the end of the day 30 days earlier. It then counts qualifying movements after that opening snapshot through the report point.
The Churn page offers the same date ranges as Analytics. Each preset is anchored to the latest available App snapshot and uses UTC dates. Selecting a range changes how much of the series is shown; every point still uses the same rolling 30-day churn window:
- Today, Yesterday, Last 12 hours, and Last 24 hours show the available daily snapshots for the dates covered by the range. Churn is calculated daily, so these ranges do not show hourly churn values.
- Last 7 days, Last 14 days, Last 30 days, Month to date, and Last month show daily rolling values.
- Last 90 days and Quarter to date show the latest rolling value observed in each week.
- Year to date, Last 12 months, Last 24 months, and All time show the latest rolling value observed in each month. The available history depends on the App's imported data.
Choose Custom dates to enter or pick an inclusive start and end date in UTC, including a single day. Custom ranges show daily snapshots for up to 90 days, weekly snapshots for up to 366 days, and monthly snapshots for longer periods. The first and last buckets stay within the selected dates. Each point retains its rolling 30-day calculation.
The date selection is part of the report URL. It follows you between Analytics and Churn and when switching Apps, and survives reloading or sharing the URL. Changing dates does not require saving App settings. In Analytics, the selected dates also filter earnings, billing movements and their Merchant details, acquisition, and converted/lost trial history. The Active trials tab separately shows upcoming completions from the latest import.
The dashed trend is an ordinary least-squares line across the displayed points. It summarizes direction; it is not another churn calculation and does not change the headline rate.
Revenue churn
Revenue churn divides qualifying recurring-revenue losses by opening MRR. The opening denominator follows the MRR calculation, with the usage component included only when Include usage revenue is enabled.
Revenue churn = qualifying recurring-revenue loss / opening MRR × 100
The model controls the numerator:
| Model | Numerator |
|---|---|
| Churn | Canceled recurring revenue only. |
| Gross | Canceled recurring revenue plus contractions. |
| Net | Cancellations and contractions, offset by expansions and reactivations. |
When Include frozen and unfrozen subscriptions is enabled, freezes add to loss. In the net model, unfreezes offset that loss.
Include usage revenue adds trailing-30-day usage MRR to the opening denominator. Usage charges are not treated as fixed subscription cancellation movements, so the numerator remains based on the observed recurring-revenue movements.
Net revenue churn can be negative when expansions and reactivations are larger than cancellations and contractions. A negative rate means recurring revenue expanded within the rolling window after churn was taken into account.
Subscription churn
Subscription churn divides qualifying lost contracts by the active contract population at the opening snapshot.
Subscription churn = qualifying lost subscriptions / opening subscriptions × 100
The Churn model counts subscription churn events. The Net model subtracts reactivations. When frozen subscriptions are included, freezes add to the numerator and net churn subtracts unfreezes.
Subscription population
The App-level subscription population determines which contracts enter the subscription-churn numerator and denominator:
| Population | Included contracts |
|---|---|
| Paid subscriptions | Active, non-test, non-trial contracts with positive recurring value after discounts. |
| All subscriptions | All active, non-test, non-trial contracts, including zero-dollar contracts. |
| Paid + selected zero-dollar | Paid contracts plus explicitly selected non-trial zero-dollar plan signatures. |
This setting affects subscription churn only. It does not change headline MRR, revenue churn, or logo churn. The selection is persisted for the App, so everyone with access to that App uses the same definition.
The custom option uses stable source-derived plan signatures. Fusionmetrics does not guess historical zero-dollar membership from a plan name when the source does not provide a stable identity.
Logo churn
Logo churn is relationship-based and uses active Merchant relationships rather than subscription amounts or the subscription population selector.
Logo churn = qualifying lost Merchant relationships / opening active Merchant relationships × 100
The Churn model counts observed uninstalls. The Net model subtracts qualifying reinstalls in the same rolling window. When Include deactivations is enabled, relationships that were deactivated and remain inactive at the report point are also counted.
Net logo churn can be negative when reinstalls exceed relationship losses during the window.
Plan segments
The plan selector filters the report to one or more normalized plan identities. For a multi-plan selection, Fusionmetrics sums the selected plans’ opening populations and movement components first, then calculates one rate. It does not average the plans’ percentages.
Logo churn belongs to the Merchant relationship. When a Merchant has multiple active plan identities and the source does not support one unambiguous attribution, the segmented loss remains in an unknown plan segment rather than being assigned arbitrarily.
Saved settings
The plan segment, report models, inclusion toggles, and subscription population are persisted at App level. They are shared analytical definitions, not personal display preferences.
Changing the subscription population requires a churn refresh because it changes the historical subscription numerator and denominator. Display range, plan selection, and report-model changes reuse the prepared movement data and do not alter headline MRR.
Why churn can change after a refresh
A refreshed import can add or correct subscription events, current-cycle discounts, trial timing, plan identity, or Merchant relationship activity. Fusionmetrics then reconstructs the affected rolling windows from the improved source evidence.
The calculation is generic across Apps. App-level controls select an explicit population or report model; they do not introduce hidden App-specific calculation rules.