Our Pipeline Is Full and Nothing Is Closing. What's Actually Wrong?

  1. Blog
  2. Measurement & Budget

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.

  1. 1Coverage
  2. 2Stage mix
  3. 3Velocity
  4. 4Forecast & commit

coverage is the first check, never the only one

Four checks, in order

Advancing four deals beat adding a million in pipeline.

A stalled pipeline is diagnosed in order: coverage against your own win rate, which stages the value sits in, how fast deals move, and the weighted forecast with commit shown separately. Adding pipeline changes the first number and leaves the rest untouched.Source: Worked example run through the AAJ pipeline-and-forecast engine

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]
Figure 1 Diagnose a stalled pipeline with four checks, in order: coverage is the first check, never the only one
    • 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.

Figure 2 Example Co.’s $1.9M pipeline is worth $361,500 on stage weights, because 57% of it sits in Discovery and none has reached Negotiation
  • 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
Show the numbers as a table
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].

Figure 3 Required coverage is 1 ÷ your win rate, so Example Co.’s 3.2x is enough only at a win rate of 31% or more
  • 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.

Figure 4 Moving four deals added $280,000 to the forecast; $1M of new pipeline added $100,000, and a better win rate added nothing this quarter
  • 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:

Figure 5 Advancing deals turns a quarter Example Co. would almost certainly miss into slightly better than a coin flip
  • 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.
Figure 6 Two default stage ladders weight the same step up to 15 points apart, so weight deals by your own stage-to-close rates
  • 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 calculator

If 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

Playbooks

Templates and tools

References

The superscript numbers in the article match this list.

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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.