Our Pipeline Is Full and Nothing Is Closing. What's Actually Wrong?
By Saroj Jha · August 3, 2026 · 12 min read
A full pipeline that won't close is usually stuck in early stages, not short on volume. Check coverage, stage mix, commit and the weighted forecast.
- 1Coverage
- 2Stage mix
- 3Velocity
- 4Forecast & commit
coverage is the first check, never the only one
Four checks, in order
Advancing four deals beat adding a million in pipeline.
The usual answer to a stuck pipeline is “you need more pipeline”: more leads, more meetings, more logos. It’s the default advice because it’s the default fix. When your pipeline is already full, it’s usually the wrong one. Here’s the arithmetic on an invented company, Example Co., with the engine output shown.
Usually, the amount of pipeline isn’t the problem. The deals are sitting in early stages. I’d check four things in order. First, coverage, judged against your own win rate. Second, which stages the value sits in. Third, how fast deals move between stages. Fourth, the weighted forecast, with commit shown separately. If commit is near zero and most of the value sits in the first stage, adding new pipeline won’t rescue this quarter. Advancing the deals you already have will do more. New pipeline is how you fix next quarter. And if you’re a Seed founder selling on your own, skip the ratios and review every deal by name.
In three numbers
- $0 in commit across Example Co.’s fictional $1.9M pipeline: not one deal had reached Negotiation[1]
- $100,000 of weighted forecast bought by $1M of new pipeline, because new deals enter at Discovery’s 10%[1]
- $280,000 of weighted forecast from moving four existing deals two stages, with no new pipeline at all[1]
- 1 Coverage
- Open pipeline ÷ target, judged against 1 ÷ your own win rate.
- Example Co.: 3.2x against 4.5x needed
- 2 Stage mix
- Which stages the value sits in, at face value and weighted.
- Example Co.: 57% in Discovery
- 3 Velocity
- How fast deals move between stages, and whether close dates fall inside the quarter.
- Check close dates beside stage
- 4 Forecast and commit
- The weighted forecast, with commit (Negotiation or later) shown separately.
- Example Co.: $361,500 weighted, $0 commit
The order of the checks in this article. Example Co.’s numbers are fictional, run through AAJ’s open-source pipeline-and-forecast engine.
What does a full pipeline that won’t close look like?
Running case: Example Co. Fictional
Example Co. is an invented B2B team, roughly Series B in shape, carrying what looks like a healthy quarter:
- $600,000 new-revenue target for the quarter
- 22% historical win rate
- $1,900,000 of open pipeline across 12 deals: six in Discovery, four in Qualified, two in Proposal
Coverage is over 3x. The board deck looks fine and nobody is panicking. Here’s the pipeline through AAJ’s open-source pipeline-and-forecast engine (the full deal list is at the end, so you can reproduce it):
AAJ — Pipeline & Forecast
Target (quota): $600,000
Win rate: 22%
Open pipeline: $1,900,000 (12 deals)
Weighted forecast: $361,500 <- expected (Σ amount × stage probability)
Commit (>=75%): $0
Best case (all open):$1,900,000
Early-stage share: 57% of open pipeline below 25% probability
Coverage: 3.2x (need ~4.5x at a 22% win rate) -> THIN
Gap to target: $238,500
New pipeline needed: $1,084,091 (gap ÷ win rate)
Recommended lever: ADVANCE DEALS — 57% of open pipeline sits in early stages (below 25% probability). Moving existing deals forward raises this quarter’s forecast faster than new pipeline, which enters at the first stage. Coverage is also thin, so build pipeline in parallel; most of it will close next quarter.
Two numbers in there should stop you.
Commit is $0. Not one deal in a $1.9M pipeline has reached a stage the engine treats as near-certain, which it defines as Negotiation (75%) or later. Everything is early.
- Weighted value (amount × stage probability) Face value
- Discovery 6 deals at 10% $109,000 of $1,090,000
- Qualified 4 deals at 25% $152,500 of $610,000
- Proposal 2 deals at 50% $100,000 of $200,000
- Negotiation or later No deals: commit is $0 $0 of $0
- All open deals 12 deals Target $600,000 $361,500 of $1,900,000
| Stage | Deals | Probability | Face value | Weighted |
|---|---|---|---|---|
| Discovery | 10% | $1,090,000 | $109,000 | |
| Qualified | 25% | $610,000 | $152,500 | |
| Proposal | 50% | $200,000 | $100,000 | |
| Negotiation or later | 75% | $0 | $0 | |
| All open deals | $1,900,000 | $361,500 |
AAJ pipeline-and-forecast engine, default stage weights (10, 25, 50, 75 and 90%)[1]. Example Co. is fictional. Every bar is drawn to the same scale; the marker is the $600,000 target.
Coverage reads “thin” at 3.2x. Judge coverage against your own win rate, not a universal rule. At 22%, you need about 1 ÷ 0.22 ≈ 4.5x. You win roughly one deal in five, and the math has to carry the four you lose. A team winning 40% would be comfortable at 3.2x (1 ÷ 0.40 = 2.5x). You aren’t. The familiar “3x coverage” is a rule of thumb that only fits a win rate of about 33%. As Dave Kellogg wrote in 2013, it caught on because “2x seems tight and 4x seems rich”, not because anyone derived it from data[2].
- 15% win rate 6.7x
- 20% win rate 5.0x
- 22% win rate 4.5x Example Co.
- 25% win rate 4.0x
- 30% win rate 3.3x Fix two
- 33% win rate 3.0x The 3x rule
- 40% win rate 2.5x
- 50% win rate 2.0x
Example Co. has 3.2x. At its 22% win rate it needs about 4.5x; the familiar 3x only fits a win rate of about 33%.
Show the numbers as a table| Win rate | Coverage needed |
|---|---|
| 15% | 6.7x |
| 20% | 5.0x |
| 22% (Example Co.) | 4.5x |
| 25% | 4.0x |
| 30% (Fix two) | 3.3x |
| 33% (The 3x rule) | 3.0x |
| 40% | 2.5x |
| 50% | 2.0x |
Required coverage as AAJ’s engine computes it, 1 ÷ win rate[1]. The 3x rule of thumb, and why it says nothing without a conversion rate: Kellogg (2013)[2]. Example Co. is fictional.
The weighted forecast is $361,500 against a $600,000 target. The pipeline is full, and on these stage weights it’s still expected to miss by 40%.
Also notice the engine’s recommended lever: advance the deals you have, because 57% of the pipeline sits in Discovery, and build pipeline in parallel for next quarter. The rest of this post tests that advice against the default one, adding more pipeline.
Fix one: what if we add more pipeline?
This is the default advice. Suppose it works spectacularly and the team creates $1,000,000 of new opportunity in a quarter: five fresh deals at $200,000 each. New opportunities enter at Discovery.
Open pipeline: $2,900,000 (17 deals)
Weighted forecast: $461,500
Commit (>=75%): $0
Coverage: 4.8x (need ~4.5x at a 22% win rate) -> HEALTHY
Gap to target: $138,500
Coverage turns healthy and the board deck looks better. The forecast is still $138,500 short.
A million dollars of new pipeline bought $100,000 of forecast. Early-stage volume is worth 10% of face value on these weights, because that’s what the Discovery stage probability says.
Commit is still $0, and the early-stage share rises from 57% to 72%, so the engine’s advice doesn’t change: advance deals. New pipeline is early pipeline by definition. It produces next quarter’s near-term revenue, if it advances.
Fix two: what if we get better at closing?
Suppose instead the team lifts its win rate from 22% to 30%. That’s a serious improvement, the kind that takes a quarter of enablement and discipline.
Open pipeline: $1,900,000 (12 deals)
Weighted forecast: $361,500
Coverage: 3.2x (need ~3.3x at a 30% win rate) -> THIN
Gap to target: $238,500
The forecast doesn’t move at all.
This one surprises people. A win rate changes how much pipeline you need. It doesn’t change what your current deals are worth, because the forecast values each deal by the stage it’s sitting in. A better close rate helps later, when today’s early deals reach the stages where closing skill applies. It does nothing for a quarter whose deals are mostly still in Discovery.
Fix three: what if we move the deals we already have?
Add no new pipeline and leave the win rate alone. Take four deals stuck in Discovery, worth $700,000 together, and do the work to take each one through Qualified to Proposal: the qualification calls, the stakeholder mapping, the actual proposal.
Open pipeline: $1,900,000 (12 deals)
Weighted forecast: $641,500
Commit (>=75%): $0
Early-stage share: 21% of open pipeline below 25% probability
Gap to target: none — weighted forecast covers the target
Recommended lever: ON TRACK ON AVERAGE, NOT COMMITTED — the weighted forecast clears the target, but commit is $0 (0% of target). Move late-stage deals to near-certain stages before relying on this quarter.
It’s the same pipeline, the same win rate and the same twelve deals. Moving four deals two stages each added $280,000 of weighted forecast (4 deals worth $700,000 × the 40-point jump from 10% to 50%). A million dollars of new Discovery pipeline added $100,000.
- Target $600,000
- As is 12 deals Baseline
- Fix one +$1M of new Discovery pipeline +$100,000
- Fix two Win rate 22% → 30% +$0
- Fix three Four deals moved two stages +$280,000
Commit is $0 in all four. Even fix three is on track only on average: no deal has reached Negotiation.
Show the numbers as a table| Scenario | Forecast | Commit | Coverage | Gap |
|---|---|---|---|---|
| As is | $361,500 | $0 | 3.2x (4.5x needed) | $238,500 |
| Fix one: +$1M new pipeline | $461,500 | $0 | 4.8x (4.5x needed) | $138,500 |
| Fix two: win rate 30% | $361,500 | $0 | 3.2x (3.3x needed) | $238,500 |
| Fix three: advance four deals | $641,500 | $0 | 3.2x (4.5x needed) | None |
AAJ pipeline-and-forecast engine, each scenario re-run on Example Co.’s fictional twelve deals[1]. Columns show the weighted forecast, drawn to scale from zero; the gap in the table is to the $600,000 target.
Don’t read the engine’s “none” as “the quarter is safe”, and the engine doesn’t either: its verdict is “on track on average, not committed.” Commit is still $0. A weighted forecast is an expected value across twelve uncertain deals, not a guarantee. It clears the target only in the sense that the average outcome does. To see the difference, I treated each deal as closing independently at its stage weight. That’s a simplification, since deals in the same quarter often share fate. On that basis, the chance of actually reaching $600,000 is:
- As is Weighted $361,500 Commit $0
- Fix one Weighted $461,500 Commit $0
- Fix three Weighted $641,500 Commit $0
- Fix three, then both Proposal deals to Negotiation Weighted $691,500 Commit $200,000
Chance of reaching $600,000, with each deal closing independently at its stage weight. Deals in the same quarter often share fate, so treat these as a guide, not a forecast. The tick at the foot of each ring marks 50%, a coin flip.
Show the numbers as a table| Scenario | Forecast | Commit | Chance |
|---|---|---|---|
| As is | $361,500 | $0 | 13% |
| Fix one: +$1M new pipeline | $461,500 | $0 | 27% |
| Fix three: advance four deals | $641,500 | $0 | 56% |
| Fix three, then Oak and Pine to Negotiation | $691,500 | $200,000 | 63% |
My calculation from the engine’s stage weights[1]: the exact distribution over every combination of Example Co.’s fictional deals closing or not. Fix two is left out because its chance is the same as the starting point.
Fix three is clearly the best move. It turns a quarter you’d almost certainly miss into close to a coin flip. It’s still not a covered quarter. The next job is building commit: getting the two deals already in Proposal ($200,000 together) to Negotiation. On the same assumptions, that lifts commit to $200,000 and the odds to about 63%. That’s why I’d look at commit before anything else.
What does the engine’s “$1.08M of new pipeline needed” mean?
The engine’s last line, “New pipeline needed: $1,084,091 (gap ÷ win rate)”, seems to contradict everything above. If $1M of new pipeline only adds $100,000, why would $1.08M close a $238,500 gap?
The two numbers run on different clocks:
- The weighted forecast values each deal at its current stage. A brand-new deal enters at Discovery and counts at 10%. That’s what it’s worth to you today.
- Gap ÷ win rate assumes every new dollar of pipeline eventually converts at your full historical win rate. That’s only true once each deal has run your whole sales cycle. The engine doesn’t model time at all.
So read $1.08M as a pipeline-creation target: roughly how much new pipeline, run all the way through, would eventually make up the shortfall. If your sales cycle is longer than what’s left of the quarter, that’s next quarter’s revenue, not this quarter’s rescue. That’s why the engine’s lever puts advancing deals first and building pipeline second: coverage is thin for the long run, but this quarter depends on where today’s deals sit.
There’s one more honest wrinkle. In this example, the 22% win rate and the 10% Discovery weight don’t fully agree with each other. If 22% of the deals that enter your pipeline close, a deal at Discovery can’t have only a 10% chance. Usually the reason is that the win rate is measured from a later stage, often from Qualified, which here is weighted 25%. Check which it is for your team. If your first-stage weight should really be closer to your win rate, new pipeline is worth more than this example shows, and the gap between fix one and fix three narrows. The timing argument doesn’t narrow: new pipeline still closes on your sales-cycle clock, and advanced deals are closer to done.
Why does the pipeline feel full but behave empty?
The mechanism is stage weighting. A deal in Discovery counts at 10% of its value, and the same deal in Proposal counts at 50%. Nothing about the deal changed except how far it has travelled, but the forecast treats those as five times apart.
A pipeline stacked at the top looks enormous at face value and forecasts like a fraction of it. Best case says $1,900,000. Weighted says $361,500. The gap between those two numbers is the gap between what the team believes and what the arithmetic expects.
Stage weights also sit on top of time. They estimate whether a deal will ever close, not whether it will close by quarter end. A Proposal-stage deal with a close date next quarter doesn’t help this one, so check close dates alongside stage.
What should I do with my own numbers?
- Look at commit before anything else. If commit is zero and half the quarter is gone, the problem is progression, not volume.
- Compute the weighted forecast, not the total. If you manage to open pipeline value, you’re managing to the best case, the number that assumes every deal closes.
- Judge coverage against your win rate, not a rule. 1 ÷ win rate is roughly your target. If you don’t know your win rate, or where in the funnel it’s measured from, fix that first.
- Use your own stage probabilities. The engine’s defaults (10 / 25 / 50 / 75 / 90%) are placeholders, and so are your CRM’s. HubSpot’s default deal pipeline[3] ships with its own ladder, from 20% at “Appointment scheduled” to 90% at “Contract sent”, and multiplies each stage’s total by its probability to show a weighted amount on the deal board. Two sets of defaults that disagree this much are a reminder that your own historical stage-to-close rates are the only numbers worth weighting by.
- Ask which stage the pipeline is stacked in. A top-heavy pipeline means you should advance what you have. A pipeline that’s genuinely thin at every stage means you should build. They look identical on a coverage dashboard and need opposite responses.
- Commit: 75% or more
- AAJ engine Defaults
- HubSpot Default deal pipeline
- 0% 25% 50% 75% 100%
Same step, different weight. The numbered dots are each ladder’s five open stages in order; at steps 1 to 4 the two defaults sit 5 to 15 points apart.
Show the numbers as a table| Step | AAJ engine stage | Probability | HubSpot stage | Probability |
|---|---|---|---|---|
| Discovery | 10% | Appointment scheduled | 20% | |
| Qualified | 25% | Qualified to buy | 40% | |
| Proposal | 50% | Presentation scheduled | 60% | |
| Negotiation | 75% | Decision maker bought-in | 80% | |
| Verbal | 90% | Contract sent | 90% |
AAJ pipeline-and-forecast engine defaults[1]; HubSpot Knowledge Base, default deal pipeline, last updated September 8, 2026[3]. HubSpot’s ladder also has Closed won (100%) and Closed lost (0%).
If the answer turns out to be that too few of the right buyers ever arrive, the constraint may sit before the pipeline. Whether an AI engine can even put you on a shortlist is its own measurable problem, covered in Why doesn’t ChatGPT recommend my company?
How does this change from Seed to Series B?
Seed: what if I’m the founder doing all the selling?
At Seed, the ratios mostly stop working. Say you’re selling alone with a $60,000 new-ARR target for the quarter and seven open deals:
AAJ — Pipeline & Forecast
Target (quota): $60,000
Win rate: 25%
Open pipeline: $115,000 (7 deals)
Weighted forecast: $36,450 <- expected (Σ amount × stage probability)
Commit (>=75%): $16,000
Best case (all open):$115,000
Coverage: 1.9x (need ~4.0x at a 25% win rate) -> THIN
Gap to target: $23,550
New pipeline needed: $94,200 (gap ÷ win rate)
(The seven deals: $16k in Negotiation, $24k in Proposal, $18k and $15k in Qualified, and $20k, $12k and $10k in Discovery.)
I wouldn’t trust any of these ratios. If that 25% win rate comes from 3 wins in 12 closed deals, a 95% confidence interval (the Wilson score interval) runs from about 9% to 53%. On that range, “required coverage” is anywhere from about 2x to 11x. Each deal swings the quarter by $10,000 to $24,000, so the weighted number is a way to rank deals, not a forecast. On the same independence assumption as above, the chance of hitting $60,000 is about 10%. Pushing the $24k deal to Negotiation and the $18k deal to Proposal raises the expected value to about $47,000, and the odds only to about 19%.
The honest read is that this quarter’s number is probably out of reach. The most valuable thing the founder can do is two jobs at once. First, put their hours on the two or three deals that can actually close. Second, write down why every other deal is stuck. At Seed, I’d skip coverage and track this for each deal by name:
- The next step, with a date the buyer agreed to
- Who the economic buyer is (the person with overall buying authority, the E in MEDDIC, which Dick Dunkel created at PTC in 1996[4]), and whether you’ve spoken to them
- Days since the buyer last did something, not since you last emailed
- The stage it’s in and the specific thing that would move it one stage
Those stall notes become the first sales hire’s playbook.
Series A: first reps, first real win rate
With a few reps and a couple of quarters of closed deals, your win rate and stage-to-close rates start to mean something. Replace the default stage weights with your own as soon as you can. Build next quarter’s pipeline target by working backward from the revenue goal through your funnel conversion rates, as David Skok lays out in SaaS Metrics 2.0[5]. That’s the proper home for the engine’s “new pipeline needed” number.
Series B: this post’s example
At a $600,000 quarterly target with a dozen or more large deals in flight, the four checks above apply as written. Run them by segment and by rep, not only in total, because a top-heavy segment can hide inside a healthy-looking blend. Review commit weekly.
How do I run this on my own pipeline?
The engine that produced every forecast above is free and MIT-licensed. The installer asks which coding agent to install for; the paths below assume its shared .agents/skills/ folder:
npx skills add sarojkjha/aaj-marketing-skills --skill pipeline-and-forecast
node .agents/skills/pipeline-and-forecast/resources/forecast.js --input=my-pipeline.json
Running it with --demo shows the engine’s own built-in sample, a different pipeline from this post. To reproduce the example above, use this file:
{
"target": 600000,
"winRate": 0.22,
"stageProbabilities": {
"Discovery": 0.1, "Qualified": 0.25, "Proposal": 0.5,
"Negotiation": 0.75, "Verbal": 0.9
},
"deals": [
{ "name": "Alder", "amount": 200000, "stage": "Discovery" },
{ "name": "Birch", "amount": 180000, "stage": "Discovery" },
{ "name": "Cedar", "amount": 170000, "stage": "Discovery" },
{ "name": "Dogwood", "amount": 150000, "stage": "Discovery" },
{ "name": "Elm", "amount": 210000, "stage": "Discovery" },
{ "name": "Fir", "amount": 180000, "stage": "Discovery" },
{ "name": "Hazel", "amount": 190000, "stage": "Qualified" },
{ "name": "Juniper", "amount": 160000, "stage": "Qualified" },
{ "name": "Larch", "amount": 140000, "stage": "Qualified" },
{ "name": "Maple", "amount": 120000, "stage": "Qualified" },
{ "name": "Oak", "amount": 110000, "stage": "Proposal" },
{ "name": "Pine", "amount": 90000, "stage": "Proposal" }
]
}
For fix three, change Alder, Birch, Cedar and Dogwood to “Proposal”. For fix one, add five $200,000 deals at “Discovery”. For fix two, set "winRate": 0.30. The formulas are in the engine’s source file[1]. The engine doesn’t compute the chances of reaching the target shown earlier; they’re my own calculation from its stage weights.
Do this
Before the next forecast call, export every open deal with its amount, stage and close date, swap the default stage weights for your own stage-to-close rates, and run the four checks. The Pipeline Forecast & Coverage Calculator does the same math in the browser, and the Pipeline Coverage and Forecasting Playbook has the full method.
Free tool
Run the four checks in your browser
The free Pipeline Forecast & Coverage Calculator takes your pipeline by stage, with your own stage probabilities, and returns the weighted forecast, commit, coverage against 1 ÷ your win rate and the gap to target.
Open the calculatorIf you’re asking how to know whether marketing is working instead, read How do I know if marketing is working?
If you want me to look at your own funnel, positioning and channels, my Growth Audit ends with three prioritized fixes and a 30-day action plan.
Related on AAJ
Articles
- How Do I Know If Marketing Is Working? Read the Stages, Not the Top of the FunnelThe same stage-by-stage reading, applied to marketing’s funnel.10 min read
- How to Choose a CRM for Your Startup (Without Getting Overwhelmed)Set up the stages and probabilities this diagnosis depends on.12 min read
- How to Align Sales and Marketing at a StartupAgree what counts as a qualified deal before you count coverage.9 min read
- Why doesn't ChatGPT recommend my company?When too few of the right buyers ever reach the pipeline.8 min read
Playbooks
- Pipeline Coverage and Forecasting PlaybookThe full method behind the four checks, from coverage to commit.
- Win-Loss Analysis PlaybookFind out why deals stall and are lost, from the buyers themselves.
Templates and tools
- Pipeline Forecast & Coverage CalculatorWeighted forecast, commit and coverage from your own stage weights.Free tool
- Sales Pipeline and Forecast TrackerKeep stage, close date and next step for every deal by name.Free template
- Win-Loss AnalyzerScore why you win and lose deals.Free tool
- Pipeline and Forecast skillThe open-source engine behind every forecast in this article.AAJ skill
References
The superscript numbers in the article match this list.
- Jha, S. (2026). pipeline-and-forecast engine, forecast.js, in the AAJ Marketing Skills repository (MIT licence). The open-source engine behind every forecast, commit and coverage figure in this article; every scenario re-run against version ed2501f, October 12, 2026. github.com
- Kellogg, D. (2013). The Self-Fulfilling 3x Pipeline Coverage Prophecy. Kellblog, April 19, 2013. Where the 3x rule of thumb came from, and why coverage only means something through its conversion rate. kellblog.com
- HubSpot Knowledge Base (2026). Set up and manage object pipelines. Last updated September 8, 2026. The default deal stages and probabilities, and the weighted amount shown on the deal board. knowledge.hubspot.com
- MEDDICC (2026). Who created MEDDIC? Published August 13, 2026. MEDDIC was created in 1996 at PTC by Dick Dunkel; the E is the economic buyer. meddicc.com
- Skok, D. (2013). SaaS Metrics 2.0: A Guide to Measuring and Improving What Matters. For Entrepreneurs, first published January 16, 2013. See the sections on funnel metrics and on using them in forward planning. forentrepreneurs.com
More in Sales & Pipeline
Part of the Sales & Pipeline hub - see all 38 resources on this topic.
- AI agent skill: Win-Loss Analysis
- Playbook: Win-Loss Analysis Playbook
- Free tool: Win-Loss Analyzer
- Free tool: Battlecard Builder