Mowt
FeaturesIntegrationsPricingMobileAbout
Start free trial
April 22, 2026

How to calculate MRR: the formula, the 9 revenue movements, and the mistakes that break it

How to calculate MRR: the formula, the 9 revenue movements, and the mistakes that break it

MRR (monthly recurring revenue) is the predictable subscription revenue your customers pay every month, normalized to a single monthly figure. The core formula is MRR = active subscribers x ARPA (average revenue per account, per month). The catch is in the prep. Convert every plan to a monthly value first (annual divided by 12, weekly times 4.33), use net amounts after discounts, and exclude tax, one-time fees, usage overages, and anyone still in a free trial.

Example: 50 customers on a $1,200-per-year plan are worth $1,200 / 12 = $100 each, so $5,000 MRR. Not $60,000 booked in the month they paid.

That last line is where most MRR numbers go wrong. The formula is the easy part. What breaks MRR is the quiet stuff around it, and that is what this guide is about.

The base formula, three ways

MRR has one formula and three ways to arrive at it. Pick whichever matches the data you have.

1. Subscribers times ARPA. If you know your average revenue per account, multiply it by your active paying customers. 400 customers at $80 ARPA is $32,000 MRR. This is the fastest read once you have a clean ARPA figure.

2. Sum of normalized plans. Convert each customer’s plan to a monthly amount and add them up. This version actually ties out, because real customer bases are messy. Some annual, some monthly, some discounted.

3. By plan tier. Multiply each plan’s monthly price by its active count, then sum the tiers. Useful when you want the breakdown by product line.

The normalization rules are fixed across every serious analytics tool:

Billing periodConversion to monthlyWorked example
MonthlyAs-is$100/mo = $100 MRR
AnnualDivide by 12$1,200/yr = $100 MRR
QuarterlyDivide by 3$300/qtr = $100 MRR
WeeklyMultiply by 4.33$10/wk = $43.30 MRR

The 4.33 comes from 52 weeks divided by 12 months. For the same reason, tools like ChartMogul treat a “month” as roughly 30.4 days (a 365-day year split into 12) so daily proration stays consistent. You do not need to obsess over that figure, but it explains why a clean tool and a rough spreadsheet can disagree by a percent or two.

For a tighter definition of the base unit, see the MRR glossary entry.

What counts as MRR, and what does not

MRR is strictly recurring and strictly net. If a charge does not repeat on a predictable schedule, it does not belong in the number. If a charge includes tax or processing fees, you strip those out first.

Counts as MRRDoes NOT count as MRR
Recurring subscription feesOne-time setup or implementation fees
Plan upgrades and added seatsOnboarding and professional services
Recurring add-onsSales tax and VAT
Reactivated subscriptionsStripe and processor fees
Net amount after a discountUsage overages above the plan
Customers still in a free trial

The discount rule trips people up, so make it explicit. A $100/mo plan sold at a 50 percent discount counts as $50 of MRR, the net amount actually paid. Not $100. You book what hits the account, not the list price.

Trials are the other common leak. A customer in a 14-day free trial pays nothing yet, so they contribute $0 MRR until the card is charged. Counting trials as MRR inflates today’s number and guarantees a phantom churn spike when half of them never convert. Track trials separately under trial insights instead.

MRR is nine movements, not one number

MRR is not a single number you calculate once. It is a running balance moved by distinct events, and this month’s MRR is just last month’s plus the net of those movements. That reframe fixes most MRR confusion.

The five core movements:

  • New MRR: revenue from first-time paying customers.
  • Expansion MRR: upgrades, added seats, and cross-sells from existing customers. See expansion revenue.
  • Reactivation MRR: previously churned customers who come back.
  • Contraction MRR: downgrades and partial cancellations. See contraction MRR.
  • Churned MRR: customers who cancel outright.

