How to Calculate MRR (Without Getting Misled by Billing, Discounts, and Plan Changes)
- Written by Chrissy Kapralos
- Published onDec 18, 2025
Table of Contents
What MRR measures (and what it does not)
Monthly recurring revenue (MRR) measures the monthly value of recurring revenue your SaaS business can expect from active paying customers based on their subscription plans. It’s not a cash metric. It’s a subscription analytics metric designed to reflect the recurring nature of your revenue stream.
What MRR measures
MRR measures:
- The predictable revenue generated from monthly subscriptions and other recurring billing arrangements, normalized to a monthly basis.
- The recurring value of your current customers and existing customers at a point in time (a snapshot).
- The “engine” behind your company’s future revenue, because it reflects what your customer base is paying for on a recurring schedule.
MRR is one of the most useful indicators of a subscription company’s business’s financial health, because it avoids the noise of one-time payments and payment timing.
What MRR does not measure
MRR does not measure:
- Total monthly revenue collected this month (cash collection timing can be lumpy).
- One-time charges (implementation, onboarding, services).
- Refunds as a default (refunds are often a cash event, not a recurring value change).
- Irregular usage spikes unless you have a consistent policy for how they count.
A simple operator rule:
- If a value exists because customers pay (cash timing), it’s revenue/cash reporting.
- If a value exists because of subscription plans (recurring value), it’s MRR.
Why this distinction matters
Teams get into trouble when they use MRR to answer questions it’s not meant to answer:
- “How much cash did we collect?” → not MRR
- “What do we expect as recurring revenue generated next month?” → yes, MRR
- “Is our revenue growth coming from new customers or existing customers?” → yes, MRR movement
MRR measures recurring value. That’s why it becomes the base for forecasting future growth, customer retention analysis, and planning for sales and marketing teams.

The core MRR formula (and how normalization works)
At its core, the MRR calculation is:
MRR = Sum of the monthly recurring value of all active paying customers
Step 1 — Start from subscription plans
For each customer in your customer base, identify the recurring subscription plan(s) they are actively paying for. This is why MRR works best for a subscription business (subscription companies, subscription based companies, and subscription based businesses).
Step 2 — Normalize every plan to a monthly basis
Not all pricing plans bill monthly. To calculate monthly recurring revenue consistently, normalize everything to a monthly equivalent.
Billing term | Example | Monthly equivalent |
|---|---|---|
Monthly subscriptions | $120/month | $120 |
Quarterly | $300/quarter | $100 (300 ÷ 3) |
Annual contracts | $1,200/year | $100 (1200 ÷ 12) |
2-year | $2,400/2 years | $100 (2400 ÷ 24) |
This is where teams often get misled. Annual contracts increase cash today, but they should not artificially inflate monthly recurring revenue beyond the monthly equivalent.
Step 3 — Decide gross vs net (policy choice)
When customers pay with discounts or coupons, you must decide whether your MRR measures:
- Gross MRR: before discounts
- Net MRR: after discounts
Both are defensible. The mistake is switching between them month to month. If you want to “calculate net”, define it and keep it consistent.
The variables that make MRR tricky in real life
MRR gets tricky because real subscription companies don’t stay “one plan, billed monthly, no changes.” Your pricing strategy evolves. Customers upgrade. Some churn. Discounts appear. And suddenly two people trying to calculate MRR get two different answers.
The solution isn’t a “better formula.” It’s controlling the variables with a consistent policy.
Variable 1 — Billing interval mix (monthly vs annual contracts)
If you have both monthly subscriptions and annual contracts, you must normalize to monthly equivalents. Otherwise, monthly recurring revenue swings based on invoice timing, not recurring value.
Rule: always normalize annual contracts.
Variable 2 — Plan upgrades (expansion MRR)
When an existing customer upgrades (tier, add-ons, seats), the recurring value rises.
Rule: record the increase as expansion MRR. This is how you separate growth from existing customers vs new customers.
Variable 3 — Plan downgrades (contraction MRR)
Downgrades reduce monthly fees while keeping the customer active.
Rule: record the decrease as contraction MRR (reduced revenue from an existing subscriber).
Variable 4 — Subscription cancellations (churn MRR)
When customers cancel, you lose recurring revenue.
Rule: record the lost recurring value as churn MRR (lost revenue). Decide whether churn hits at cancellation date or end of paid term, but stay consistent.
Variable 5 — Reactivation (reactivation MRR)
When churned customers return, that’s not the same as a brand-new acquisition.
Rule: track it as reactivation MRR, so you can see whether growth is coming from new customer acquisitions or from winning back a customer base you once had.
Variable 6 — Discounts & coupons (gross vs net policy)
Discounts impact what customers pay, and they can be temporary.
Rule: define whether your MRR metrics reflect gross or net, and apply the same policy every month.
Variable 7 — Seats/quantity changes and add-ons
Seat-based models change the “monthly recurring revenue generated” without plan tier changes.
Rule: include seat-based recurring value in MRR if it is a stable subscription plan component, and treat increases as expansion MRR.
Variable 8 — Prorations
Prorations are often a billing artifact. They can inflate or deflate monthly revenue but don’t necessarily represent stable recurring value.
Rule: don’t let proration amounts define MRR. The subscription plan’s monthly equivalent defines MRR.
Variable 9 — One-time charges
One-time onboarding fees can look like “revenue growth,” but they are not recurring.
Rule: exclude one-time charges from MRR. Track separately.
Variable 10 — Multi-currency
Multiple currencies can distort average revenue and average monthly revenue.
Rule: define a consistent conversion approach and apply it on a monthly basis.
If you control these variables, your company’s MRR becomes stable, explainable, and useful for predicting future revenue.
A repeatable method to calculate MRR consistently

