SaaS MRR Calculation and Forecasting: Full Guide [Free template]
Amongst all SaaS metrics, Monthly Recurring Revenue (MRR) is probably the most used metric when assessing growth and valuation for SaaS businesses. Yet, MRR calculation is often misunderstood which makes it even harder to assess and predict revenue and cash flows for SaaS founders.
What is MRR and why is it important
MRR (“Monthly Recurring Revenue”) is a measure of recurring revenue for SaaS businesses.
One common misconception about MRR is that MRR = revenue. That’s not necessarily true. Indeed, as we only refer to recurring revenue, any non-recurring revenue stream is therefore excluded from MRR.
For example, a software SaaS business that sells both monthly subscriptions as well as dedicated training sessions wouldn’t include the latter in MRR calculation.
So why is MRR so important?
Most SaaS businesses generate most (if not all) their revenues out of subscriptions. Typically, a SaaS business sells a service to a customer who pays the same amount every month (or every year) to get access to the service.
Therefore, most of SaaS business’ sales are recurring, which makes it easier to forecast future revenue. Indeed, as long as a SaaS business have reliable data on churn and new customers, we can accurately extrapolate future revenue.
This is where MRR comes in: we forecast future revenue using the current MRR and some assumptions on future growth. We usually extrapolate these assumptions from historical data.
For example, if your current MRR is $10,000 coming from 200 customers (paying $50 each per month), and you assume:
- Churn of 2% (based on historical data)
- 10 new customers per month over the next 6 months
Assuming you only sell subscriptions, revenue for the next 6 months is:
How to calculate MRR
Calculating MRR is actually simple: sum up all your customers’ recurring revenue for a given month.
In our example above:
- Month 0: 200 customers paying $50 p.m. = $10,000 MRR
- Month 1: 206 customers paying $50 p.m. = $10,300 MRR
- And so on…
What if you have non-recurring revenue?
Assuming part of your revenue isn’t recurring, revenue is simply the sum of non-recurring and recurring revenue. Therefore:
Revenue = recurringrevenue + non-recurring revenue
Monthly revenue = MRR + non-recurring revenue
For example, assume you also provide dedicated onboarding for new customers who need it at a fixed one-time $500 fee, total revenue for the next 6 months would like this:
Note: we made some assumptions regarding the number of customers who require onboarding.
How to calculate ARR?
Most SaaS businesses use MRR to track and forecast revenue. Yet, some also use ARR as well. Businesses that use ARR typically have a high proportion annual billing contracts (instead of monthly billing).
Where MRR calculates the recurring revenue one business generates over a month, ARR calculates the recurring revenue it generates over a year instead.
Therefore, the formula is very simple:
ARR = MRR x 12
As you would have noticed, in order to calculate ARR we assume no change to the total number of customers over time. In our example above, while MRR is $10,000 in month 0, ARR would be $120,000.
MRR vs. bookings: why we often get it wrong
We saw earlier how to calculate MRR and revenue.
What if some (or all) customers pay annual subscriptions instead? Some customers choose to pay monthly ($50 in our example above) and others decide to pay annual (say, $500 a year upfront).
Annual subscriptions cannot simply be summed up to calculate MRR. Instead, they should be counted as bookings: a measure of the total value of the contracts earned in a given month. For MRR calculation, we need to divide the annual payment by the number of month instead.
Annual subscriptions aren’t MRR simply because they are not paid monthly and they aren’t recurring.
Let’s use an example. Let’s assume 1 customer chooses to pay $500 upfront for the annual subscription in month 2 instead.
If we consider this payment as MRR, our MRR would look like this:
MRR would indeed show important volatility as customers choose to pay annual over monthly.
Instead, we would calculate MRR by dividing the $500 annual payment by 12 months ($42):
Note: you would have noticed that MRR still fluctuates slightly as the $500 annual subscription is actually cheaper than the monthly equivalent over a year ($600)
How to forecast MRR
We saw earlier a very simple example of how to forecast MRR assuming some churn. The reality is of course slightly more complicated: SaaS businesses need to account for upsell and downsell on top of churn and new customer acquisition.
Therefore, we looking at MRR we typically break it down in 4 different parts:
MRR = New MRR + Upsell MRR – Downsell MRR – Churn MRR
- New MRR (positive): monthly recurring revenue from new users
- Upsell (or Expansion) MRR (positive): any upgrades or additional services purchased by existing customers
- Downsell (or Contraction) MRR (negative): any downgrades or cancelled services by existing customers
- Churn MRR (negative): the monthly recurring revenue you lost from churned users
MRR is also referred to as “net new MRR” or “Net MRR” as it is the sum of all new customers, plus upsell, minus downsell and churn.
Forecasting MRR: an example
Therefore, when forecasting MRR we need to have assumptions for all 4 different parts of the equation. Using our example above again, let’s assume the following:
- We sell 2 plans: A ($50 per month) and B ($100 per month)
- No annual subscriptions (for simplicity)
- We acquire 10 new customers per month, of which 80% choose plan A
- Churn: 2% per month across both plans
- Upsell: 5% per month
- Downsell: 5% per month
We can then forecast the number of customers over time:
Using the pricing ($50 per month for plan A and $100 for plan B), we can now forecast MRR:
Download our free template here to forecast MRR.
For more information on how to build a rock-solid revenue model for your SaaS startup, read our how to guide below (we also included a free template):
Any questions on SaaS finance? We have lots of free resources as well, check out our articles below: