Subscription MRR
Normalize subscription billing plans to recurring monthly revenue and annualized run rate.
Description
Monthly recurring revenue normalizes subscription billing to a monthly run rate.
Monthly recurring revenue normalizes subscription billing to a monthly run rate. Annual billing contributes its monthly equivalent rather than the whole invoice each month.1
Normalize subscription billing plans to recurring monthly revenue and annualized run rate.
When to use Subscription MRR
Use this for the following task: Normalize subscription billing plans to recurring monthly revenue and annualized run rate.
Prepare the scenario values in one currency and consistent time periods. Use fractions for fraction fields and percentage points for percent fields.
How to use Subscription MRR and understand its results
- Prepare the scenario values in one currency and consistent time periods. Use fractions for fraction fields and percentage points for percent fields.
- Enter planNames, subscriberCounts, billingAmounts, billingPeriodMonths using the field table, then run the tool.
- Read planMrr, totalMrr, annualizedRunRate. Interpret flags, units, ordering and placeholder values using the rules below.
- Review any reported issue or failed check, correct the supplied values when appropriate, and verify the result in its intended context.
| Input field | Meaning | Value type and bounds | Requirement |
|---|---|---|---|
| planNames | Plan names | list of string; each entry: string | Required |
| subscriberCounts | Subscriber counts | list of number; each entry: number | Required |
| billingAmounts | Billing amounts | list of number; each entry: number | Required |
| billingPeriodMonths | Billing period months | list of number; each entry: number | Required |
Align plan names, nonnegative subscriber counts/amounts and positive integer billing periods. Normalize each plan and sum.2
plan MRR=subscribers×billingAmount/billingPeriodMonths; annualizedRunRate=12 totalMRR This summarizes the declared operation. Units, indexing, inclusivity and exceptional cases are explained in the surrounding text.
| Output field | Meaning | Value type |
|---|---|---|
| planMrr | Plan mrr | list of number |
| totalMrr | Total mrr | number |
| annualizedRunRate | Annualized run rate | number |
{
"input": {
"planNames": [
"monthly",
"annual"
],
"subscriberCounts": [
10,
5
],
"billingAmounts": [
20,
120
],
"billingPeriodMonths": [
1,
12
]
},
"output": {
"planMrr": [
200,
50
],
"totalMrr": 250,
"annualizedRunRate": 3000
}
} Limitations and assumptions
Use a consistent currency. This is recurring run rate, not recognized revenue, cash receipts or a forecast.
These outputs describe the supplied scenario; accounting definitions, capitalization terms and time periods must match the intended use. Malformed requests produce input errors. A successfully evaluated request can still contain false flags, empty result lists or a result outside the supplied threshold; those outcomes have the meanings stated above.
Alternative or Complementary methods
Choose MRR Movement Bridge for this operation: Reconcile starting MRR with new, expansion, contraction, and churn movements. For a complementary task, use Net Revenue Retention for this operation: Compute net revenue retention including expansion within the starting customer cohort.
Further background: Billing analytics dashboard.
References
-
Billing analytics dashboard — Stripe
-
Subscription MRR — tool.io
Similar or alternative tools
- MRR Movement Bridge
Reconcile starting MRR with new, expansion, contraction, and churn movements.
- Net Revenue Retention
Compute net revenue retention including expansion within the starting customer cohort.