DEV Community

insightlab
insightlab

Posted on

The Annual Recurring Revenue Audit: A 47-Point Checklist

Most SaaS founders know their ARR number. Very few know if that number is actually correct.

I've audited recurring revenue for over a dozen SaaS companies, and I've yet to find one where the headline ARR matched the granular reality. The gaps are everywhere: trials counted as paying customers, discounts applied inconsistently, failed payments still in the MRR count, expansion revenue double-counted.

This checklist is the exact 47-point framework I use. It's organized into 10 sections. Run through it once a year — ideally before your board meeting, fundraising, or tax season.


Section 1: MRR Calculation Verification (Points 1–6)

1. Confirm your MRR formula includes only active, paying subscriptions — not trials, not freemium users, not paused accounts.

2. Verify that annual plan revenue is divided by 12, not by months remaining in the year.

3. Check that mid-cycle plan changes are prorated correctly (an upgrade on day 15 of a 30-day cycle should count half the old rate + half the new rate).

4. Ensure one-time charges (setup fees, overages, professional services) are excluded from MRR. These are non-recurring revenue.

5. Verify that tax/sales tax/VAT is excluded from MRR. MRR is the subscription amount, not the total invoice.

6. Confirm currency conversion is applied consistently — pick a method (monthly average or spot rate on billing date) and apply it uniformly.


Section 2: Churn Classification (Points 7–13)

7. Separate gross churn from net churn. Gross churn is lost MRR from cancellations and downgrades. Net churn is gross churn minus expansion MRR from existing customers.

8. Verify that involuntary churn (failed payments) is tracked separately from voluntary churn. Different root causes, different solutions.

9. Confirm that contraction MRR (downgrades) is classified separately from full churn (cancellations). Contraction is partially recoverable; full churn is not.

10. Check that churn is calculated as a percentage of starting MRR for the period, not ending MRR. Using ending MRR understates churn.

11. Verify that zero-dollar plans (customers who downgraded to free) are counted as churned, not active.

12. Account for seasonal patterns. Education customers who cancel every summer represent seasonal churn, not structural churn. Track separately.

13. Confirm churn rate is calculated monthly for monthly cohorts and annually for annual plans. Mixing the two creates misleading numbers.


Section 3: Expansion and Contraction Analysis (Points 14–19)

14. Calculate net revenue retention (NRR): (Starting MRR + Expansion - Contraction - Churn) / Starting MRR. The gold standard is >100%.

15. Break down expansion MRR by source: seat additions, plan upgrades, add-on purchases, usage-based overages. Know which lever drives growth.

16. Track expansion rate as a percentage of starting MRR. A healthy B2B SaaS expands 15–25% annually from existing customers.

17. Identify time-to-first-expansion — how many months after signup does a customer typically add their first seat or upgrade? This informs your expansion playbook timing.

18. Track contraction triggers. What happened before the downgrade? Price sensitivity, feature gap, or a change in the customer's business?

19. Calculate the expansion-to-churn ratio. Adding $3 in expansion for every $1 lost to churn is strong. Below 1:1 means you're shrinking from your existing base.


Section 4: Cohort Analysis (Points 20–25)

20. Build a monthly cohort retention table showing what percentage of each month's new customers are still active N months later. Look for the "flattening point" where retention stabilizes.

21. Compare cohorts by acquisition channel. Organic search customers may retain differently than paid ads or referrals.

22. Compare cohorts by plan type. Annual plan cohorts should retain 20–30% better than monthly plan cohorts.

23. Track revenue cohort retention (not just logo retention). A customer who downgraded from $500 to $100/month is "retained" as a logo but represents 80% revenue loss.

24. Identify your worst-performing cohort and investigate. Was there a product, pricing, or onboarding change that month?

25. Compare your retention curve to benchmarks. SaaS Capital data shows median B2B SaaS retains ~70% of customers after 12 months. Top quartile: 85%+.


Section 5: Revenue Recognition Principles (Points 26–30)

26. Verify that annual prepayments are recognized ratably over the subscription period, not upfront. $1,200 paid in January for 12 months = $100/month recognized revenue.

27. Confirm compliance with ASC 606 (or IFRS 15). Core principle: recognize revenue when the obligation is fulfilled, not when cash is received.

28. Check that refunds and credits are deducted from recognized revenue in the period they're issued, not the original billing period.

29. Verify that usage-based revenue is recognized when usage occurs, not when invoiced. If a customer uses 10,000 API calls in March but is billed in April, the revenue belongs in March.

30. Ensure your accounting system (QuickBooks, Xero, NetSuite) matches your revenue recognition policy. Mismatches between billing and accounting systems are the #1 audit finding.


Section 6: Trial-to-Paid Conversion (Points 31–35)

31. Calculate your trial-to-paid conversion rate monthly. Median for B2B SaaS with free trials is 15–25% (KeyValues benchmarks).