Then the edge cases that behave like their own movements, which is why the real count is closer to nine:

  • An expiring discount is expansion. When a 50 percent promo ends and the customer steps from $50 to $100, that $50 is expansion MRR, not new sales.
  • An applied discount is contraction. Adding a discount mid-subscription drops recurring revenue, same shape as a downgrade.
  • Proration from mid-cycle plan changes lands as partial expansion or contraction.
  • Currency shifts move the reported figure when you sell in multiple currencies.

Add the edge cases to the core five and you get the practical nine a real Stripe account throws at you. ChartMogul also tracks an optional tenth, a “neutral” movement for changes that net to zero.

The math that holds it together:

Net New MRR = New + Expansion + Reactivation - Contraction - Churned

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

If your ending MRR does not equal starting MRR plus net new, your movements are misclassified somewhere. That identity is the single best audit you can run, and it is the core of net new MRR. Pressure-test growth assumptions against it with the MRR forecaster.

The mix also shifts as you scale. In Paddle (formerly ProfitWell) benchmark data, new business drives roughly three-quarters of MRR added at sub-$10k MRR, with reactivation in the low double digits. Past $1M MRR, expansion climbs toward a third of additions while new business slips toward half. High-ARPA companies (above $500/mo) pull a far larger share of revenue from expansion than sub-$10 ARPA products, where expansion is close to negligible. The movement mix tells you which growth lever is actually working.

The five mistakes that silently break MRR

These errors leave your dashboard looking clean while the number drifts from reality. Each one stays invisible until it has already poisoned churn, LTV, and your valuation. Paddle (formerly ProfitWell) flagged the same five as the most common in the wild.

1. Booking annual prepay as a lump. A customer pays $12,000 upfront for an annual plan. Booked as a lump, March MRR jumps $12,000 and the next 11 months show nothing. Normalized, that customer is $1,000 of MRR every month. The lump version makes growth look explosive in one month and dead the next.

2. Counting discounts at list price. You sell a $200/mo plan at $120 net. List-price MRR says $200. Real MRR is $120. An 80-dollar gap per customer, multiplied across the base, overstates your run-rate and inflates every retention ratio built on top of it.

3. Including tax. A $100 subscription with 20 percent VAT bills the customer $120. MRR is $100. Leaving tax in pads the figure by whatever your blended tax rate happens to be, which is real money in any VAT market.

4. Treating usage overages as recurring. A customer on a $500 base plan burns $300 of API overage this month and $40 the next. That swing is not recurring revenue. Segment usage into its own line so it does not inflate core MRR with numbers that will not repeat.

5. Counting trials before they convert. 200 trials at $50 each looks like $10,000 of MRR. If 30 percent convert, the real figure is $3,000, and you have just manufactured a $7,000 churn cliff for next month.

Every one of these is silent. The dashboard still renders a tidy number. It is just the wrong one, and it desyncs from reality a little more each month.

This is the part Mowt handles for you. It computes normalized MRR and every movement straight off your Stripe data, net of discounts and tax, so the number ties out without a spreadsheet rebuild every month.

Sanity-check your MRR with two ratios

Once your movements are clean, two ratios tell you whether the underlying business is healthy. Both are built from the same movement data you just classified.

SaaS Quick Ratio = (New MRR + Expansion MRR) / (Contraction MRR + Churned MRR)

It measures how much you add for every dollar you lose. A ratio of 4 is healthy for early-stage growth: four dollars of new and expansion for every dollar of contraction and churn. Below 1 means you are shrinking. Run your own numbers in the SaaS Quick Ratio calculator or read the longer Quick Ratio breakdown.

Net Revenue Retention = (Starting MRR + Expansion - Contraction - Churn) / Starting MRR

NRR tracks a fixed cohort over 12 months and excludes new MRR entirely. Above 100 percent means your existing customers grow revenue on their own. The median for venture-backed SaaS sits at 106 percent. The top tier clears 130 percent. Below 100 percent is a leak. Full benchmarks live in the NRR benchmarks guide, or check yours with the NRR calculator.

Benchmarks to compare against

