Skip to main content

← insights

pipeline forecasting for b2b saas: how to hit 90%+ accuracy

Mishaal Murawala·

Pipeline forecasting predicts closed revenue from created pipeline and historical conversion, not rep sentiment. Coverage math and accuracy formula.

Pipeline forecasting predicts how much open pipeline will close in a period. It uses stage conversion rates and deal age, not rep opinion.

I held 92% forecast accuracy for three years across $200M in marketing-sourced pipeline. The method was not clever. It was arithmetic on clean stage data, run weekly, with sentiment removed.

What is pipeline forecasting

It converts open opportunities into an expected revenue number for a period. Three inputs decide the output.

  • Created pipeline. Opportunity value, dated by creation, not by close date.
  • Conversion rate. The historical share of created pipeline that reaches closed won.
  • Velocity. The elapsed days from creation to close, measured by cohort.

Everything else is commentary. A forecast you cannot rebuild from those three inputs is a guess in a spreadsheet.

Most teams confuse forecasting with the forecast call. The call is a review ritual. The forecast is a model. When the ritual produces the number, accuracy tracks the mood of the room.

A forecast built from rep confidence measures confidence. It does not measure revenue.

Why most B2B forecasts miss

I have rebuilt this in PE-backed portfolio companies more than once. The failure modes repeat.

Stages have no exit criteria. If "Discovery" means what a rep decides, conversion rates are noise. Two reps at the same stage are describing different realities.

Sentiment is the input. Commit and best case are useful as a rep's read. They are dangerous as the model. Rep-called forecasts systematically skew optimistic near quota deadlines.

Close dates get pushed instead of lost. A deal that slips four quarters is not pipeline. It is a loss with an open record. Aging rules fix this. Hope does not.

Marketing and sales pipeline are pooled. They convert and move at different rates. Averaging them produces a number that describes neither.

The forecast is monthly. A monthly cadence means you find the miss with two weeks left. Weekly reforecasting finds it with time to act.

One number, no segments. A blended forecast hides a failing segment behind a strong one. Aggregate accuracy can look fine while both halves are wrong in opposite directions.

Nobody owns the definition. Sales, marketing, and finance each hold a private version of "qualified pipeline". Every review then starts by reconciling numbers. The forecast then arrives late and pre-argued. One owner, one written definition, held for four quarters.

The pattern underneath all six is the same. Each one replaces a measured input with a negotiated one. Forecasting is the discipline of refusing that trade.

The forecasting model I use

Six steps. Each one is auditable.

Step 1. Define stages with exit criteria. A stage advances on a specific, observable event. Not when it feels right. Write the criteria down and hold the definition for four quarters minimum.

StageExit criterionOwner
QualifiedBudget, authority, and a named business problem confirmedRep
DiscoveryTechnical and business requirements documentedRep
EvaluationSolution validated by the buying committeeRep and SE
ProposalPricing delivered to an economic buyerRep
NegotiationTerms under legal or procurement reviewRep

Step 2. Measure conversion by cohort, not in aggregate. Take opportunities created in a month. Track what share of that cohort reaches closed won. Do this by segment and by source. Aggregate conversion rates blend fast and slow motions into a rate that fits nothing.

Step 3. Measure velocity the same way. Median days from creation to close, by segment. Median, not mean. One 400-day enterprise deal will drag a mean average somewhere useless.

Step 4. Forecast from created pipeline times conversion by age. This is the core move. Deals convert differently depending on how long they have been open. A deal 30 days old in a 90-day cycle behaves differently from one 200 days old. Bucket by age and apply the historical rate for that bucket.

Step 5. Separate marketing-sourced from sales-sourced. Different rates, models, and owners. Two forecasts that sum to one number.

Step 6. Reforecast weekly. Compare the model to actuals every week. When the gap opens, you have weeks to correct rather than days to explain.

Worked example (illustrative)

These numbers are illustrative, not benchmarks. They show the shape of the calculation.

Age bucketOpen pipelineHistorical win rateExpected revenue
0 to 30 days$4,000,00012%$480,000
31 to 60 days$3,000,00022%$660,000
61 to 90 days$2,500,00034%$850,000
91 to 120 days$1,500,00041%$615,000
121 days and over$2,000,0009%$180,000
Total$13,000,000$2,785,000