This method is designed to work as your SaaS business grows and your pricing plans become more complex. The goal isn’t a perfect number. The goal is a number you can defend and explain every month.
Step 1 — Define an MRR policy (one page)
Write your policy down. This prevents endless debate later.
Include:
- Gross vs net MRR (discount handling)
- Normalization rules for annual contracts and other intervals
- Whether paused subscriptions are treated as churn or temporary zero
- How you treat refunds (cash event vs recurring value)
- Snapshot choice: end-of-month vs average revenue across the month
- Currency conversion rule (if needed)
This policy is what aligns founders, finance, and sales and marketing teams.
Step 2 — Choose your snapshot moment (monthly basis)
You need a consistent measurement time:
- “End of month snapshot” is the simplest
- “Average across the month” can be useful, but harder to maintain
Pick one and stick to it. Consistency matters more than the choice.
Step 3 — Build the subscription list for active paying customers
For the snapshot date, list:
- Paying customers (exclude trials)
- Their subscription plans and monthly fees
- Billing interval (monthly, annual contracts, etc.)
- Quantity/seats if applicable
- Discount state if net MRR
- Status (active, canceled subscriptions, paused)
This becomes your truth set for existing subscribers.
Step 4 — Normalize and sum (MRR calculation)
For each subscription:
- Convert to monthly equivalent
- Apply discount policy (gross or net)
- Sum to get total MRR
Now you have a clean monthly recurring revenue number for the customer base.
Step 5 — Explain the change using MRR components (MRR movement)
This is where teams level up. You stop reporting a number and start reporting a story.
Track:
- New MRR (from new customers)
- Expansion MRR (existing customers increased spend)
- Contraction MRR (existing customers reduced spend)
- Churn MRR (lost revenue from subscription cancellations)
- Reactivation MRR (churned customers returned)
Then:
Net new MRR = New + Expansion + Reactivation − Contraction − Churn
This is the cleanest way to discuss revenue growth and predict future growth.
Step 6 — Tie it to retention and unit economics (optional, but powerful)
Once MRR is consistent, you can connect it to:
- churn rate (revenue-based churn)
- net revenue retention
- customer lifetime value
- customer acquisition cost (CAC)
- payback assumptions
MRR becomes the backbone metric that supports your other key metrics.
Worked examples (simple + realistic)
Example 1 — Simple monthly subscriptions
You have a SaaS company with:
- 10 paying customers on a $50 monthly fee plan
MRR = 10 × $50 = $500 total MRR
If two customers upgrade from $50 to $80:
- Expansion MRR = 2 × ($80 − $50) = $60
- New total MRR = $560
This is why tracking expansion MRR matters. It’s revenue growth without new customer acquisitions.
Example 2 — Realistic (billing terms + plan change + churn + discount)
You have these current customers:
- Customer A: $120/month
- Customer B: $1,200/year (annual contract)
- Customer C: $80/month with a 20% discount (net policy)
- Customer D: $50/month, cancels at month-end
Step 1: Normalize
- A = $120
- B = $1,200 ÷ 12 = $100
- C = $80 × (1 − 0.20) = $64 (net)
- D = $50
Starting total MRR = 120 + 100 + 64 + 50 = $334
Step 2: Changes during the month
- Customer A upgrades to $180/month → expansion MRR = +$60
- Customer D churns → churn MRR = −$50
- Customer E joins on $70/month → new MRR = +$70
MRR movement summary
- New MRR: +$70
- Expansion MRR: +$60
- Contraction MRR: $0
- Churn MRR: −$50
- Reactivation MRR: $0
Net new MRR = 70 + 60 − 50 = +$80
Ending total MRR = $334 + $80 = $414
Notice what we didn’t do:
- We didn’t treat the annual payment as $1,200 of monthly recurring revenue.
- We didn’t let invoicing timing drive the MRR measures.
- We made the policy explicit so “calculate MRR” is reproducible month after month.
Common MRR mistakes (quick list)
Here are the mistakes that create dashboards nobody trusts:
- Treating monthly revenue collected as monthly recurring revenue
- Not normalizing annual contracts (inflates MRR)
- Mixing gross and net MRR (discount handling changes)
- Counting one-time charges as recurring revenue
- Letting prorations drive MRR movement
- Counting paused subscriptions inconsistently (sometimes churn, sometimes not)
- Ignoring add-on logic (recurring vs one-time)
- Not separating MRR components (so you can’t explain net new MRR)
- Mixing currencies without a consistent conversion rule
- Reporting “MRR growth” without explaining what changed (new, expansion, churn)
If you only fix one thing: make sure you can explain monthly changes using MRR components.
- Clarity on New, Expansion, Contraction, Churn, and Reactivation MRR
- Drive informed decisions with detailed revenue insights
- Customize metrics to fit your subscription business needs
5-minute sanity checks
Use this every month before reporting company’s MRR.
Check 1 — Do paying customers match your subscription list?
- Do active paying customers equal your list of active subscription plans?
- Do canceled subscriptions drop out consistently?
Check 2 — Does normalization match reality?
- Are annual contracts properly divided by 12?
- Are quarterly/biannual terms normalized correctly?
Check 3 — Can you explain net new MRR?
New MRR + expansion MRR + reactivation MRR
minus contraction MRR and churn MRR
= net new MRR
If you can’t reconcile this, the number isn’t decision-ready.
If total MRR changed but you can’t point to new MRR, expansion MRR, contraction MRR, churn MRR, or reactivation MRR as the reason, your calculation isn’t stable yet.
Check 4 — Are discounts applied consistently?
If you calculate net, discounts should be applied everywhere.
If you calculate gross, don’t let net amounts creep into reporting.
Check 5 — Do retention signals align?
If churn MRR rises, churn rate should worsen.
If expansion MRR rises, net revenue retention should improve directionally.
These relationships won’t be perfect monthly, but they should make sense over time.FAQ
How do you calculate MRR?
To calculate MRR, normalize each active subscription plan to a monthly basis and sum the recurring value across paying customers. The key is defining a consistent policy for discounts, upgrades, downgrades, and churn.
What is the monthly recurring revenue formula?
A practical formula is: MRR = sum of monthly recurring value across active customers, with non-monthly pricing plans normalized into monthly equivalents.
Is MRR the same as recurring revenue?
MRR is a monthly view of recurring revenue. Recurring revenue is the broader concept; MRR is the standard monthly measurement used for subscription business tracking.
How is MRR different from annual recurring revenue (ARR)?
ARR is the annualized view of recurring value. A common relationship is ARR ≈ MRR × 12, but only when MRR is calculated consistently and normalized properly.
Does MRR include discounts?
It depends on your policy. Some teams track gross MRR (before discounts) and others track net MRR (after discounts). The important part is to choose one and keep it consistent.
What is net revenue retention (NRR) and how does it relate to MRR?
NRR measures how recurring revenue from existing customers changes after expansion, contraction, and churn. If you track MRR components well, NRR becomes easier to compute and trust.
Track MRR consistently
MRR is valuable because it’s repeatable. But as your SaaS business grows, the work behind “calculate MRR” becomes less repeatable:
- more pricing plans
- annual contracts mixed with monthly subscriptions
- upgrades and downgrades (expansion MRR and contraction MRR)
- churn MRR and reactivation MRR
- discounts that affect whether you calculate net or gross
- constant pressure to report “company’s MRR” fast and confidently
Most teams start in a spreadsheet. Then the spreadsheet becomes a monthly fire drill. Someone is always reconciling recurring revenue generated, explaining why monthly recurring revenue changed, and trying to predict future revenue with numbers that still feel unstable.
Where Grow Slash fits

Grow Slash is built to automate the MRR calculation and reporting workflow so you don’t have to manually manage the complexity every month.
Instead of rebuilding MRR in a sheet, you can:
- Centralize your subscription data into one dashboard
- Track total MRR on a monthly basis with consistent rules
- Break MRR into MRR components (new MRR, expansion MRR, contraction MRR, churn MRR, reactivation MRR)
- Generate reporting views you can share with founders, finance, and stakeholders
- Keep the same definition month after month, even as pricing plans evolve
The goal isn’t to memorize complexity.
The goal is to measure recurring revenue consistently—so you can focus on revenue growth, customer retention, and what to do next.
Optimize Your MRR Calculation
- Clarity on New, Expansion, Contraction, Churn, and Reactivation MRR
- Drive informed decisions with detailed revenue insights
- Customize metrics to fit your subscription business needs
Get Started with
growslash
Join over 4,000+ startups already growing with Untitled.
Read more Blogs
Elevate your strategies with our expert advice and tips!
Dashboards and Visualization
Get started with Growslash