Contents

Most people learning how to create a sales forecast start in the wrong place. They open a spreadsheet, list the open deals, multiply by a gut-feel close percentage, and call it a forecast. The number looks legitimate. It is rarely correct, and it never tells anyone what to do about the deals that are quietly slipping.

A forecast is assembled in sequence, and each step depends on the one before it. Skip the input step and the math is precise nonsense. Skip the calibration step and you are forecasting against probabilities that belong to a different company. This guide walks the full process and threads one example all the way through it. I am going to build a forecast in front of you, by hand, from a six-deal pipeline, so you can see exactly where the number comes from and where it goes soft.

The numbers below are illustrative, not benchmarks. Use the method, not the figures. Your probabilities come from your own history, which is the entire point of step one.

One note on how this scales past a spreadsheet. The manual method below assigns a probability by stage, which is fine for six deals. At ORM, each opportunity is instead grouped by a machine learning model, and each group gets its own predicted close curve. Those curves run anywhere from 1 to 80 weeks, though most of the expected closing happens before week 12 and very few groups carry expectation past 52 weeks. Two rules keep the inputs clean: a 12-month rule that ages out opportunities left untouched, and a strict definition of meaningful activity, a change in stage, close date, or amount. The hand-built version teaches the logic. The grouped-curve version is how you run it across a real pipeline.

The sample pipeline we will forecast

Here is a fictional company, Veltra, a B2B SaaS team selling a mid-market product. Six open deals, end of the second month in the quarter. This is the pipeline we carry through all five steps.

DealSegmentStageValue (illustrative)Days in stage
AMid-marketNegotiation$60,0009
BMid-marketProposal$45,00031
CEnterpriseProposal$120,00014
DMid-marketDiscovery$30,0006
EEnterpriseNegotiation$90,00041
FMid-marketDiscovery$25,0005
Raw open pipeline: $370,000. If you have ever watched a rep present the forecast as "we have $370K in play, I think we land most of it," you already know why that sentence is dangerous. By the end of this article that $370K becomes a number you can defend, and two of these deals get flagged for action.
Comparing tools is the easy part
The hard part is knowing which one will actually make your forecast land. ORM builds a custom model on your live pipeline and tells your team what to change, not just what happened.

Step 1: Gather your inputs

Every forecast is bounded by the data you start with. Before any math, pull four things together.

- Open pipeline. Every active deal with value, stage, owner, and expected close date. That is the table above. - Historical close rates by stage. What share of deals at each stage actually closed, drawn from at least 12 months of your own won and lost data. For Veltra: Discovery closes at 15%, Proposal at 35%, Negotiation at 60%. Those are their rates, back-tested from their own history, which is what makes them usable. - Deal-level activity. Stakeholders engaged, meetings held, last contact, and days in current stage. The last column in the table is not decoration. It is the signal that separates a live deal from a corpse that nobody has buried. - The target. Veltra's quota for the quarter is $200,000, and they have already closed $120,000. So the open pipeline has to produce $80,000 to make the number.

If your stage definitions are inconsistent, or every closed-lost reason is "timing" because reps click the first dropdown, fix that before you go further. This is the unglamorous step nobody photographs, and it decides whether everything downstream is real. For the wider picture of methods and models this feeds, see the complete guide to sales forecasting.

Step 2: Pick a method

The right method depends on how much data you have, not on what sounds impressive in a board deck.

- Stage-weighting multiplies each deal by the historical close rate for its stage. Needs a defined process and roughly 12 months of data. It backs most CRM forecasting features and it is where Veltra should live. - Opportunity scoring adds deal-level nuance, rating each deal on engagement, stakeholders, budget, and timeline. It earns its keep on enterprise deals that vary widely from each other. - Regression and machine learning find which variables actually predict close. These need a few hundred closed deals and someone whose job is the model.

Here is the contrarian part, and I will defend it: most teams are running a method one or two tiers too advanced for the data they have, and it makes their forecast worse, not better. A 40-deal pipeline fed into a machine-learning model produces confident output from almost no signal, and confident-and-wrong is more expensive than simple-and-roughly-right. Veltra has six open deals in this quarter and a few hundred in their history. Stage-weighting is not the beginner option they will outgrow. It is the correct option. The complete forecasting guide breaks down all six methods and where each one breaks.

Step 3: Weight the pipeline with the Two-Pass Pipeline Weighting method

