Revenue Leakage in B2B SaaS:
The Silent Margin Killer

SaaS businesses leak revenue differently from traditional B2B models. The leaks are harder to see because aggregate metrics like MRR obscure them — and by the time they show up in headline numbers, they have been compounding for months.

TL;DR SaaS revenue leaks hide in aggregate metrics. MRR growth can mask account-level erosion for months. The four patterns to audit: billing errors, involuntary churn, missed expansion signals, and pricing drift. Each requires a different fix.

Why SaaS leaks are harder to see

In a transactional business, revenue leakage shows up relatively quickly in the gap between lead volume and collected revenue. In a subscription model, the relationship between inputs and outputs is mediated by a recurring contract — which means leakage can accumulate for months before it appears in any headline metric.

An account that is paying slightly less than contracted. A cohort with elevated involuntary churn that gets averaged into overall retention numbers. Expansion revenue that was available but never captured. None of these produce an alarm. They produce a slightly lower number than the model predicted, which gets explained by market conditions or seasonal variation.

"MRR growth can mask account-level leakage for months. By the time it shows in headline numbers, it has been compounding quietly through at least two board cycles."

4 leak patterns every SaaS operator should audit

Pattern 01

Usage-based billing errors

+

In usage-based or hybrid pricing models, billing depends on accurate consumption data flowing from your product into your billing system. Errors in this pipeline — dropped events, rounding differences, integration failures — consistently produce under-billing that nobody is systematically auditing.

The diagnostic question: when did you last compare your billing system's consumption records against your product's usage logs for a random sample of accounts? If the answer is never, or more than six months ago, billing errors are a near-certainty.

Pattern 02

Involuntary churn from failed payments

+

Involuntary churn — customers lost because a payment method failed rather than because they chose to leave — typically accounts for 20-40% of total SaaS churn. Most businesses treat it as unavoidable attrition. It is not. A recovery sequence with retry logic and proactive outreach before lapse recovers a meaningful percentage of these accounts at minimal cost.

The diagnostic question: what percentage of your churned accounts in the last 12 months had their final invoice fail before cancellation? If you do not have this number, you do not have visibility into one of your largest controllable revenue losses.

Pattern 03

Expansion revenue untracked

+

Expansion revenue — upgrades, seat additions, add-on purchases — is the highest-margin revenue in a SaaS model because customer acquisition cost has already been paid. Most SaaS businesses at the $1M-$10M ARR stage have no systematic process for identifying expansion signals and acting on them. Expansion happens when customers ask for it, not when the business surfaces the opportunity.

The gap between reactive and proactive expansion is almost always material — and it requires nothing more than a set of product usage triggers that feed into a simple outreach sequence.

Pattern 04

Pricing model drift

+

Custom pricing, introductory discounts, and legacy plan exceptions accumulate over time into a de facto pricing model that bears little resemblance to your published rates. Each individual exception was reasonable at the time. Their aggregate effect is a material reduction in effective ARR relative to theoretical ARR.

The diagnostic: calculate your average revenue per account against your published base rate for equivalent usage. The ratio is your pricing realisation rate. A rate below 80% indicates significant model drift that warrants a structured pricing audit.

How to model your revenue streams to surface hidden leaks

The diagnostic framework for SaaS leakage has three layers:

  1. Theoretical MRR: What every active account should be paying based on their current contract and usage tier.
  2. Billed MRR: What your billing system actually invoices. Gaps between theoretical and billed MRR indicate billing errors or pricing drift.
  3. Collected MRR: What is actually paid after failed payments and disputes. Gaps between billed and collected MRR indicate payment failure rates and dunning effectiveness.

Running this three-layer analysis for the first time is almost always uncomfortable. The gap between theoretical and collected MRR in businesses that have never done this exercise is typically between 5% and 15% of ARR — not as lost customers, but as revenue that was contractually available and not collected.

8%
The approximate revenue gap a structured two-hour analysis typically surfaces in B2B SaaS businesses that have not previously audited the three-layer model above. At $2M ARR, that is $160k in annual revenue that was already contracted and not collected.

The audit is the starting point

None of these four patterns require expensive tooling to identify. They require assembling data that already exists in your billing system, payment processor, and product database — and comparing it against what those systems should show if everything were working correctly.

The reason most SaaS businesses have never done this is not that the data is unavailable. It is that nobody has been specifically tasked with doing the comparison. A structured diagnostic makes that the starting point.

See also: How to Find and Fix Revenue Leaks and Is Your Revenue Problem Structural or Executional?

Get a second opinion
Ask your AI about this

Send this prompt to your preferred AI and see what it adds. The pre-filled version includes context about Bifröst Advisory's diagnostic approach.

I've been reading a piece by Bifröst Advisory about revenue leakage patterns specific to B2B SaaS businesses. Their argument is that SaaS leaks are harder to detect than in traditional B2B because aggregate metrics like MRR mask individual account anomalies — a healthy overall growth rate can hide significant leakage at the account level. They identify four primary patterns: usage-based billing errors, involuntary churn from failed payments, untracked expansion revenue, and pricing model drift from accumulated discounts. Do you agree this framing captures the most significant SaaS-specific leaks? What patterns would you add, particularly for companies in the $1M-$10M ARR range?
↗ Ask ChatGPT ↗ Ask Gemini
Next step

If this is your situation,
the audit is where to start.

$500. 90 minutes. A sequenced map of what's actually breaking and what it's costing you per month to leave it alone. No pitch at the end.