What is Monthly recurring revenue (MRR)?
Monthly recurring revenue (MRR) is the total predictable subscription revenue for a month, with annual plans divided by twelve so everything is comparable. It excludes one-off charges. The useful view is not the total but its movement — how much came from new customers, expansion, contraction and churn.
What counts and what does not
Include: every active subscription, normalised monthly. An annual plan at $240 contributes $20 of MRR, not $240 in the month it was billed.
Exclude: one-off setup fees, professional services, refunded charges, and anything else that will not recur next month by default. Including them makes a good month look like a permanent gain.
The five movements
The total is not where the information is. The decomposition is:
| Movement | What happened |
|---|---|
| New | First-time subscribers |
| Expansion | Existing customers upgraded or added seats |
| Reactivation | Previously churned customers returned |
| Contraction | Existing customers downgraded |
| Churn | Customers cancelled entirely |
Two businesses can post identical flat months — one with no activity at all, the other adding 20% new while losing 20% to churn. They are in completely different situations, and only the movements distinguish them.
Net revenue retention
NRR = (starting MRR + expansion − contraction − churn) ÷ starting MRR
Measured on existing customers only, over a fixed window. Above 100% means the customer base grows in value without a single new signup — expansion is outrunning losses. It is the single most predictive number about a subscription business, and it is invisible in the MRR total.
Connecting it to traffic
MRR is produced by customers, and customers arrived from somewhere. Joining MRR to revenue attribution turns “we grew 8% this month” into “the growth came from these two channels, and this third one is producing customers who churn”. sonex reads revenue from Stripe or Polar and plots it beside the traffic in the same period, which is the aggregate version of that join.