This is the core calculation, and I run it in two passes. Call it Two-Pass Pipeline Weighting. The first pass applies stage probability. The second pass applies a time-in-stage haircut. Almost every spreadsheet forecast does the first and forgets the second, which is exactly why almost every spreadsheet forecast runs hot.

Pass one: stage probability. Multiply each deal by its calibrated stage rate.
DealValueStage ratePass-one weighted
A$60,00060%$36,000
B$45,00035%$15,750
C$120,00035%$42,000
D$30,00015%$4,500
E$90,00060%$54,000
F$25,00015%$3,750
Pass-one weighted pipeline: $156,000. Against an $80,000 gap, that looks comfortable. It is not, and pass two is where the comfort evaporates. Pass two: the time-in-stage haircut. A deal sitting in a stage well past your median close window is not as likely as a fresh one at the same stage. It has gone quiet, and quiet is information. Say Veltra's median time in Proposal and Negotiation is about 14 days. Two deals are way over: Deal B has been in Proposal 31 days, and Deal E has been in Negotiation 41 days. Both get a haircut, because the data says aging deals at these stages close at roughly half the rate of fresh ones.
DealPass-one weightedHaircutPass-two weighted
A$36,000none$36,000
B$15,75050% (31 days in Proposal)$7,875
C$42,000none$42,000
D$4,500none$4,500
E$54,00050% (41 days in Negotiation)$27,000
F$3,750none$3,750
Two-Pass weighted forecast: $121,125. The naive roll-up said $156K. The honest number is about $121K. The $35,000 difference is the optimism that lives in stalled deals, and it is the gap that shows up as a miss at quarter-end when nobody accounted for it in week two.

There is a second payoff. Deals B and E did more than lose weight. They got named. A 41-day-old enterprise negotiation worth $90K is not a forecasting line item, it is a fire drill. The haircut surfaced the two deals a human should walk into tomorrow. To see how stage velocity compounds into your number, run yours through the pipeline velocity calculator. If you would rather start from a wired-up layout than a blank sheet, the sales forecast template has the stage-weighted math built in.

Step 4: Pressure-test the number

A bottom-up number on its own is easy to fool yourself with. Check it against a top-down baseline before you commit it.

Take Veltra's last four quarters of revenue, adjust for seasonality, project forward. Say that baseline lands around $215,000 of total quarter revenue. They have closed $120K and the weighted open pipeline adds $121K, for a forecast near $241K. That sits above the top-down baseline, which is a flag worth chasing, not ignoring. Either the pipeline is genuinely stronger this quarter, or it is inflated and pass two did not cut deep enough. When bottom-up and top-down disagree by a wide margin, one of them is lying, and the job is to find out which before the board does.

Then stress the assumptions against the market. Are you penciling in win rates above your trailing average? With B2B new-logo win rates having fallen to 19% (Ebsta/Pavilion, 2025), a model leaning on a 30% close assumption is quietly optimistic. Are your cycle-time assumptions current? Sales cycles have lengthened 22% since 2022 (Optifai, 2026), so a model calibrated to older velocity reads deals as closing faster than they will, which is precisely the error the time-in-stage haircut is built to catch. This is also why so many teams miss: 87% of enterprises missed revenue targets in 2025 (Clari Labs, 2026), and a forecast that never gets pressure-tested is how the miss stays invisible until it is too late to fix. The forecast accuracy guide covers the formulas that tell you whether your model is actually tracking, and the forecast accuracy scorecard grades where yours stands now.

Step 5: Set a review cadence

A forecast is not a deliverable you produce once and file. It degrades the moment you stop maintaining it.

Lock a weekly rhythm. Each week, compare what the forecast predicted against what actually happened. Which deals closed that the model did not expect? Which slipped that sat in the commit? Why? Run Veltra's six deals next Monday and you would already know whether Deal E moved or sat for another week, and a week of new silence on a $90K negotiation is the difference between a save and a write-off. Layer monthly probability recalibration on top, so this quarter's results sharpen next quarter's rates, and a quarterly check on whether the model's structural assumptions still hold. A forecast reviewed once a quarter is a report. A forecast reviewed weekly is an operating tool. For how this connects to setting the targets up front, see the sales planning framework, and for the wider operating system it sits inside, the revenue operations guide.

What does real pipeline data say about the forecast you just built?

The worked example above uses invented deals. Real pipelines behave in ways a stage-weighted forecast does not see. These are the patterns ORM finds across its customers.

