This article gives you the template, the rules for filling each column, a formula for pricing a leak, a worked example and a 90-minute protocol for running the audit. Copy it, use it with clients, adapt it. It is free.
In short
- A leak is demand you already paid for that never became revenue because a process step failed.
- The map has one row per step and six core columns: step, owner, volume, drop, cost, fix.
- Empty cells are findings. If nobody can tell you the number, that step has no instrumentation and no owner watching it.
- Price every leak in money before you rank it. A 60% drop on a step that touches 12 records a month is not your priority.
- Fix one leak at a time, measure for two to three weeks, then move on. This is Goldratt's constraint logic applied to revenue (Theory of Constraints Institute).
- The map is the deliverable that comes before any automation. Building first is how teams automate a step that shouldn't exist.
Why a map beats an opinion
Two numbers from Salesforce's 2026 State of Sales report, a survey of 4,050 sales professionals across 22 countries, explain why leaks are common and invisible: the average seller spends 40% of their time actually selling, and 74% say data cleansing is a priority (Salesforce). Most of the revenue process is admin running on data nobody fully trusts, and admin failures don't announce themselves. Nobody files a ticket saying "I forgot to call lead 4,812."
Salesforce also reported that AI agents contacted 130,000 untouched leads in four months, producing 3,200 opportunities. Untouched leads at that scale are not a strategy failure; they are a leak that existed long enough to be measured.
The map's job is to make leaks visible and comparable, so you fix the expensive one instead of the loud one.
The template
Copy this. One row per step, in the order money actually travels.
| # | Step | Owner | Volume in (30d) | Volume out (30d) | Drop % | Time lost | Money at stake / mo | Suspected cause | Fix family | Leak score |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||||
| 2 | ||||||||||
| 3 |
Here it is as raw Markdown, ready to paste into a doc, a repo or a client report:
| # | Step | Owner | Volume in (30d) | Volume out (30d) | Drop % | Time lost | Money at stake / mo | Suspected cause | Fix family | Leak score |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Form submitted | Marketing ops | | | | | | | | |
| 2 | Lead created in CRM | RevOps | | | | | | | | |
| 3 | First contact attempt | SDR | | | | | | | | |
| 4 | Contact reached | SDR | | | | | | | | |
| 5 | Qualified / meeting set | SDR | | | | | | | | |
| 6 | Meeting held | AE | | | | | | | | |
| 7 | Proposal sent | AE | | | | | | | | |
| 8 | Closed won | AE | | | | | | | | |
| 9 | Invoice paid | Finance | | | | | | | | |
| 10 | Renewal / repeat asked for | CS | | | | | | | | |
In a spreadsheet, add one column: source of the number (which report, which export, which dates). You will need it when someone challenges a figure.
How to fill each column
Step
Write what physically happens to a record, not the CRM stage name. "Lead enters Reaching" tells you nothing; "an SDR dials the number for the first time" is observable. If two things happen in one row, split it. Leaks hide inside merged steps.
Owner
A human name, not a team. Teams don't fix leaks; people do. If the honest answer is "nobody", write nobody in capital letters. That is usually the most valuable cell on the page.
Volume in / volume out
Count records over one fixed window, typically the last 30 days (90 if your cycle is long), and use the same window for every row. "In" is how many records reached the step; "out" is how many moved on. Records still in flight are excluded, not counted as drops.
Drop %
(in − out) / in. Two rules. First, a high drop is not automatically a leak: qualification is supposed to drop volume. Second, an unusually low drop can also be a leak, because it often means someone is advancing records to keep the pipeline looking healthy.
Time lost
The median delay, not the average; one forgotten record from June should not move your number. Delay matters most between a signal and a human response, which is why speed-to-lead deserves its own row.
Money at stake per month
This is the column most people skip, and the one that makes the map useful. Use:
money at stake = leaked records per month
× conversion rate from that step to closed-won
× average deal value
× recoverable share
Recoverable share is your honest estimate of how much of the leak a fix could realistically capture, between 0 and 1. Nobody recovers 100%. If you use 0.3 and are wrong, you are wrong by a small amount in the safe direction. Write the assumption in the cell.
Suspected cause
One sentence, phrased so it can be wrong: "we think most records never get a second attempt because follow-up is manual." A cause you cannot disprove is a belief, not a diagnosis.
Fix family
Which of MitHub's four families of GTM systems the fix belongs to: lists and enrichment · agentic AI systems · automated workflows · data and reporting. Naming the family early stops the reflex of solving every problem with the tool you happen to like. Clay's guide frames the same discipline from the build side: identify the bottleneck, build the smallest workflow that addresses it, validate on a small set of records, then scale (Clay).
Leak score
(money at stake × confidence) ÷ effort, where confidence is 0.1–1 (how much you trust the number) and effort is 1–5 (days of work to a testable version). Sort descending. The top row is your next project. This is a ranking device, not a forecast: its only job is to decide what you build next.
A worked example (hypothetical)
The company below is invented, to show the mechanics. The numbers are illustrative, not a MitHub result.
Imagine a five-branch home services business. Average job value $900. Roughly 620 inbound enquiries a month across web forms and phone.
| # | Step | Owner | In | Out | Drop % | Time lost | Money at stake / mo | Suspected cause | Fix family | Score |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Form submitted | Marketing | 380 | 380 | 0% | — | — | Healthy | — | — |
| 2 | Lead created in CRM | NOBODY | 380 | 341 | 10% | 1 day | $3,100 | Duplicate and malformed records dropped silently | Data & reporting | 1.5 |
| 3 | First call attempt | Branch reps | 341 | 208 | 39% | 6 h median | $10,600 | Manual, only during business hours | Automated workflow | 8.5 |
| 4 | Contact reached | Branch reps | 208 | 96 | 54% | — | $8,900 | One attempt, no cadence | Agentic AI system | 5.3 |
| 5 | Quote sent | Branch reps | 96 | 71 | 26% | 2 days | $4,000 | Quote built by hand | Automated workflow | 2.2 |
| 6 | Job won | Branch reps | 71 | 34 | 52% | — | unknown | No follow-up after quote | Agentic AI system | 3.0 |
| 7 | Repeat asked for | NOBODY | 34 | 0 | 100% | — | unknown | Nobody owns it | Lists & enrichment | 1.0 |
Read the map, not the drops. The largest percentage drop is row 4, but the highest-scoring row is 3: it combines volume, a measurable delay and a two-day fix. Rows 6 and 7 show "unknown" money, which is itself a finding — the business cannot see what quotes or repeat customers are worth.
The first project is not "implement AI". It is: contact every new enquiry within minutes, seven days a week, and log the attempt. One row, one metric, one decision date.
The 90-minute audit
You can build a first version of this map in an afternoon. Longer than that usually means you are polishing instead of measuring.
- Minutes 0–15 — draw the path backwards. Start at a payment that already happened and walk back: who signed, what conversation preceded it, who made first contact, where the lead came from (Follow the money).
- Minutes 15–35 — write the rows. One row per observable step. Do not stop to fix anything.
- Minutes 35–60 — pull the counts. CRM reports, a spreadsheet export, the call log, the inbox. Fill what you can; write
unknowneverywhere else. - Minutes 60–75 — price the top three drops with the formula above and your best honest estimates.
- Minutes 75–90 — score and pick one. Write the hypothesis for the winner in one sentence: "If X, then metric Y moves from A toward B by [date]."
Then go look at ten individual records by hand. Every time we have skipped that step, the map has been wrong about something.
Five mistakes that make a leak map useless
- Mapping the diagram instead of the behaviour. Map what happens, including the WhatsApp messages and the spreadsheet nobody admits to using.
- Percentages without volumes. A 70% drop on 9 records is a rounding error. Rank by money.
- Auditing everything before fixing anything. A perfect map that produces no fix is a document, not engineering.
- Confusing activity with outcome. A green automation run is not a lead that got handled. Validate in the CRM record.
- Letting the map age. Re-run it quarterly. Fixing one constraint moves the constraint somewhere else, which is exactly what the Theory of Constraints predicts: once a constraint is broken, go back to step one (Theory of Constraints Institute).
From map to system
The map tells you where to build. The build is the next discipline: pick the smallest system in the right family, run it on a small batch, and judge it on the business number, not on whether the workflow executed. Process mapping before automation covers the sequencing, and what is revenue engineering explains why we start at the payment instead of the top of the funnel.
A completed leak map for a real business is also one of the strongest portfolio pieces you can produce. It proves what most candidates can't: that you can look at a messy operation and say, with numbers, where the money falls out. MitHub's Faculty of Revenue Reverse Engineering teaches the method free, through to Prove value fast.
Fill one row honestly today. The empty cells will tell you what to do tomorrow.
