The number usually arrives in a slide. Someone on the revenue team writes "we are leaking roughly 10 percent of revenue" next to a chart borrowed from a vendor report, and the CFO asks the only question that matters: show me how you got it. Nobody can, because the percentage came from someone else's survey, applied to your ARR, and it collapses the moment anyone asks which accounts, deals and invoices it refers to.
Knowing how to calculate revenue leakage properly decides whether the number starts a project or ends the meeting. A defensible figure is built bottom-up, one leak category at a time, from your own CRM, billing and product records. This worksheet lays out the formula and inputs for each category side by side.
Published estimates vary because each study counts something different. m3ter and PwC UK's 2026 survey of 350 UK software executives describes leakage running at 4 to 7 percent of ARR, focused on unmonetized usage and billing gaps. Clari's 2024 survey of 420 US and UK revenue leaders, run by Vanson Bourne, reports that RevOps leaders estimated a 26 percent loss in global annual revenue to revenue leak, including pipeline breakdowns. These are different definitions and populations, not interchangeable benchmarks. Your mix of leaks and total are specific to your motion, pricing and systems.
Diagnosis: why most leakage numbers fall apart in the CFO's office
A leakage number usually fails review in one of four ways. Each is a calculation error, so each can be designed out of the worksheet.
The percentage is borrowed, not measured
A survey average applied to your ARR has no accounts behind it. Finance cannot audit it and sales cannot act on it. A measured leak always resolves to records: these 212 leads, these 14 contracts, these 9 renewals.
The same dollar is counted twice
A lead that went unanswered never became an opportunity, so it cannot also be a stalled deal. Teams that price each category against the full funnel produce totals the funnel could never have generated. The fix is to price leaks in funnel order, each one only on the volume that actually reached that stage.
Lost opportunity is priced at full value
A slow-response lead was not a guaranteed sale. Pricing every untouched lead at full contract value overstates the leak enormously. The honest formula uses the incremental conversion between handled and unhandled records, then applies a recovery factor for what a realistic fix would win back.
One-time and recurring dollars are mixed
An unbilled overage last quarter is a one-time recovery. A discount that runs for the life of a three-year contract is recurring. A renewal lost is recurring revenue gone for good. Without a stated convention, totals cannot be compared quarter to quarter. Pick one unit, annualized recurring revenue for the next twelve months, and convert everything into it.
The framework: one formula per leak category
Every leak in the worksheet uses the same backbone, adapted to its category:
Total leak = affected volume × leak rate × value per unit. Recoverable leak = total leak × recovery factor.
Affected volume is a count from your records. Leak rate is the share of that volume that leaked, or the gap between what handled and unhandled records converted at. Value per unit is average contract value, invoice value or ARR, depending on the category. The recovery factor is your stated judgment of what a realistic fix would win back in a year. The seven categories follow revenue from first lead to renewal.
| Leak category | Formula (annualized) | Inputs and source record |
|---|---|---|
| 1. Unanswered and slow leads | Slow or untouched leads × (close rate of fast-touched leads − close rate of slow leads) × average contract value | Form submission timestamp and first logged activity (CRM); lead-to-close rate split by response time |
| 2. Broken handoffs | Qualified leads or SQLs with no first meeting after handoff × win rate × average contract value | Owner-change history and meeting activity (CRM); win rate from closed opportunities |
| 3. Stalled pipeline | Value of opportunities closed or aged out with no activity for 30+ days × (win rate of active deals − win rate of stale deals) | Opportunity history, last activity date, close-date changes (CRM) |
| 4. Discounting outside policy | Sum over out-of-policy deals of list price × (actual discount − policy ceiling) | Quote and opportunity line items (CPQ or CRM); written discount policy |
| 5. Contract-to-billing gaps | Sum over accounts of (contracted billable amount − amount invoiced) | Signed order forms and contract terms; subscriptions and invoices (billing system) |
| 6. Failed payments | ARR affected by failed payments × (1 − current recovery rate) | Payment failure and recovery events (billing system or payment processor) |
| 7. Missed renewals and expansion | Churned ARR with warning signals 90+ days earlier × achievable save rate, plus accounts over plan limits × expansion value × expected close rate | Renewal dates and churn records (billing, CRM); usage versus entitlement (product data) |
Three formulas deserve a note. For leak 1, the gap in close rates matters more than lead count. Oldroyd, McElheran and Elkington's 2011 Harvard Business Review article argues that online lead response is often too slow; its detailed qualification ratios are behind a subscriber wall, so calculate your own close-rate split rather than importing them. For leak 4, discount is only a leak when it exceeds policy without a recorded reason, because some discounts buy deals you would otherwise lose. McKinsey's 2003 analysis of the average S&P 1500 company found that a 1 percent price rise at stable volume would lift operating profit by 8 percent. For leak 6, use your actual failed-payment recovery rate. Recurly's July 2026 network data distinguishes involuntary churn from customers who choose to leave; it does not substantiate a 428-day recovery figure.
Illustrative example: the worksheet filled in
Illustrative example, with made-up round numbers: a $12M ARR B2B SaaS company with a $24,000 average contract, 3,000 inbound leads a year and 500 SQLs. Recovery factors are suggested starting points, not benchmarks.
| Leak | Calculation | Total leak | Recovery factor | Recoverable | Confidence |
|---|---|---|---|---|---|
| 1. Slow leads | 600 leads × (3% − 1%) × $24K | $288K | 50% | $144K | Medium |
| 2. Handoffs | 40 SQLs never met × 20% × $24K | $192K | 60% | $115K | High |
| 3. Stalled pipeline | $3M stale × (20% − 10%) | $300K | 40% | $120K | Medium |
| 4. Discounting | $5M list on out-of-policy deals × 6 points | $300K | 50% | $150K | High |
| 5. Contract-to-billing | Uplifts and overages never invoiced | $90K | 80% | $72K | High |
| 6. Failed payments | $240K affected × (1 − 60%) | $96K | 50% | $48K | High |
| 7. Renewals and expansion | $1.2M churn × 40% signaled × 25%, plus 30 accounts × $6K × 50% | $210K | 100% | $210K | Low |
The recoverable total is about $860,000 a year. That is not a benchmark; it only shows the arithmetic. The ranking is the useful output. Weighted for confidence, discounting and handoffs come out ahead of renewals, even though the renewal row looked largest in conversation, because every discounting and handoff input came from system records while the renewal row rests partly on judgment about which churn was visible early. Leak 7 applies its save and close rates inside the formula, hence the 100 percent recovery factor.
Implementation: six steps to fill in the worksheet
Set the conventions before pulling data. Agree with finance on the unit (annualized recurring revenue for the next twelve months), the period (the last full four quarters), the average contract value you will use, and the order of the funnel. Most later arguments are really about conventions.
Pull the volumes from records, not memory. Export form submissions with first-activity timestamps, opportunities with owner and close-date history, quotes with discount fields, closed-won deals with their subscriptions, payment failure events, and renewals with usage. Validity's 2025 survey found that 37 percent of CRM users reported losing revenue due to poor data quality, so expect gaps; record them rather than filling them with guesses.
Compute the rates from your own split. For every rate in the formulas, compare handled with unhandled records inside your own data: fast versus slow leads, active versus stale opportunities. Use a published rate only where you have no data, and mark that row Medium confidence at most.
Remove double counting in funnel order. Price leak 1 first, then price leak 2 only on SQLs that were actually created, then leak 3 only on opportunities that actually existed. Billing leaks (5 and 6) sit on revenue already contracted, so they do not overlap with pipeline leaks, but check that a churned account in leak 7 is not also carrying an unbilled amount in leak 5.
Apply recovery factors and confidence. State the recovery factor for each row and the reason for it. Rate each row High when every input is your own record, Medium when one rate is estimated, and Low when it rests on interviews. The leak ledger framework covers how to weight those levels when ranking.
Review with finance, then rank. Walk the CFO or controller through it row by row before anyone presents it. Expect challenges on conventions and recovery factors; that is the point. Rank by confidence-weighted recoverable dollars and assign the top row an owner and a date.
Workflow: how the worksheet runs each quarter
Done once, a leakage calculation is a project. Done every quarter, it is how revenue and finance agree on priorities.
RevOps pulls the same seven exports each quarter from saved reports, so inputs stay comparable. Gaps found on the way, such as missing timestamps or ownerless opportunities, are findings in their own right.
The seven formulas run in funnel order with last quarter's conventions. Any change to a convention is written down, because a total that moves because the method moved is not a trend.
Finance checks billing rows against the ledger and pipeline rows against bookings. m3ter and PwC UK found that 48 percent of surveyed UK software executives reported no integration between billing and CRM. Reconciliation can expose gaps neither system shows on its own.
The top-ranked row gets an owner, a fix and a target. Next quarter it is re-measured first; if the leak did not shrink, the formula shows which input failed to move.
The board narrative
The worksheet turns "we think we are losing money" into "here is where, how much, and what we are doing about it." Three framings work well.
"We measured revenue leakage across seven categories from our own records. The recoverable total is a stated figure, each row has a formula finance has reviewed, and we report it with confidence levels rather than a single headline."
"We are fixing the largest high-confidence leak first, not the most visible one. The top row has an owner, a fix and a target for next quarter."
"The method is fixed, so changes in the total reflect changes in the business. When a leak shrinks, we can show which input moved."
Cross-domain: what each row of the worksheet points to
Each leak category maps to a domain of the revenue engine and, usually, to one system that closes it. Leaks 1 and 2 sit in GTM operations: slow first response is what Speed-to-Lead addresses, and our speed-to-lead benchmarks by ARR band help set the response window that defines a "slow" lead in the formula. Handoff loss is the job of the Handoff Orchestrator. Leak 3 belongs to sales operations, where the Pipeline Hygiene Sentinel flags deals that go quiet before they age out.
Leak 7 is CS operations: the Churn Signal Watchtower and Renewal Radar supply the early signals the formula depends on, and our guide to building an NRR early-warning system covers which signals to trust. Leaks 4, 5 and 6 sit with finance, deal desk and billing, where a billing platform, CPQ controls or contract review is often the better fix. The worksheet itself is a revenue intelligence asset, and it only works when the metrics behind it agree across teams.
Mapping each row to a system is the logic behind the Nine Systems Framework. Upstream fixes come first where possible, because closing leak 1 changes the volumes leaks 2 and 3 are priced on. The full set of systems is on the systems page.
Frequently asked questions
How do you calculate revenue leakage?
You calculate revenue leakage one category at a time: affected volume, times the share that leaked, times the value per unit, then times a recovery factor for what a realistic fix would win back. Do this for leads, handoffs, pipeline, discounting, billing, payments and renewals, price them in funnel order so nothing is counted twice, and add the annualized results.
What is the formula for revenue leakage?
The general formula is total leak equals affected volume times leak rate times value per unit, and recoverable leak equals total leak times a recovery factor. Each category adapts it. For billing, it is contracted billable amount minus amount invoiced. For failed payments, it is ARR affected times one minus your recovery rate.
What is a normal revenue leakage percentage?
There is no reliable normal percentage, because studies define leakage differently. PwC UK and m3ter's 2026 research put it at 4 to 7 percent of ARR for UK software firms, focused on billing and usage. Clari's 2024 survey found RevOps leaders estimating 26 percent, including pipeline loss. Your own calculation is more useful than either figure.
How do you measure revenue leakage in a CRM?
Measure it by comparing what should have happened with what the records show. Use first-activity timestamps against form submissions for lead response, owner-change history for handoffs, last-activity dates and close-date changes for stalled pipeline, and discount fields against policy. Billing leaks need the billing system too, because the CRM alone cannot show what was invoiced.
How do you avoid double counting revenue leakage?
Price leaks in funnel order and only on the volume that actually reached each stage. A lead that was never answered cannot also be a stalled opportunity. Billing and payment leaks sit on contracted revenue, so they rarely overlap with pipeline leaks, but check that churned accounts are not also carrying unbilled amounts in another row.
Sources: m3ter and PwC UK (n = 350); WorldCC and Deloitte (over 1,200 organizations); Validity (n = 602); Clari and Vanson Bourne (n = 420); Oldroyd, McElheran and Elkington; Marn, Roegner and Zawada; Recurly. Accessed October 2026.




