Skip to content
RevenueLeak

Subscription analytics that shows where MRR leaks

Most subscription dashboards tell you that MRR went down. RevenueLeak tells you why, in dollars, and which accounts are behind it. It reads your billing system read-only, puts MRR next to the money that slips away each month, and tracks how much of it comes back once recovery rules run.

Finance team reviewing printed monthly revenue charts

Subscription analytics software built on leaks, not only on charts

A chart of MRR over time is useful, but it hides the reasons behind each movement. A month with flat MRR can contain a wave of failed renewals offset by new sales, a forever coupon spreading across large accounts and a group of customers still paying an old price. RevenueLeak breaks the number into its parts and ties every part to invoices in your own billing system. For teams on Stripe, the same view works as Stripe analytics with one added layer: each metric links to the accounts and invoices that produced it, so nobody has to rebuild the logic in a spreadsheet.

  • MRR, new, expansion, contraction and churned MRR for the period.
  • Leak rate, the share of MRR lost to the nine leak categories.
  • Recovered revenue, the dollars that came back after a rule ran.
  • Failed payment cohorts by month of first decline.

MRR read from invoices and subscriptions

MRR is computed from active subscriptions and their prices, normalized to a monthly value. Yearly plans count as one twelfth per month. Discounts reduce MRR for as long as they apply, so a coupon with an end date and a coupon without one look different in the forecast. Trials without a card and fully comped accounts are shown apart, so they never inflate the number you report. Every change between two periods is classified as new, expansion, contraction, churn or reactivation, and each line opens the list of accounts behind it.

MovementWhat counts
New MRRFirst paid invoice of a new subscription in the period
ExpansionUpgrade, added seats or a price increase on an existing account
ContractionDowngrade, removed seats or a new discount
Churned MRRSubscription ended, voluntary or after a failed payment
ReactivationA churned account that pays again

Leak rate as one monthly number

Leak rate is the estimated monthly value of all open leaks divided by MRR. It includes failed renewals without a full retry schedule, cards expiring before the next renewal, legacy prices, unbilled prorations, comped accounts, open-ended coupons, refund and dispute patterns, cancellations after a failed payment and, for stores, abandoned checkouts. For example, a company with 100,000 USD MRR and 3,000 USD of open leaks per month has a leak rate of 3 percent. The audit shows how the rate moves from one audit to the next, so a fix in pricing or a new retry rule shows up as a lower number, not as a guess. The full structure of each category is on the billing leakage page.

Recovered revenue you can trace to a rule

Recovered revenue counts only invoices that were paid after a RevenueLeak action: a retry we scheduled, a recovery email, a card update link or a pause offer accepted instead of a cancellation. Payments recovered by the built-in retries of your billing system are shown in a separate column, so the two are never mixed. Each recovered invoice keeps the rule that acted, the attempt number and the date. That makes the figure usable in a finance report, because anyone can open it and check the invoice behind it. The mechanics of retries by decline code are on the failed payment recovery page.

A cohort of failed payments, followed to the end

Every month of first declines forms a cohort. For each cohort the report shows how many invoices failed, the dollar value, the decline codes, how many recovered after one, two or more attempts, how many recovered through a card update and how many ended in churn. Reading cohorts side by side shows whether a change worked. If the cohort after a new retry schedule recovers more of its value than the cohort before it, the schedule helped. If hard declines such as expired cards dominate, the answer is earlier card update requests through the card updater, not more retries.

  • Value of failed invoices per cohort, in USD.
  • Recovered share by attempt number and by decline code.
  • Share recovered through a card update.
  • Value lost to churn after the final attempt.

Exports for finance and the board

Every view exports to CSV on all plans. Growth adds the PDF report, Scale and Enterprise add the API for your own warehouse or BI tool. Metrics refresh with each audit: monthly on Starter, weekly on Growth and daily on Scale and Enterprise. Plans are priced by MRR band, from 49 USD per month or 24 USD per month billed yearly on Starter, with full details on the revenue optimization software page.

Read-only access to your billing data

Analytics need read access only. RevenueLeak connects with a restricted key or an app authorization with read scopes, and it never creates charges, edits subscriptions or changes prices. Recovery actions run only when you switch a rule on. The full permissions list is on the revenue assurance software page.

Questions about subscription analytics

Stripe, Paddle, Chargebee, Recurly, Shopify and WooCommerce, connected read-only.

Churn rate counts revenue already gone, leak rate counts revenue still leaking that you can fix.

No. Built-in retry results are shown in a separate column and never counted as ours.

With each audit, monthly on Starter, weekly on Growth, daily on Scale and Enterprise.

Yes. CSV on every plan, PDF from Growth, API from Scale.