Two things fall out immediately. Coverage looks generous at $13M against a $2.8M expectation. And the oldest bucket, which reps will still call live, contributes almost nothing. That last row is where forecast optimism goes to die.

Compare this to a rep-called forecast on the same book. Commit plus best case usually lands 20 to 40% higher. The model does not care how the last call went.

Pipeline coverage: how much is enough

Coverage is total qualified pipeline divided by the revenue target. The commonly cited answer is 3x. The correct answer is the inverse of your win rate.

Clari publishes the formula directly: required coverage equals 1 divided by win rate. At a 25% win rate that is 4x. At a 20% win rate it is 5x. At 50% it is 2x. Enterprise teams at 15 to 25% win rates need 4x to 7x coverage to forecast reliably. Source: Clari on pipeline coverage.

The 3x rule is not wrong. It is a special case. It assumes a 33% win rate, and most B2B SaaS teams no longer have one.

Coverage by segment matters more than the blended figure. Enterprise and SMB rarely share a win rate, so they rarely share a coverage requirement. A company at 4x blended can be 6x in SMB and 2.5x in enterprise. The enterprise number is already missed. Nothing in the dashboard says so.

Coverage is also a quality claim, not just a volume one. Unqualified opportunities in the denominator inflate coverage while conversion falls. That is the mechanism behind why I do not measure MQLs as a primary target. Volume metrics with no conversion gate corrupt the coverage math upstream of the forecast.

Marketing pipeline vs sales pipeline

These are two different assets. Treat them that way.

Marketing pipeline arrives inbound or through campaign-driven outbound. It converts at one rate and moves at one velocity. Sales-sourced pipeline arrives through rep prospecting and referral. Different rate, different velocity, often different ACV.

Pool them and you get an average that predicts neither. Split them and three things become visible.

  • Which engine is actually producing revenue, not just records.
  • Which engine is degrading, before the blended number reflects it.
  • What marketing should be held to, in pipeline dollars rather than lead counts.

I carried $200M of marketing-sourced pipeline as a named number, split from sales-sourced. A team that owns a pipeline target behaves differently from one that owns leads. The forecast is where that ownership becomes real.

Attribution belongs in the same conversation. Sourcing rules must be written down before the quarter, not litigated after it. That is the subject of B2B marketing attribution. The measurement frame sits in marketing ROI measurement.

Forecasting in HubSpot and Salesforce

Both platforms ship real forecasting. Neither fixes bad stage hygiene.

HubSpot. The forecast tool groups deals into categories by likelihood to close. Defaults are Pipeline, Best case, Commit, and Not forecasted. You can automate assignment from deal stage. Source: HubSpot forecast tool. HubSpot also compares submitted forecasts against actual closed revenue. Source: HubSpot forecast accuracy.

Practical setup: automate categories from stage. The category then reflects criteria, not mood. Then run your age-bucket model against exported deal data. The native tool is your review surface. The model is your number.

Salesforce. Collaborative Forecasts rolls opportunity amounts up the role hierarchy. It supports quotas, adjustments, and multiple forecast types. Source: Salesforce Collaborative Forecasts. The ForecastingItem object exposes those rollups to the API. Build the model on live data, not a weekly export. Source: Salesforce ForecastingItem.

Practical setup: keep manager adjustments visible and separate from the raw rollup. An adjustment you can see is a judgment call. An adjustment baked into the base number is a data-integrity problem.

The rule for both: the CRM stores state. It does not decide what a stage means. Exit criteria are a management decision. They come before either tool can be trusted.

How to measure forecast accuracy

One formula. Run it every period, without exception.

Forecast accuracy = 1 minus (absolute value of (actual minus forecast) divided by actual)

At $2.4M forecast against $2.6M actual, the gap is $200K. That is 7.7% of actual. Accuracy is 92.3%.

Four rules make the number honest.

  • Use absolute value. Overshooting by 15% is not better than missing by 15%. Both mean the model is wrong. Signed error lets a good quarter cancel a bad one and reports the average as skill.
  • Lock the forecast. Record the number at period start. A forecast revised on the final day is a report, not a forecast.
  • Measure by segment. Blended accuracy hides offsetting errors. Two segments wrong in opposite directions can average to a number that looks excellent.
  • Track the trend. One accurate quarter is luck. Four consecutive quarters above 90% is a system.

