myrevenuemap.com

MRR, ARR, Churn, Expansion: SaaS Revenue Metrics

5 min read

Subscription revenue metrics look simple until two people calculate the same one and get different answers. When that happens, check the definitions first: what counts as recurring, which customers are in the denominator, and whether the period is a month or a year. This guide gives plain definitions and formulas for the core metrics, then works through one month of example numbers so you can see how they fit together.

This is general information, not financial advice.

MRR: monthly recurring revenue

MRR is the monthly value of all active recurring subscriptions, normalized to a month. As of September 2026, Stripe's billing analytics documentation defines it as the sum of the monthly-normalized value of all active and past-due subscriptions, and excludes taxes, subscribers on free plans, and metered usage products.

MRR = sum of each active subscription's monthly-normalized price
Annual plan: annual price / 12
Quarterly plan: quarterly price / 3

Decide these questions once and write the answers down:

  • One-time charges. Setup fees, onboarding packages and services are not recurring and stay out of MRR, even if they are billed on the same invoice.
  • Discounts. Stripe lets you choose whether to subtract discounts from MRR and describes subtracting them as the more conservative approach.
  • Trials and free plans. A customer paying nothing contributes nothing to MRR, however engaged they are.
  • Failed payments. Pick the point at which a customer with an unpaid invoice stops counting. Stripe counts a subscription as churned once it is canceled or marked unpaid.

ARR: annual recurring revenue

For a subscription business that tracks MRR, ARR is usually the same figure on an annual scale:

ARR = MRR x 12

ARR is a run rate, not a forecast and not the revenue you will recognize this year. A company at $50,000 MRR in December has $600,000 ARR, even if it only billed a fraction of that during the year. Before comparing your ARR with a figure someone else reports, find out exactly how they calculated theirs.

The four MRR movements

Every change in MRR from one month to the next comes from a small set of movements:

  • New MRR: recurring revenue from customers who were not paying before.
  • Expansion MRR: increases from existing customers, such as upgrades, added seats or add-ons.
  • Contraction MRR: decreases from customers who stay, such as downgrades or removed seats.
  • Churned MRR: recurring revenue lost from customers who cancel entirely.

Some tools add a fifth, reactivation MRR, for former customers who return. Stripe tracks it separately, and it also shows a currency adjustment line for businesses billing in more than one currency. Together these form the MRR bridge:

Ending MRR = Starting MRR + New + Expansion + Reactivation - Contraction - Churned
Net new MRR = Ending MRR - Starting MRR

The bridge is worth tracking every month because it separates growth from new sales, which costs money to buy, from growth inside the existing customer base.

Gross and net revenue retention

Retention metrics look only at customers who were already paying at the start of the period. New customers are excluded by design.

Gross revenue retention (GRR) = (Starting MRR - Contraction - Churned) / Starting MRR
Net revenue retention (NRR)   = (Starting MRR + Expansion - Contraction - Churned) / Starting MRR

GRR can never exceed 100%, because it ignores expansion. It answers "how much of what we had did we keep?" NRR includes expansion and can exceed 100%, which means the existing base grew on its own. Reading them together is the point: a high NRR with a low GRR means strong upsells are covering for customers leaving.

Public companies show how much the details vary. Datadog's 10-K for 2025 calculates its dollar-based net retention rate by comparing current ARR from the customers it had 12 months earlier with those customers' ARR at that time, excluding new customers, and then takes a weighted average of those point-in-time rates over the trailing 12 months. Snowflake's 10-K for the fiscal year ended January 31, 2026 instead divides a customer cohort's product revenue in the second year of a trailing two-year window by that cohort's product revenue in the first year. Both are called net retention. They are not the same calculation, so neither can be compared with your number until you have matched the method.

Logo churn

Logo churn counts customers rather than dollars:

Logo churn rate = customers lost during the period / customers at the start of the period

The denominator is where versions differ. Stripe's subscriber churn rate divides churned subscribers in the past 30 days by active subscribers 30 days ago plus new subscribers in the past 30 days. Adding new subscribers to the denominator produces a lower rate than dividing by the starting count alone. Neither is wrong, but a single report should never mix them.

Logo churn and revenue churn often disagree, and the gap is informative. If logo churn is higher than revenue churn, you are losing mostly smaller customers. If it is lower, the customers leaving are larger than average, and each loss takes a bigger bite out of revenue.

A worked example

The numbers below are invented for illustration. Picture a small business software company at the start of March with 200 paying customers and $40,000 in MRR.

Movement in MarchCustomersMRR
Starting200$40,000
New+15+$3,000
Expansion (12 customers upgraded)No change+$1,800
Contraction (6 customers downgraded)No change-$600
Churned-8-$1,400
Ending207$42,800

Now the metrics:

  • Ending MRR: $40,000 + $3,000 + $1,800 - $600 - $1,400 = $42,800.
  • Net new MRR: $2,800.
  • ARR run rate: $42,800 x 12 = $513,600.
  • Gross revenue retention for March: ($40,000 - $600 - $1,400) / $40,000 = 95.0%.
  • Net revenue retention for March: ($40,000 + $1,800 - $600 - $1,400) / $40,000 = 99.5%.
  • Logo churn, starting-count method: 8 / 200 = 4.0%.
  • Logo churn, Stripe-style denominator: 8 / (200 + 15) = 3.7%.
  • Revenue churn (churned MRR only): $1,400 / $40,000 = 3.5%.

Three readings stand out. First, logo churn (4.0%) is above revenue churn (3.5%), so the customers who left were smaller than average: $175 each against a starting average of $200. Second, net revenue retention of 99.5% means expansion almost, but not quite, covered what the existing base lost; growth this month came from new customers. Third, monthly rates compound. If gross retention stayed at 95% every month, a starting cohort would keep about 54% of its MRR after 12 months (0.95 to the 12th power), not the 40% you would get by multiplying the 5% monthly loss by 12. Never multiply a monthly rate by 12 to get an annual one.

Mistakes to avoid

  • Counting an annual prepayment as MRR in the month it is paid, instead of spreading it at one-twelfth per month.
  • Including setup fees, services or usage overages in MRR without labeling them.
  • Letting new customers leak into a retention calculation.
  • Changing definitions midyear without restating the earlier months.
  • Comparing your metrics with another company's without reading their definitions first.

This guide does not quote industry benchmarks: published figures rest on different definitions and samples, and a number calculated another way cannot be compared with yours. The most useful comparison is your own trailing six to twelve months, calculated the same way every time. Write your definitions on the first tab of the spreadsheet, and the numbers will mean the same thing next quarter as they do today.

More from myrevenuemap.com