PatternWhat ORM sees across customersWhat to do with it
Day-one realizationAbout 20% of the pipeline with a close date in the quarter, measured on day one, closes that quarterTreat most of the visible quarter as unlikely to land in it
Stale pipelineMore than 10% of pipeline has gone 12 months with no change in stage, close date or amountTake it out of the forecast and out of coverage
Pipeline value versus closed valueDeals usually close for less than the value in the CRM. One example: an $80,000 average deal in pipeline against a $40,000 average closed-won dealWeight by what closes, rather than by what reps enter
Timing inside the quarterIn one example ORM curve, 34.0% of the quarter has closed by the end of week six, against the 46.2% a flat model expectsAdjust by week, or you cannot tell whether you are ahead or behind
Pushed close datesA deal that slips from one quarter to the next is less likely to close, even in commitFlag every pushed close date as a risk
The earliest warning is often an absence. When a deal has no activity, no changing data and no notes, and the buyer has stopped answering email and calls, the forecast should hear about it before the rep says so.

What is the formula for a sales forecast?

The common formula is weighted pipeline. Multiply each deal amount by its probability of closing, then add the results. That is what Step 3 does.

The weakness is that it only sees deals already in the CRM. A more complete version splits the quarter into three sources:

Forecast = carry-over + in-quarter + pull-forward

- Carry-over: deals in pipeline on day one that are expected to close this quarter - In-quarter: deals that are not visible yet but will be created, qualified and closed inside the quarter - Pull-forward: deals from future periods that close early, often with a discount

Most teams over-trust the first source and under-model the second. A company can start the quarter with 4x coverage and miss, or start with thin pipeline and beat the number because its in-quarter motion is strong. Coverage is a useful input. It should never be the conclusion.

Then apply seasonality by week. ORM breaks each quarter into 13 weeks for every customer. Here is how one example curve compares with a flat model:

End of weekShare of quarter closed (example curve)Share a flat model expects
421.0%30.8%
634.0%46.2%
849.7%61.5%
1061.4%76.9%
1282.5%92.3%
13100%100%
The first seven weeks run below a straight line, week 8 jumps, and weeks 11 to 13 carry the most. A flat model reads week six as a miss when the quarter is on track. The full curve is in the 13-week quarter.

How do you build a 12-month sales forecast?

Build it by quarter, then by month, because revenue does not arrive evenly. Across ORM customers Q4 is usually the largest quarter, followed by Q2, then Q3, then Q1. That is not true for every business, but it has been consistent. Inside a quarter the third month is always the largest and the first is the smallest.

Forecast renewals on a separate track. There is less uncertainty in them. The amount is usually the same as this year or carries a price lift, and the close date is the renewal date. Timing still spreads out, typically across a window from about 30 days before to 30 days after that date. New business works differently: its timing depends on when the opportunity last changed stage.

Revenue typeWhat drives the amountWhat drives the timing
New businessDeal size, which usually closes below the pipeline valueWhen the opportunity last moved stage
ExpansionSeats, product and price changes on an existing accountThe customer's buying cycle
RenewalCurrent contract value, plus any price liftThe renewal date, within about 30 days either side

Should your forecast be one number or a range?

A range. Show a low case, an on-target case and an upper bound. That tells a board what you expect and how much risk sits around it.

Two habits make a range credible. The number on one slide appears on the next, or there is a clear reason it moved. And it rolls up the same way every time, from region to super region to the total business, with a trace back to the deals underneath. Do that consistently and the board stops interrogating every figure.

Why forecasts run hot: the three usual suspects

When I audit a forecast that keeps missing, the cause is almost always one of three things, in this order of frequency.

FailureWhat it looks likeFix
Stage data that is not realStage 3 means "champion identified" in the playbook and "good call" in practiceAudit stage compliance quarterly before trusting any probability
Borrowed probabilitiesCRM defaults or benchmark-report rates applied to your dealsCalibrate against your own won and lost history, like Veltra's 15/35/60
Lagging stands in for leadingForecasting on closed revenue, ignoring time in stage and activityBuild leading signals into the weighting, which is what pass two does
Get these three right and stage-weighting beats a model nobody can explain. Get them wrong and no algorithm saves you. This is the whole reason the worked example uses real-looking stage rates and a haircut instead of generic 20/40/60/80 percentages: the defaults are the single most common way a forecast lies to the person presenting it.

The do and do-not checklist