Two diagnostics come free once you log the number. Bias tells you if misses run high or low. Average the signed error, not the absolute one. Consistent overshoot means sentiment is still in the model. Dispersion tells you if accuracy is stable or noisy. 95%, then 78%, then 94% averages well. It predicts nothing.

Log forecast, actual, and the reason for the gap every period. After four quarters that log is worth more than the model. It names which input drifts.

Sustained 90%+ is achievable in most B2B SaaS motions. I held 92% for three years. It required stage discipline and weekly reforecasting, not a better algorithm.

How a board reads it

A board is not buying your number. It is buying whether your number can be trusted next quarter.

Four questions surface that fast.

  1. Forecast accuracy over the last four quarters, by segment? One quarter proves nothing.
  2. Coverage ratio, and the win rate that justifies it? Coverage alone is a volume claim.
  3. How much is model-driven versus rep-called? More sentiment means a wider miss.
  4. When you missed, what changed? A miss with a named root cause is a working system. A miss with an excuse is not.

Forecast accuracy is a governance signal before it is a sales metric. A team inside 10% for four quarters gets a different spend conversation. One that misses by 30% explains itself afterward. It pairs with CAC payback to decide whether growth spend gets approved.

Where to start

If you are rebuilding this, the order matters.

  1. Write exit criteria for every stage. Nothing downstream works without this.
  2. Pull 12 months of created pipeline and measure conversion by cohort and segment.
  3. Bucket open pipeline by age and apply those rates.
  4. Split marketing-sourced from sales-sourced.
  5. Lock the number at period start and reforecast weekly against it.

Step one is where most rebuilds stall. Writing exit criteria forces the argument about what qualified means. That argument is the work. Steps two through five are arithmetic once the definitions hold.

The first accurate quarter takes one full sales cycle. You need clean cohort data first. The growth diagnostic is where I map which of the five is broken. The wider operating model sits on the marketing leader page.

Sources

BOOK A WORKING SESSION

A forecast you can defend starts with stage definitions.

If the forecast misses every quarter, the model is rarely the problem. The diagnostic finds which of the five inputs is actually broken.

Forecast accuracy I sustained for three years
92%
Marketing-sourced pipeline carried
$200M
Required pipeline coverage ratio
1 / win rate

frequently asked questions.

What is pipeline forecasting?

Pipeline forecasting predicts how much open pipeline will close in a period. It uses stage conversion rates and deal age, not rep opinion. Three inputs decide the output. Created pipeline, dated by creation. Historical conversion to closed won. Median velocity by cohort. A forecast you cannot rebuild from those inputs is a guess.

How do you calculate forecast accuracy?

Forecast accuracy equals 1 minus the absolute error divided by actual. At $2.4M forecast against $2.6M actual, the gap is $200K. That is 7.7% of actual, so accuracy is 92.3%. Use absolute value so an overshoot cannot cancel a miss. Lock the forecast at period start. Measure by segment.

What pipeline coverage ratio do I need?

Coverage equals total qualified pipeline divided by the revenue target. Clari publishes the working rule: required coverage is 1 divided by your win rate. A 25% win rate needs 4x, a 20% win rate needs 5x, a 50% win rate needs 2x. Enterprise teams at 15 to 25% win rates typically need 4x to 7x. The commonly cited 3x assumes a 33% win rate.

Why is my sales forecast always wrong?

The usual causes are stages without exit criteria, and rep sentiment as the model input. Close dates get pushed instead of deals being marked lost. Marketing and sales pipeline get pooled into one conversion rate. The cadence is monthly rather than weekly. Each one is a definition problem, not a modeling problem.

Should marketing pipeline and sales pipeline be forecast separately?

Yes. They convert at different rates and move at different velocities. They often carry different ACVs. Pooling them produces an average that predicts neither. Splitting them shows which engine produces revenue. It shows which is degrading before the blended number moves. It also sets what marketing owns in pipeline dollars.

Can HubSpot or Salesforce forecast pipeline accurately?

Both ship real forecasting. HubSpot groups deals into forecast categories that can be automated from deal stage. It reports forecast versus actual. Salesforce Collaborative Forecasts rolls amounts up the hierarchy with quotas and adjustments. The ForecastingItem object exposes those rollups. Neither fixes stage hygiene. Exit criteria are a management decision that comes first.

talk to me

tell me what needs to move.

I will come to the call ready to tell you what I would do first.