How to Calculate Monthly Recurring Revenue (MRR)
Monthly Recurring Revenue (MRR) is the predictable revenue a subscription business expects each month. Learn the standard MRR calculation, variations, and common mistakes to avoid.
Monthly Recurring Revenue (MRR) is the predictable, recurring revenue a subscription business expects to receive each month. It's one of the most important metrics for SaaS and subscription companies because it indicates the health and momentum of the recurring revenue base.
Basic MRR Formula
The fundamental MRR calculation is:
MRR = Sum of all active subscription values, normalized to monthly
Normalization matters: A customer paying $12,000/year contributes $1,000/month to MRR, same as a customer paying $1,000/month directly.
Step-by-Step Calculation
Step 1: Identify Active Subscriptions
Include all subscriptions where:
- Status is "active" (not churned, paused, or trial)
- The subscription period includes the measurement date
- The customer is in paying status
Step 2: Normalize to Monthly Value
Convert all subscription values to monthly equivalents:
| Billing Period | Conversion |
|---|---|
| Monthly | Value as-is |
| Quarterly | Value ÷ 3 |
| Annual | Value ÷ 12 |
| Multi-year | Value ÷ (months in term) |
Step 3: Apply Exclusions
Exclude amounts that aren't recurring:
- One-time setup fees
- Professional services
- Overages and usage charges (unless contracted minimums)
- Discounts that aren't ongoing
Step 4: Sum All Values
MRR = Σ (Normalized monthly value for each active subscription)
MRR Movement Components
Understanding how MRR changes is as important as the total. Track these components:
New MRR
Revenue from new customers acquired in the period:
New MRR = Sum of MRR from customers who started this period
Expansion MRR
Additional revenue from existing customers (upgrades, add-ons):
Expansion MRR = Sum of MRR increases from existing customers
Contraction MRR
Reduced revenue from existing customers (downgrades):
Contraction MRR = Sum of MRR decreases from customers who didn't churn
Churned MRR
Revenue lost from customers who cancelled:
Churned MRR = Sum of MRR from customers who churned this period
Net New MRR
The net change in MRR:
Net New MRR = New MRR + Expansion MRR - Contraction MRR - Churned MRR
Common MRR Calculation Mistakes
Mistake 1: Including Non-Recurring Revenue
One-time charges, services, and overages inflate MRR and distort trends. Be strict about what "recurring" means.
Mistake 2: Wrong Normalization
Failing to normalize annual contracts understates MRR (if counting actual monthly payments) or overstates it (if counting full annual value).
Mistake 3: Timing Errors
MRR should reflect the subscription value for the period, not when payment was received. A January payment for a February subscription is February MRR.
Mistake 4: Inconsistent Filters
Trial subscriptions, internal accounts, and test data can inflate MRR if not consistently excluded.
Mistake 5: Currency Confusion
Multi-currency subscriptions need consistent conversion. Define whether to use transaction-date rates, month-end rates, or fixed rates - and apply consistently.
Example Calculation
Company has these active subscriptions:
| Customer | Billing | Contract Value | Monthly MRR |
|---|---|---|---|
| Acme Corp | Annual | $24,000 | $2,000 |
| Beta Inc | Monthly | $500 | $500 |
| Gamma LLC | Quarterly | $3,000 | $1,000 |
| Delta Co | Annual | $6,000 | $500 |
Total MRR = $2,000 + $500 + $1,000 + $500 = $4,000
MRR in Context-Aware Analytics
A well-governed MRR metric includes:
metric:
name: MRR
description: Monthly Recurring Revenue - normalized subscription value
calculation: |
SUM(
contract_value /
CASE billing_period
WHEN 'monthly' THEN 1
WHEN 'quarterly' THEN 3
WHEN 'annual' THEN 12
END
)
filters:
- subscription_status = 'active'
- subscription_type NOT IN ('trial', 'internal', 'test')
dimensions: [customer_segment, product, region]
currency: USD
owner: finance_team
With this definition, MRR is consistent everywhere - dashboards, reports, AI queries - eliminating confusion about how it's calculated.
Questions
MRR is monthly recurring revenue; ARR is annual recurring revenue. ARR = MRR × 12. Both measure the same underlying subscription value but at different time scales. MRR is useful for month-to-month tracking; ARR is useful for annual planning and comparisons.