Your MRR only means something against context. Here is what the current data says.

MetricBenchmarkSource
Median NRR, venture-backed SaaS106%ChartMogul 2024, N=2,100
Median NRR, private B2B at $25K to $50K ACV102% (97% at p25, 111% at p75)SaaS Capital 2025
Median NRR, bootstrapped SaaS ($3M to $20M ARR)103% (91% gross retention)SaaS Capital 2026
Median B2B annual churn3.4% (2.6% voluntary, 0.8% involuntary)Recurly 2025
Healthy Quick Ratio, early stage4Baremetrics
Top-tier vs concerning NRRAbove 130% vs below 100%Bessemer

The churn figure is the one to internalize. A median 3.4 percent annual churn means a typical company replaces 3 to 4 percent of its revenue base every year just to stay flat. For the methods behind that number, see SaaS churn rate benchmarks, and to put a dollar value on retained revenue, the cohort LTV calculator.

MRR vs ARR vs revenue

MRR is a run-rate signal, not an income-statement line. It tells you what your business is worth per month if nothing changes, which makes it forward-looking and useful for decisions. It does not follow GAAP recognition rules and it will not reconcile to your accounting revenue.

ARR = MRR x 12. Annual recurring revenue is MRR projected out a year, with one-time fees excluded from both. A $50,000 MRR business has $600,000 ARR. The ARR calculator does the conversion, and the MRR vs ARR breakdown covers when each is the right lens.

Total revenue is a different animal. It can include one-time fees, usage, tax, and services, and it follows recognition timing. So MRR and revenue will diverge, and that is correct. If you want them to reconcile, you are using the wrong number for the job. The bookings vs billings vs revenue guide sorts out which is which.

The point

MRR is not one number you compute and forget. It is nine movements you keep clean and a balance that has to tie out, period over period. The formula takes a minute. The discipline of net-of-discount, ex-tax, ex-usage, ex-trial, annual-divided-by-12 is what separates a number you can run a company on from one that quietly lies to you.

Audit yours against the nine movements and the five failure modes above. If that sounds like a monthly spreadsheet you will eventually skip, that is what Mowt automates off your Stripe data, so the number is right without the manual rebuild.

FAQ

What is the formula for MRR?

MRR = number of active paying subscribers x ARPA (average monthly revenue per account). Equivalently, normalize each customer’s plan to a monthly amount (annual divided by 12, weekly times 4.33) and sum across all active customers, using net amounts after discounts and excluding tax.

Does MRR include one-time fees?

No. MRR is strictly recurring, so one-time setup fees, implementation, onboarding, professional services, and any non-repeating charge are excluded. They also stay out of ARR (ARR = MRR x 12). Count them separately as non-recurring revenue.

How do you handle annual plans in MRR?

Divide the annual contract value by 12 and book that monthly figure. A $1,200-per-year customer contributes $100 of MRR each month, not $1,200 in the month they paid. Booking the full prepayment in one month is the most common MRR mistake and creates lumpy, misleading numbers.

What are the MRR movement types?

The core five are New (first-time customers), Expansion (upgrades and cross-sells), Reactivation (returning churned customers), Contraction (downgrades or partial cancellations), and Churn (full cancellations). Practitioners add edge cases (expiring discounts as expansion, applied discounts as contraction, proration, and currency shifts), which is why MRR behaves like nine distinct movements rather than one figure.

Is MRR the same as revenue?

No. MRR is normalized recurring subscription value, excluding one-time fees, taxes, and usage overages. GAAP total revenue can include all of those and follows recognition timing rules. MRR is a forward-looking run-rate signal, not a number that ties to your income statement.

About the Author

Matt Smith
Co-Founder & CEO

Matt Smith

Serial entrepreneur and former big 4 consultant turned SaaS operator. Built and scaled analytics and data warehouses platforms at multiple enterprise Stripe companies before founding Mowt. Passionate about making complex metrics accessible to every founder.