Formula Guide

MRR Formula: Exact SaaS Calculation Rules

This page defines the exact formula, the variables, the inclusion and exclusion rules, and the edge cases that must be handled if the metric is to be calculated correctly.

FRM

What This Formula Covers

Canonical formula

For a set of active recurring contract lines L, monthly recurring revenue at time t is:

MRR(t) = Σ for i in L(t) of MonthlyRecurringValue(i)

For each recurring line i:

MonthlyRecurringValue(i) = RecurringContractValue(i) / TermInMonths(i)

If quantity-based pricing applies, the equivalent line-level expression is:

MonthlyRecurringValue(i) = UnitPricePerBillingPeriod(i) × Quantity(i) × BillingPeriodsPerMonth(i)

These formulas are exact only if the line is truly recurring and the contract term is normalized correctly.

Variable definitions

  • L(t): the set of recurring contract or subscription lines active at time t.
  • RecurringContractValue(i): the total committed recurring value of line i over its billing term, excluding one-time charges and taxes.
  • TermInMonths(i): the exact number of months covered by the recurring commitment of line i.
  • UnitPricePerBillingPeriod(i): recurring unit price for one billing period.
  • Quantity(i): billable recurring units, seats, licenses, or committed usage blocks.
  • BillingPeriodsPerMonth(i): conversion factor from the billing period of line i to one month.

Inclusion rules

Include a line in MRR if and only if all of the following are true:

  • The charge is contractually recurring.
  • The service period is active at time t.
  • The price is attributable to ongoing service rather than a one-time event.
  • The contract term can be normalized into months without ambiguity.

In set form:

L(t) = { i | i is recurring AND i active at t AND i monthly-normalizable }

Exclusion rules

Exclude the following from MRR:

  • One-time setup or onboarding fees.
  • Professional services and implementation work.
  • Taxes, VAT, and pass-through fees.
  • Hardware shipments.
  • Non-recurring credits or one-off adjustments.
  • Future-scheduled recurring lines that are not yet active at time t.

Cash collected in advance also does not change the formula. MRR is based on normalized recurring contract value, not on cash timing.

Term normalization

Normalization must follow the exact recurring term:

  • Monthly contract: MonthlyRecurringValue = ContractValue / 1
  • Quarterly contract: MonthlyRecurringValue = ContractValue / 3
  • Annual contract: MonthlyRecurringValue = ContractValue / 12
  • Multi-year recurring contract: MonthlyRecurringValue = ContractValue / TotalMonthsInCommittedTerm

A strict rule follows:

ARR = 12 × MRR

Therefore, if ARR cannot be derived exactly from the MRR base, the MRR normalization policy is inconsistent.

Edge cases

  • Annual prepayment: full invoice amount does not enter one month of MRR; only the normalized monthly value does.
  • Mid-period expansion: MRR changes at the effective date of the recurring amendment, not at signature date if service has not started.
  • Discounted term: use the actual recurring contracted value after applied recurring discount, not list price.
  • Metered overages: include only if they are contractually recurring base commitments; exclude pure variable usage if not committed recurring revenue.
  • Paused subscription: if service entitlement is suspended and billing is not active, the line is not in L(t).

Worked example

Suppose a workspace has three active recurring lines at time t:

  • Line A: annual subscription, USD 12,000 for 12 months
  • Line B: monthly add-on, USD 300 per month
  • Line C: quarterly seat package, USD 900 per 3 months

Then:

MonthlyRecurringValue(A) = 12,000 / 12 = 1,000
MonthlyRecurringValue(B) = 300 / 1 = 300
MonthlyRecurringValue(C) = 900 / 3 = 300
MRR(t) = 1,000 + 300 + 300 = 1,600

If a one-time implementation fee of USD 2,500 exists on the same invoice, it contributes 0 to MRR.

Strict summary

MRR is not “cash collected this month” and not “invoice value this month.” It is the exact sum of all active recurring lines after monthly normalization of their recurring committed value.

If a charge is not recurring, not active, or not monthly-normalizable, it does not belong in the formula.

MAP

Related Reading

Core metric pages: