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

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.

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 example, with the engine output shown.

What does a full pipeline that won't close look like?

Take a 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.

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 maths 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%.

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. 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.

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:

Scenario Weighted forecast Commit Chance of reaching $600k
As is $361,500 $0 about 13%
Fix one: +$1M new pipeline $461,500 $0 about 27%
Fix three: advance four deals $641,500 $0 about 56%

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 ships with its own ladder, from 20% at "Appointment scheduled" to 90% at "Contract sent", and uses it to calculate weighted amounts the same way. 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.

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 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, 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. 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 figure above is free and MIT-licensed:

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. The engine doesn't compute the odds in the fix-three table; that's my own calculation from its stage weights.

You can also run the same maths in the browser with the Pipeline & Forecast Calculator, or work through the full method in the Pipeline Coverage & Forecasting playbook.

If you're asking how to know whether marketing is working instead, read How do I know if marketing is working?

If you'd like a second pair of eyes on where your deals stall, AAJ's Growth Audit is a seven-day funnel and conversion teardown that ends in your top three fixes.

Sources

  1. HubSpot Knowledge Base, "Set up and manage object pipelines" (default deal stages and probabilities; weighted amount).
  2. David Skok, "SaaS Metrics 2.0: A Guide to Measuring and Improving What Matters," For Entrepreneurs.
  3. AAJ Marketing Skills, "pipeline-and-forecast engine source (forecast.js)," MIT license.

More in Sales & Pipeline

Part of the Sales & Pipeline hub - see all 26 resources on this topic.