Pin this next to your pipeline. It is the short version of everything above.

Do

- Calibrate stage probabilities from your own won and lost deals, then re-pull them every month. - Run both passes. Stage probability first, time-in-stage haircut second, every time. - Forecast a range, not a point. A floor at high confidence, a target at moderate, a stretch that depends on named deals breaking right. - Pressure-test bottom-up against a top-down baseline and chase any gap wider than you can explain. - Use the haircut to surface deals for action, not only to lower the total. The deals that lost the most weight are your week's work. - Review weekly. One hour. Non-negotiable.

Do not

- Do not ship the CRM default percentages. They describe an average company, never yours. - Do not present the raw roll-up. The $370K number and the $156K pass-one number are both traps. - Do not reach for machine learning on 40 deals. Match the method to the data you actually have. - Do not let "timing" be every closed-lost reason. Garbage in that field poisons next quarter's rates. - Do not confuse a single number with a forecast. A point estimate carries no honesty about what has to go right. - Do not file it and walk away. A forecast you do not inspect is a guess with a timestamp.

A forecast built this way does more than tell you where you stand. It tells you which two deals to walk into on Monday. For Veltra, the model did more than say $121K, it pointed at a stale $45K proposal and a stalled $90K negotiation and said those, now. That is the line ORM builds toward: turning a weighted pipeline into a prescription for which deals to move and what moves them, while the quarter is still yours to change.

Frequently Asked Questions

How do you create a sales forecast?

Build it in five steps: gather your inputs (open pipeline, historical close rates by stage, deal activity, target), pick a method that fits your data maturity, weight each deal by its calibrated stage probability, pressure-test the bottom-up number against a top-down baseline, then set a weekly review cadence. The fastest way to learn the sequence is to run a handful of real deals through it once, by hand, before you automate anything.

What data do you need to build a sales forecast?

Four inputs: current open pipeline with stage and expected close date, historical close rates by stage and segment drawn from your own won and lost deals, deal-level activity data like stakeholder count and time in stage, and the quota you are forecasting against. Without close rates calibrated from your own history, any method produces a number that looks precise and is not accurate.

What is the easiest way to create a sales forecast?

Stage-weighting. Multiply each open deal by the historical close rate for its current stage, then sum the results. It needs a defined sales process and about 12 months of stage conversion data, but no data science. Start there, then add a time-in-stage haircut for deals sitting past the median before you reach for anything more advanced.

How do you forecast a weighted pipeline?

Assign each stage a close probability from your own conversion history, not the CRM defaults. Multiply every open deal by its stage probability, then lower the probability on any deal sitting in-stage longer than your median. Sum the adjusted values. That adjusted sum, not the raw roll-up, is your weighted pipeline forecast.

How often should you update a sales forecast?

Weekly. A deal that goes quiet in the first week of a quarter is recoverable if you see it; by month-end the lagging numbers have already decided the period for you. Weekly inspection is the cheapest accuracy upgrade most teams are not using, and it costs an hour.

What is the formula for a sales forecast?

The simplest formula is weighted pipeline: add up each deal amount multiplied by its probability of closing. A better one splits the quarter into three sources. Carry-over deals already in pipeline on day one, in-quarter deals that will be created and closed inside the quarter, and deals pulled forward from later periods.

How do you build a 12-month sales forecast?

Build it by quarter and then by month, because revenue does not arrive evenly. Across ORM customers, Q4 is usually the largest quarter, followed by Q2, Q3 and Q1. Inside a quarter the third month is the largest and the first is the smallest. Forecast renewals on their own track, since their amount and date are mostly known.

How much of the pipeline on day one actually closes in the quarter?

Across ORM customers, roughly 20% of the pipeline value carrying a close date in the quarter, measured on the first day, closes in that quarter. About 80% of what you can see on day one is not realized in that period.

Why is my sales forecast inaccurate?

Usually one of three things: CRM stage probabilities that do not match your real conversion rates, a roll-up that inherits rep optimism instead of checking it, or leading signals like time in stage being ignored in favor of closed-revenue totals that arrive too late to act on. Dirty stage data is the biggest single driver, because every downstream calculation inherits the error.

ORM Technologies
Pete has built custom revenue forecast models for B2B SaaS companies for over a decade.
Limited time only

Five free days of implementation

Start with ORM and your first five days of implementation are free. We build your forecast model on your live pipeline, then you decide.

Claim your five days