MRR (monthly recurring revenue) is the subscription revenue you can expect to bill again next month, with every plan converted to a monthly amount. A €3,600 annual contract is €300 of MRR. A €2,000 onboarding fee is zero. Almost every argument about MRR is an argument about which line items belong in it, so most of this guide is about that.
The formula
MRR = sum of every active subscription, converted to one month
Stripe's billing analytics use the same idea: MRR is "the sum of the monthly-normalized value" of active and past-due subscriptions, and it leaves out taxes, customers on free plans and metered usage (Stripe docs). Stripe's own example is 100 customers on a $100 monthly plan plus 50 on a $600 yearly plan: 100 x $100 + 50 x ($600 / 12) = $12,500 of MRR.
The conversion is the whole trick. A yearly plan is spread over twelve months, a quarterly plan over three, so the number describes what keeps coming in rather than what happened to land in the bank.
Sorting one company's June, line by line
Take a small B2B tool with two monthly plans and a handful of annual contracts. In June it receives €21,788. Here is every line, sorted:
| Line item in June | Counts toward MRR? | MRR |
|---|---|---|
| 40 customers on Starter at €99/month | Yes | €3,960 |
| 12 customers on Team at €249/month (one has given notice for 31 July) | Yes, until the cancellation takes effect | €2,988 |
| 4 annual contracts at €3,600/year, two of them renewed and paid upfront in June (€7,200) | Yes, one twelfth each, every month | €1,200 |
| €2,000 onboarding fee from a new Team customer | No, it will not repeat | €0 |
| €640 of usage overages | No, it varies month to month | €0 |
| €5,000 consulting project | No | €0 |
| New customer signed for Team, first invoice 1 August | Not yet | €0 |
| VAT charged on top of the invoices | No, it is not your money | €0 |
| Total | €8,148 |
Two lines in that table are judgment calls, and it helps to decide them once and write the rule down.
Usage is the first. If a customer has a committed monthly minimum, the minimum is recurring and belongs in MRR; whatever they burn through above it is usage revenue, which you track next to MRR. That matches how Stripe treats metered products.
The second is the customer who has already given notice. They are still paying, so they stay in MRR until the date they leave. What you should not do is plan next quarter as if they will be there.
The mistake: reading MRR off the bank statement
June's bank deposits were €21,788 and June's MRR was €8,148. A founder who multiplies the deposits by twelve tells investors about a €261,456 business. The real annual figure is €97,776.
The error usually runs through annual plans. A company that sells mostly annual contracts sees huge months when renewals land and empty months in between, and neither kind of month is the MRR. Divide each contract by twelve and the lumpiness disappears. The same goes for multi-year deals: a three-year contract at €3,600 a year is €300 of MRR, whatever the total contract value.
What moved in July
MRR changes in only four ways, and the four are worth tracking separately because each points to a different problem.
| Movement | What happened in July | MRR |
|---|---|---|
| Starting MRR | €8,148 | |
| New | 5 Starter and 1 Team customer signed and paid | +€744 |
| Expansion | 2 customers upgraded from Starter to Team | +€300 |
| Contraction | 1 customer downgraded from Team to Starter | -€150 |
| Churn | 3 Starter customers cancelled, and the Team customer who gave notice left | -€546 |
| Ending MRR | €8,496 |
net new MRR = new + expansion - contraction - churn
= 744 + 300 - 150 - 546 = €348
The headline says MRR grew 4.3% (348 / 8,148). Underneath, €696 of existing revenue walked out through churn and downgrades, 8.5% of the starting base in one month. New sales are only just outrunning the leak. At that rate the company has to replace most of its revenue every year just to stand still, and the headline growth figure hides it.
Reading the movements tells you where to look. Weak new MRR is a sales and marketing question. Rising contraction usually means customers get less value than the plan they bought. Rising churn is a retention question. The same total can hide any of the three. The MRR calculator splits a month into these four movements if you enter them.
MRR vs ARR
ARR (annual recurring revenue) is MRR times twelve. At the end of July this company has €8,496 of MRR and €101,952 of ARR. They describe the same subscriptions at two time scales, so both should come from the same customer list and can never disagree.
| MRR | ARR | |
|---|---|---|
| Formula | active subscriptions per month | MRR x 12 |
| Use it for | running the company: churn, hiring, runway | investors, fundraising, board updates |
| Moves | the month something changes | slowly, by design |
| Fits | monthly plans, early stage | annual contracts, B2B sales |
Run the company on MRR, because a month is short enough to act on. July's churn shows up in July's movements; in an annual figure it gets averaged away for most of the year. Talk to investors in ARR, because milestones and benchmarks are quoted that way. "€100k ARR" is a sentence people recognise. "€8,333 MRR" describes the same company.
Three conversions make either number wrong:
- Annualising a good month. June's €21,788 of deposits times twelve is not ARR. Only the recurring part scales.
- Counting a multi-year total. A three-year deal worth €10,800 is €3,600 of ARR.
- Keeping them in two places. An ARR in the pitch deck and an MRR in the finance sheet drift apart, and the gap tends to surface in due diligence.
The ARR guide covers how to build the ARR number you quote so it survives an investor asking for the customer list.
What to do next
Write your MRR rules down once: how you treat annual plans, discounts, usage minimums, customers who have given notice, and signed deals that have not started. Then apply them the same way every month. Consistency matters more than which convention you pick, because the trend is what you and investors read.
Then put MRR next to your costs. MRR is the revenue half of net burn, and net burn sets your runway. If one customer makes up a large share of it, stress-test that customer before you plan around them.
In Plainhub you add each customer with their monthly revenue and pick Monthly, Annual or One-time billing. MRR counts only customers marked Active on monthly or annual billing, plus any income you logged as recurring. Signed customers who have not paid yet (Expected), customers you have marked At risk and one-time deals stay out, so the runway it calculates is built on the strict number.