CHURN METRICSMAXIO

How to measure churn in Maxio

Which Maxio reports show churn, how Maxio defines churn rate, logo vs revenue churn, MRR movements, reason codes and what to check before trusting a number.

Published 5 min read

Maxio has several reports that show churn, and they do not all measure the same thing. One counts customers, another counts revenue, and the churn rate in the momentum reports includes downgrades as well as cancellations. Before you put a churn number in a board deck, it helps to know which report it came from and how that report defines it. This guide maps Maxio’s churn reports and definitions, then gives a practical way to read them.

It sticks to Maxio’s own documentation: choose the right report for your metric, understanding Maxio report types, get started with the Advanced Subscription Momentum Report, troubleshoot unexpected Advanced Subscription Momentum Report results, the Maxio Core glossary, configure reporting and churn reason codes (all accessed November 2026). Maxio has two billing products, Advanced Billing (formerly Chargify) and Maxio Core (formerly SaaSOptics); some definitions below come from Core’s glossary, and we say so.

Two kinds of churn

Maxio’s report guide separates two ways of counting:

  • Logo churn: how many customers you lost.
  • Revenue churn: how much MRR or ARR you lost.

They answer different questions. Logo churn tells you whether customers stay; revenue churn tells you whether money stays. A company losing many small customers and keeping its large ones can have high logo churn and low revenue churn. Maxio’s glossary also notes that churn is usually split into a gross and a net rate; in common usage, net churn offsets lost revenue with expansion revenue and gross churn does not. For the general formulas, see how to calculate churn rate.

Where churn shows up in Maxio

Report What it shows Good for
MRR report MRR, filterable by movement: New Business, Expansion, Contraction, Churn, Reactivation Revenue churn in dollars, month by month
Churn Analytics (Insights) Churn trends; Maxio suggests reading it with the MRR report’s churn movements Spotting changes in the trend; churn by reason
Subscription Momentum Report Momentum, retention and churn calculations, customer counts, customer lifetime value A broad overview in one place
Advanced Subscription Momentum Report Renewal growth, churn velocity, cohort momentum, revenue transition, with rows you can expand to see the customers behind each figure Churn rate questions; Maxio recommends it for those

Maxio’s reporting setup guide also describes Business Intelligence dashboards that you enable separately (Business Intelligence › Enable Maxio Advanced Billing BI). They are not on by default.

How Maxio calculates churn rate

Maxio’s troubleshooting page for the Advanced Subscription Momentum Report gives the formula:

  • Churn rate = (Contraction + Lost) / Opening
  • Renewal rate = 1 − churn rate
  • When Opening is 0, churn rate returns 0% (and renewal rate 100%) rather than an undefined value.

Two things follow from this.

Contraction counts as churn. A customer who downgrades from $500 to $300 adds $200 to the numerator, just as a lost customer does. This is a gross revenue churn rate, not a count of cancellations. If someone asks “what share of customers cancelled?”, this number is not the answer.

Expansion is not subtracted. The formula does not net off upgrades, so it is a gross figure. If you need net revenue churn, compute it from the movements yourself.

The report’s Customer Count section measures Opening, New, Expansion, Contraction, Lost and Ending customer counts. That is where to get logo churn: Lost customers divided by Opening customers for the period.

What the movement names mean

Maxio’s Core glossary defines:

  • New: customers with transactions starting in this period and none before it.
  • Expansion: the net increase for customers whose total amount (MRR, ARR) grew compared with the previous period.
  • Contraction: the net decrease for customers whose total amount shrank.

The pages we found do not define the Reactivation movement in the MRR report. If returning customers matter for your numbers, check how Maxio classifies them on your site before comparing periods.

Why churn happened: reason codes

Numbers say how much; churn reason codes say why. You define the codes in your site settings; once configured, a reason must be selected to confirm a cancellation, and the Billing Portal can show them to customers. Maxio’s churn analytics then show the reason code for each churn event. Without codes, your churn analysis stops at the size of the problem.

Keep the list short and stable. Changing codes every quarter makes trends impossible to read. Something like “Too expensive”, “Missing feature”, “Not using it”, “Switched tool”, “Business closed”, “Other” covers most cases.

A monthly churn review in Maxio

  1. Pick the period and stick to it. Monthly for monthly plans; look at annual renewals separately.
  2. Logo churn from the Customer Count section: Lost ÷ Opening.
  3. Gross revenue churn from the Advanced Subscription Momentum Report: (Contraction + Lost) ÷ Opening. Write down that it includes downgrades.
  4. Net revenue churn: take the same movements and subtract Expansion, then divide by Opening.
  5. Split voluntary and involuntary. Subscriptions canceled at the end of dunning are a payment problem, not a product one. If your reports do not separate them, use the state history (past due, then canceled) to tag them.
  6. Break down by reason code in Churn Analytics.
  7. Expand the rows. The Advanced Subscription Momentum Report lets you see the customers behind each number. Read a few of them; it keeps the numbers honest.
  8. Check for data issues with Maxio’s troubleshooting page when a figure looks wrong, for example an Opening of zero producing a 0% churn rate.

Annual plans need their own view

If you sell both monthly and annual plans, a monthly churn rate mixes two very different populations: monthly customers can leave any month, annual customers only at renewal. A month with many annual renewals can look like a spike that is really a calendar effect. Report annual renewals separately, as a renewal rate for the contracts that came up in the period, and keep the monthly churn rate for monthly plans.

What the reports cannot tell you

Maxio’s reports describe what happened in billing. They do not tell you which active customers are about to leave, and they do not connect churn to signals outside billing, such as product usage, support tickets or signup source. For that, you need to join billing data with your own.

Doing this with NoChurn

NoChurn reads your Maxio customers, subscriptions and events, and adds a churn score from 0 to 100 for each customer, computed at signup and at every change from the payment method, signup source and custom data you send by API. Its churn drivers analysis ranks the attributes most correlated with churn (correlation, not causation), and its cancel flow records reasons in the customer’s own words. Your billing reports and revenue figures stay in Maxio. NoChurn is free under $300 MRR. See NoChurn + Maxio.

PROMPT

Read https://www.nochurn.sh/llms.txt,
then follow https://www.nochurn.sh/docs/quickstart/
to add NoChurn to this app. Use a test key
(nc_test_…) until I say we go live.

Stop leaking revenue.

  • Free until $300 MRR
  • No card needed
  • Live in 10 minutes
  • Never a cut of what we recover