What is MRR?

Stellan Bergström · · updated

Monthly recurring revenue (MRR) is the predictable subscription revenue a business earns in one month, with every plan normalized to a monthly amount. It is the single most-watched growth metric for SaaS and subscription startups because, unlike one-off sales, it recurs - so it measures the durable size of the business, not last month's luck.

If you only remember one sentence: MRR is the sum of the monthly value of every active, paid subscription, net of discounts.

The MRR formula

There are two equivalent ways to write it.

Bottom-up (the honest one):

MRR = Σ (monthly value of each active paid subscription − its discounts)

Top-down (the quick one):

MRR = paying customers × average revenue per account (ARPA)

The top-down version is useful for napkin math and for spotting whether growth is coming from more customers or from higher prices. The bottom-up version is what your billing system (and HitMRR) actually computes, and it is the one you should trust when the two disagree.

A worked example

Say a startup has these subscriptions on the last day of the month:

CustomerPlanBillingPriceMonthly value
AStartermonthly$29/mo$29.00
BPromonthly$79/mo$79.00
CProyearly$790/yr$65.83
DTeammonthly, 20% coupon$199/mo$159.20
EProweekly$20/wk$86.67
FStartermonthly, trialing$29/mo$0
GPromonthly, past due$79/mo$0

MRR = 29 + 79 + 65.83 + 159.20 + 86.67 = $419.70.

Customer C pays $790 once a year, but only one-twelfth of that is this month's recurring revenue. Customer E pays weekly; a year has 52 weeks and 12 months, so a weekly price is worth 52 ÷ 12 ≈ 4.33× per month. Customer D's coupon is subtracted because MRR is what customers actually pay. Customers F and G contribute nothing: one hasn't paid yet, the other has stopped paying.

Normalizing billing intervals

Every plan gets converted to "what is this worth per month":

Billing intervalMonthly value
Weeklyprice × 52 ÷ 12
Monthlyprice
Quarterlyprice ÷ 3
Every 6 monthsprice ÷ 6
Yearlyprice ÷ 12
Every N monthsprice ÷ N

A common mistake is to count an annual payment in full in the month it lands. That makes MRR spike in good months and collapse afterwards, which hides what is actually happening to the business. Cash collected and recurring revenue are different numbers; keep them apart.

What to exclude

Accurate MRR leaves out anything that isn't recurring, paid, and active:

  • Free trials. No revenue has been collected. Count them the day they convert.
  • Past-due and unpaid subscriptions. A subscription whose last invoice failed is not revenue until it's paid. Most billing systems mark these past_due or unpaid.
  • One-time charges. Setup fees, consulting, add-on purchases and usage overages aren't recurring. They're revenue, but not MRR.
  • Cancelled subscriptions. Once a subscription is cancelled it's gone, even if the customer is still inside a paid period. (Some teams count it until the period ends; pick one rule and stick to it.)
  • Taxes. MRR is pre-tax.
  • Test-mode data. Obvious, but worth saying: revenue from your own test cards doesn't count.

Including any of these inflates the number and, worse, hides real churn until it's already happened.

The five MRR movements

Month-over-month, MRR changes for exactly five reasons. Splitting your growth into these is the difference between "we grew 8%" and knowing why.

MovementWhat it isSign
New MRRBrand-new paying customers+
Expansion MRRExisting customers upgrading, adding seats, or buying add-ons+
Reactivation MRRPreviously churned customers coming back+
Contraction MRRExisting customers downgrading or applying discounts
Churned MRRCustomers cancelling entirely

Net new MRR = new + expansion + reactivation − contraction − churn. It's the number that tells you whether the business is compounding or leaking.

A useful derived metric is the SaaS quick ratio: (new + expansion) ÷ (contraction + churn). Above 4 is excellent; between 2 and 4 is healthy; below 1 means you're shrinking regardless of how many new logos you sign.

MRR growth rate

MRR growth rate = (this month's MRR − last month's MRR) ÷ last month's MRR

Growth compounds, so small monthly rates matter more than they look: 10% a month is 3.1× in a year; 15% a month is 5.4×.

Rough benchmarks by stage, from public SaaS data and investor rules of thumb:

  • Pre-seed / seed (< $10k MRR): 15–20% month-over-month is strong, 10% is solid. Below that, the launch hasn't found its channel yet.
  • Seed to Series A ($10k–$100k MRR): 8–12% is good.
  • Growth stage (> $100k MRR): 3–8% monthly on a big base is what Series B investors expect.

Benchmarks are a floor for ambition, not a verdict. A bootstrapped founder at 6% monthly with no marketing spend is doing something right.

MRR vs ARR

ARR (annual recurring revenue) is simply MRR × 12. Early-stage startups report MRR because monthly numbers are more granular and more honest about churn; later-stage companies and investors talk in ARR because the numbers are large and contracts are often annual. MRR vs ARR covers when to use which and the traps in converting.

Common mistakes

  1. Counting cash, not recurring revenue. Annual payments booked in full. See normalization above.
  2. Including trials. Especially with card-required trials - "they'll probably convert" is not revenue.
  3. Ignoring discounts. A $100 plan with a 50% lifetime coupon is $50 of MRR.
  4. Mixing currencies. If you bill in EUR and USD, convert to one currency at a consistent rate before summing, otherwise exchange-rate moves show up as fake growth.
  5. Reporting a screenshot. Anyone can type a number into a dashboard mock. If you want the figure to be believed, make it verifiable.

How HitMRR computes it

Stripe's dashboard shows an MRR figure, but there is no MRR endpoint in the Stripe API. HitMRR reads your active subscriptions through a read-only restricted key and applies exactly the rules above: active and paid only, normalized to monthly (weekly plans × 52 ÷ 12), net of coupons, trials and past-due excluded. Everything is then converted to USD with a daily exchange rate so a EUR startup and a USD startup rank fairly on the leaderboard. Test-mode keys are silently hidden from every public board.

The result matches what Stripe shows you, refreshed every 30 minutes, and it can't be typed in by hand. See the FAQ for how verification and key handling work.

Frequently asked questions

What does MRR stand for?

MRR stands for monthly recurring revenue: the predictable subscription revenue a business earns in one month, with every plan normalized to a monthly amount.

How do you calculate MRR?

Add up the monthly value of every active, paid subscription. Normalize non-monthly plans first (a yearly plan counts as its price divided by 12), subtract discounts, and exclude trials, one-off charges and unpaid subscriptions.

Is MRR the same as monthly revenue?

No. Monthly revenue includes one-time payments, setup fees and usage charges. MRR only counts the recurring subscription part, which is why it is a cleaner measure of a subscription business's size.

What is a good MRR growth rate?

It depends on stage. Early-stage startups often target 10-20% month-over-month; later-stage companies grow 3-8% monthly on a much larger base. Consistency matters more than any single month.

Does Stripe show MRR?

Stripe's dashboard shows an MRR figure, but there is no MRR endpoint in the Stripe API. Tools like HitMRR recompute it from active subscriptions using the same normalization rules.

KEEP READING