The Sales Pipeline Audit
Find out where opportunities actually disappear between a lead and a customer, name why, and decide what changes. This is the complete system in one place: the checklist, the worksheets, the finding format, and the exact prompts, so you can run it on a real pipeline this week. One example runs through the whole page, a 14-person B2B services firm on HubSpot, so every blank has a filled-in version next to it.
You need one pipeline, a stage-history or activity export from whatever CRM you run on, and the willingness to look at what the record actually supports rather than what the funnel report implies. Nobody’s number is the finding. How the pipeline is run is.
What you are looking for
A CRM records when somebody edited a record. It doesn’t automatically record when a buyer moved. Before this audit can say anything about why deals stall, it has to separate the two.
The output is a short list of findings, each one a deal or a pattern, carrying the evidence that supports it and the decision that follows. It is not a close-rate percentage, and a business case resting on a stage-conversion benchmark borrowed from a vendor’s blog post is the easiest thing in the room to argue with — those figures vary by a factor of five depending on who’s publishing them, because “lead,” “qualified,” and “opportunity” mean something different at every company that uses them.
Pick one pipeline
One pipeline, one segment if you run more than one motion, one clear period. Everything below runs on that and nothing else.
If self-serve, mid-market, and enterprise deals all live in the same pipeline, don’t average across them. Their normal stage durations are different by design, and a threshold built from the blend will flag the wrong deals in both directions.
Evidence checklist
Gather it before you interpret any of it. A stage-history export read while you’re forming an opinion becomes the opinion.
From the CRM
- Every deal in the period, with stage-entry and stage-exit timestamps where your CRM exposes them
- Time-in-stage or stage-duration reports, and re-entry history where available
- Closed-lost reason field, plus any free-text note
- Activity history: calls, emails, meetings, tasks — logged and associated to the deal
- Next scheduled activity, where the field exists
- Contact roles on each deal, if your CRM tracks economic buyer or decision-maker
From the people running it
- A walkthrough from the rep or manager who owns the pipeline, in their own words
- What they log outside the CRM: mobile calls, personal inbox, texts, LinkedIn messages
- What “stalled” actually looks like to them, before you show them your own threshold
- Their honest read on which stalled deals are worth saving and which are dead
- Whatever they’d change first about the pipeline if it were entirely up to them
Getting your evidence into an assistant
The step nobody writes down, and the one that stops most people before they start.
Getting the files out
- Most systems have an Export or Download button. Your CRM will have a stage-history, deal, or property-history export, usually under Reports or Data Export.
- Email: copy the thread, or forward it to yourself.
- Can’t export it? Screenshot it — these assistants read images.
- Nothing exports? Write down dates, counts, amounts, who did what.
Which assistant, how many chats
- ChatGPT, Claude, Gemini, or Copilot — pick one that takes file uploads.
- One conversation per process. Upload the evidence first, then the prompts, in order.
- New process, month, or account? Start a fresh chat.
- Upload failing or replies drifting? Send less at a time.
Build the deal ledger
One row per deal, at the transition grain. This is where the audit is usually lost, because a summary funnel report is sitting right there and looks like it should be enough. Full method in System 01.
| Deal | Stage | Last activity | Next step | Loss reason | Flag |
|---|---|---|---|---|---|
| Meridian Co | Proposal Sent | 23 days ago | None | — | No next step |
| Harlan Group | Proposal Sent | 4 days ago | None | — | Single contact only |
| Voss & Kerr | Closed Lost | — | — | Other | No note on file |
Set the stall threshold by segment
Full method in System 01. A single companywide threshold will flag the wrong deals in both directions.
For the mid-market segment in the worked example: a 9-day median in Proposal Sent, so anything past roughly three weeks with no future task gets flagged. That threshold caught 14 of 61 deals.
Name why each stalled deal stalled
Full lists and the seven-question review in System 02. Check for a missing next step first, before spending time on anything else.
The one that’s on you
- No dated next step. Recent activity, nothing on the calendar. Check this before anything below — it’s usually the largest bucket and the cheapest to fix.
The four that sit with the buyer
- Budget or authority unconfirmed. No sign-off contact engaged, no procurement path named.
- Indecision. Activity taper, repeated close-date slips, no new objection each time.
- Champion turnover. Single contact, engagement stops all at once.
- Competitor selected. Only when there’s a named tool or evaluation criterion to point to — not a rep’s guess.
Use BANT for shorter, lower-complexity deals and MEDDIC for multi-stakeholder ones, and run the seven-question review from System 02 against anything past its threshold. If the deal has no next step, no economic buyer confirmed, or no agreed decision process, treat it as at-risk regardless of the stage it’s sitting in.
Decide what happens to each one
Each deal gets one action. Full method, including the five process fixes, in System 03.
Then look across the decisions for a pattern: the same cause on several deals, several reps, or several months is no longer a rep-level finding. Fix the definition, the gate, the ownership, or the incentive that lets the pattern keep happening — and reach for automation only once those four have been tried and the pattern survives them.
Add it up without lying to yourself
This is the document people argue with, so keep the arithmetic honest about what kind of number each total is.
What the finished brief contains
If it’s missing any of these, it isn’t finished.
In it
- The pipeline, the segment, and the decision this was run to inform
- The stall threshold used, and why, per segment
- Every stalled deal, its cause, and the decision made
- Any pattern that recurred across deals, reps, or months, with its process fix
- Pipeline value at risk and rep hours reclaimed, reported separately
- The deals you couldn’t classify, and what evidence would settle them
Not in it
- A stage-conversion percentage borrowed from a vendor benchmark
- A close-rate trend presented without the segment and cohort behind it
- Pipeline value at risk reported as revenue already lost
- A named rep singled out for a finding that turned out to be a process gap
- A loss reason treated as fact when the evidence was only a rep’s impression
- A recommendation to buy anything, arrived at before the four cheaper fixes were tried
The master prompt
Paste this into any AI assistant along with your stage-history export and your own walkthrough notes. It runs the whole method in order and will not hand you a borrowed benchmark.
I want you to help me find where deals actually disappear in my sales pipeline. Your job is not to predict my close rate or quote industry conversion benchmarks. Your job is to work out which deals in my CRM export are genuinely stalled, why, and what should happen to each one, being exact about what the data can and can't support. I will give you a stage-history or activity export from my CRM, and a walkthrough of how the pipeline actually runs. Work through these stages, in order, and do not skip ahead: 1. SET THE FRAME Read back to me, in one sentence each: the pipeline or segment, the period, and the decision I said this is for. If I haven't told you one of these, ask before continuing. 2. BUILD THE LEDGER Turn the export into one row per deal: current stage, every transition with its timestamp, re-entry count, last and next activity dates, and loss reason if closed. Flag anything the data can't confirm — a skipped stage, a transition right after a long gap with no logged activity, a blank or generic loss reason — as its own list, separate from deals where the record looks clean. 3. SET THE THRESHOLD Ask me for the normal time in each stage for this segment, from my own closed-won history. Do not assume a companywide number. A deal is stalled if it is open, has no future task, has no qualifying activity inside this segment's normal gap, and its stage age is past the segment's median. 4. NAME THE CAUSE For each stalled deal, check for a missing next step first. If one exists, classify it as one of: no dated next step, budget or authority unconfirmed, indecision, champion turnover, or competitor selected. Require evidence for each classification — a named competitor tool, a confirmed sign-off contact, a bounced email — not an inference from silence alone. Where the evidence doesn't support a classification, say so and list it as open rather than guessing. 5. TEST IT For deals with a complex or multi-stakeholder sale, apply MEDDIC. For simpler or shorter-cycle deals, apply BANT. Tell me which criterion is failing for each stalled deal. 6. DECIDE, PER DEAL Assign one action to each stalled deal: book a next step, multi-thread, requalify, disqualify and reclaim the rep's time, or escalate. Justify any escalation — it should be rare. 7. FIND THE PATTERN Look across all the decisions. Where the same cause recurs across multiple deals, reps, or months, say so explicitly and treat it as a process finding rather than restating it as several separate deal findings. 8. DECIDE THE PROCESS FIX For any pattern, recommend the cheapest fix that would remove it: fixing the stage definition, adding a required field or gate, naming an owner for the stalled-deal queue, or changing what reps are measured on. Only recommend automation if you can say why the other four would not work. 9. SIZE IT Report pipeline value at risk (not lost) and rep hours reclaimed by disqualification as two separate numbers. Never quote a stage-conversion or close-rate benchmark from outside this data. One deal gets one cause: do not build totals by stacking multiple causes onto the same deal. 10. WRITE THE BRIEF The pipeline, segment, and decision this was run for. The threshold used and why. Every stalled deal with its cause and decision. Any pattern found, with its process fix. The two totals, kept separate. The deals you couldn't classify, and what would settle them. And the claims you are refusing to make.
The refusals matter as much as the findings. An assistant asked to audit a pipeline will happily produce a confident list of causes, because that is what the request sounds like it wants. Most of the stages above exist to make it say which conclusions the evidence can’t actually support, which is the part you’d otherwise have to catch yourself.
Run it on one pipeline and you’ll have a ledger, a decision for every stalled deal, and at most one or two process fixes worth making. Run it again next quarter and you’ll be checking whether those fixes held, which is a different and shorter exercise than the first pass.