32. Segment conversion rate by trial type: freemium-to-paid, time-limited free trial (14-day, 30-day), and demo-to-paid. Each has different benchmarks.

33. Track time-to-conversion — how many days into the trial does the customer convert? If most convert on day 13 of a 14-day trial, you have a deadline-driven pattern.

34. Analyze non-converters. What percentage of non-converting trial users were active during the trial? Inactive trials are an onboarding problem. Active-but-unconverted trials are a pricing/value problem.

35. Measure quality of converted customers. Do trial-to-paid customers retain as well as direct-sale customers? If not, your trial may attract low-intent users who churn quickly.


Section 7: ARPU and Pricing Analysis (Points 36–40)

36. Calculate ARPU monthly and track the trend. Growing ARPU means expansion is working; declining ARPU means you're acquiring lower-value customers or existing ones are downgrading.

37. Segment ARPU by plan tier, customer segment (SMB, mid-market, enterprise), and geography. The aggregate hides distribution patterns.

38. Analyze discounting practices. What percentage of customers are on a discount? Average discount depth? Discounts above 25% correlate with higher churn.

39. Track pricing mix shift — is your customer base moving toward higher or lower tiers? A shift to lower tiers can mask revenue stagnation even as logo count grows.

40. Calculate price elasticity of your most common upgrade path. If a 10% price increase reduces conversions by less than 10%, you have pricing power you're not using.


Section 8: Payment Failure and Recovery (Points 41–43)

41. Calculate your monthly payment failure rate — percentage of attempted charges that fail. Under 5% is healthy, 5–10% needs attention, over 10% is a red flag.

42. Track your dunning recovery rate — what percentage of failed payments are eventually recovered? A well-structured dunning sequence recovers 28–35%.

43. Measure time-to-recovery for failed payments. The longer a payment stays failed, the lower the recovery probability. Aim for median recovery within 7 days.


Section 9: Annual vs. Monthly Mix (Points 44–45)

44. Calculate the annual-to-monthly revenue split. Annual plans improve cash flow, reduce churn (lock-in effect), and simplify forecasting. A healthy mix is 30–50% annual for early-stage SaaS, trending toward 50–70% as you move upmarket.

45. Compare retention rates between annual and monthly customers. Annual customers should churn at roughly half the rate of monthly customers. If they don't, your annual plan isn't creating enough value differential — consider annual-only features or deeper discounts.


Section 10: Logo Retention vs. Revenue Retention (Points 46–47)

46. Calculate logo retention rate — what percentage of customers (count) are still active after 12 months, regardless of how much they pay.

47. Calculate revenue retention rate — what percentage of starting MRR is still active after 12 months (excluding expansion).

The critical comparison: If logo retention is 80% but revenue retention is 65%, you're losing your highest-value customers while retaining low-value ones. Your product is sticky for small customers but not for the ones who pay the most. Investigate why enterprise customers are leaving.

Conversely, if revenue retention exceeds logo retention (e.g., 95% revenue with 85% logo), your remaining customers are expanding enough to offset lost logos. This is healthy — but watch for growing dependency on a small number of large accounts.


How to Run This Audit

Don't try all 47 points in one sitting:

  • Week 1: Sections 1–3 (MRR, Churn, Expansion). The foundation — everything depends on accurate MRR and churn numbers.
  • Week 2: Sections 4–5 (Cohorts, Revenue Recognition). Requires historical data and finance team input.
  • Week 3: Sections 6–7 (Trials, ARPU/Pricing). Growth-focused — where revenue comes from and could come from.
  • Week 4: Sections 8–10 (Payments, Plan Mix, Retention). Strategic metrics informing pricing and packaging decisions.

Output: A one-page summary with corrected ARR, NRR, churn rates (gross/net, voluntary/involuntary), and top 5 issues. Share with your team and set a 90-day plan to address gaps.


Tools That Help

  • Baremetrics or ChartMogul for MRR/churn tracking and cohort analysis (both pull from Stripe)
  • ProfitWell for free MRR analytics with deep churn analysis
  • Maxio for revenue recognition and subscription management
  • A spreadsheet for the audit itself — you need to trace numbers back to source data, not rely on dashboard black-box calculations

The Bottom Line

Your ARR number is only as good as the data behind it. A 5% error in MRR calculation compounds across every metric that depends on it — churn rate, NRR, ARPU, LTV, CAC payback period.

Run this audit once a year. It takes 4 weeks of part-time work and consistently surfaces $10K–$100K in "found" revenue from misclassified accounts, unprocessed credits, and undercounted expansion.

The companies that grow sustainably aren't the ones with the highest ARR — they're the ones whose ARR number they can defend down to the dollar.


Written by Insight Lab — B2B SaaS content that converts. Follow for weekly playbooks on growth, retention, and founder-led content.

Top comments (0)