How to Verify MRR: A Practical Guide Using Stripe Data
Step-by-step instructions for verifying a seller's MRR claims using Stripe data, including common manipulation tactics to watch for.
By AcquiCheck Research
MRR is the single most important metric in any SaaS acquisition, and it's also the most commonly misrepresented. Here's how to verify it properly.
What MRR actually means. Monthly Recurring Revenue counts only revenue that repeats every month from active subscriptions. It excludes one-time payments, annual prepayments (unless normalized to monthly), refunds, and disputed charges. Simple in theory, surprisingly nuanced in practice.
The Stripe verification process. If the seller uses Stripe, ask for read-only access or a detailed export. In Stripe, navigate to Billing then Subscriptions. Filter by status: active. The sum of all active subscription amounts is your starting point for MRR.
Watch for these Stripe-specific manipulation tactics. Lifetime deals counted as subscriptions: some sellers create $0/month subscriptions for LTD customers to inflate their active subscriber count. Check for $0 or very low amount subscriptions. Paused subscriptions: Stripe allows pausing subscriptions without canceling. These shouldn't count toward MRR but sometimes do in seller reports. Recent plan changes: check if prices were recently increased to inflate current MRR. Look at the price change history.
Cross-reference with actual deposits. The most reliable check: compare Stripe payouts to the business bank account over 6 months. Net deposits should roughly match reported net revenue minus Stripe fees. Large discrepancies indicate either unreported refunds or alternative revenue being counted.
Calculate true churn. Export all subscription events for the past 12 months. True monthly churn = (canceled subscriptions in month) / (total active at start of month). Sellers often report annual churn divided by 12, which understates the actual monthly rate.
Annual plan normalization. If a significant portion of customers are on annual plans, normalize to MRR by dividing annual amounts by 12. But note the risk: a $1,200/year plan looks like $100/month MRR, but if 10 annual customers don't renew, you lose $1,000 MRR in a single month.
Revenue concentration. While in Stripe, check the top 10 customers by payment volume. If any single customer represents more than 10% of MRR, that's worth noting. If it's above 20%, it's a material risk.
The tools we use. At AcquiCheck, we connect directly to Stripe via read-only OAuth and run automated checks against all of these patterns. Our algorithms flag discrepancies between reported MRR and verified MRR, calculate true churn by cohort, and identify concentration risk. But even without automation, following this checklist manually will catch the most common issues.
Need due diligence on a specific deal?
Start with a free Quick Score or order a full report.