Cool new Stripe analytics for SaaS apps are popping up almost every day. And you want to try them out, of course!
So you’ve just subscribed to a new analytics app, but it shows different numbers than the previous app. How do you know which app reports your data right?
After reading this article you’ll know the most common causes for differences in the numbers. You’ll also learn what questions you can ask your analytics app provider to check out if the numbers are calculated the way you need and want.
The root problem - SaaS metrics aren’t controlled by GAAP
There are certain rules that all accountants follow, called GAAP. GAAP stands for Generally Accepted Accounting Principles. But SaaS metrics aren’t defined in the GAAP.
As a result there are several variations on how the SaaS metrics are calculated. The results may vary a bit or a lot depending on what variation is used.
Different results may both be right - they are just optimized for different purposes.
Different uses of MRR
MRR can be used to:
- Assess month-to-month performance
- Calculate recurring profit
- Estimate future performance (Committed MRR)
What separates recurring revenue from regular revenue is that recurring revenue is normalized - You’ll only book the part that you provided the service for.
If you assess monthly performance, you’ll want the MRR to answer the question: “How much of my revenue was received from the services that I provided this month, and is recurring?”. If you wouldn’t get new customers and no-one would cancel, downgrade or upgrade, you’d receive this same MRR next month.
If you want to do profit calculations, the question is: “How much of my revenue was received from the services that I provided this month?” No matter if it will be there next month!
If you estimate future performance, the question is: “How much revenue will I receive for the services that I’ll provide next month?” So if a customer cancelled today, you’d reduce the MRR - even though he already paid this month and that revenue stays in your pocket.
FirstOfficer.io calculates the MRR to assess monthly performance.
If you just normalize and sum up the Stripe invoices/charges, you’ll end up with option 2 - MRR for calculating recurring profit. That is usually pretty near to option 1, especially if prorations aren’t used and you don’t have a lot of refunds.
Ok, what are the actual differences?
Based on what purpose the MRR is calculated for, there are differences in:
- What gets included in MRR? Everything or just subscription revenue?
- When are the losses booked? When customer stops paying or on cancellation?
- What gets normalized? Just revenue or also refunds?
- How upgrades and downgrades are booked? Are prorations normalized?
If your analytics app books the losses on cancellation date, you’ll want to know if the losses are reduced from MRR or not. Just ask if they calculate MRR or Committed MRR. Also ask if the churn rates are based on previous month’s total MRR or on the subscriptions that actually can be lost. If they use the previous month’s total MRR for anything else than Net Churn, you’ll know that the churn rates will not be accurate.
How do I know how my analytics app calculates these things?
Your analytics app should provide this information for you. If it doesn’t, just go ahead and ask for it! You are entitled to have it - otherwise you can’t really know what the numbers stand for.
FirstOfficer.io calculation principles can be found in the Learning Center. You can also click most of the numbers in the MRR view to drill down and see which customers are included and with what amount. And I’ll be happy to answer any questions about the metrics or their usage.
I’ve chosen to calculate the MRR in a way that month-to-month performance can be assessed. I think it’s a nice compromise that is close enough to recurring profit, and is still easy to convert to Committed MRR if needed.
Which way do you like to calculate your MRR?