Every forecast is an assumption set with arithmetic wrapped around it. The arithmetic is rarely the problem. The problem is that half the assumptions are undocumented, most were set once and never revisited, and nobody remembers which of them the number actually depends on. This guide covers the assumption set a B2B SaaS forecast needs, how to source each value, and which ones decay fastest.
Which assumptions does a revenue forecast model need?
Nine, covering conversion, value, timing, capacity, and retention.| Assumption | Source | Refresh |
|---|---|---|
| Win rate by segment | Closed won divided by closed total, trailing 12 months | Monthly |
| Average closed-won deal size | Closed-won amounts, never pipeline amounts | Monthly |
| Sales cycle length | Median created-to-closed on won deals | Monthly |
| Stage conversion rates | Historical progression by stage and segment | Quarterly |
| Pipeline creation volume | Opportunities created per period by source | Monthly |
| Rep ramp time | Months to first full quota attainment | Quarterly |
| Per-rep productivity | Actual attainment, not quota | Quarterly |
| Gross revenue retention | Monthly ARR waterfall | Monthly |
| Expansion rate | Expansion ARR over beginning ARR | Monthly |
Per-rep productivity must come from actual attainment. Building the model on quota assumes every rep hits plan, which encodes the miss before the quarter starts. If the team delivered 80 percent of quota last year, the assumption is 80 percent of quota.
Where should assumptions live in the model?
On their own tab, one cell per assumption, referenced by every calculation and typed into none.The test is mechanical. Search the calculation layer for hardcoded numbers. Every one you find is an undocumented assumption that will outlive the person who typed it.
Each assumption cell needs four attributes beside it: the value, the calculation or query that produced it, the date range of the underlying data, and the date it was last refreshed. That last field is the one that gets skipped and the one that matters most in month seven, when someone asks whether the win rate in the model reflects the pricing change from April.
Structure this way and updating an assumption is one edit. Structure it any other way and updating an assumption is a project, which means it does not happen.
How do you set conversion and timing assumptions?
Calculate both from closed opportunities only, segmented, and check the trend rather than accepting the average.For win rate, divide won opportunities by the sum of won and lost over the trailing twelve months. Open deals are excluded, which is where most win rate calculations break. Run it separately by segment, because enterprise and SMB conversion behavior are unrelated, and a blended rate describes neither.
Then look at the four quarters inside that twelve months. An assumption of 22 percent built from quarters that ran 26, 24, 20, and 18 percent is describing a business that no longer exists. Use the recent trend, and note in the documentation that the rate is declining.
For cycle length, measure created date to closed date on won deals and use the median. Means get destroyed by the single enterprise deal that took two years. Segment this too, and use it as the timing gate on pipeline creation. If mid-market deals take 90 days, pipeline that must close this quarter had to exist last quarter, and no assumption about heroic effort changes that arithmetic.
Which assumptions go stale fastest?
Win rate, deal size, and cycle length, and they usually move together.Forecasts miss because something changed in the business or the market and the model was still running on old assumptions. The changes arrive in recognizable shapes. A new competitor enters and creates pricing pressure, so average deal size falls. Interest rates rise, private equity capital slows, valuations compress, buyers cut costs, and win rates decline. Broad uncertainty makes buying committees hesitate, so deals stretch from qualified to closed.
Each of those events touches more than one assumption. That is why flexing assumptions independently understates the damage. A model that assumes win rate can fall 10 percent while deal size and cycle length hold constant is describing a scenario that does not occur.
One more assumption ages quietly: territory stability. When territories get redrawn, sellers are distracted and execution suffers even while pipeline looks healthy. Coverage holds, the model looks fine, and the quarter still misses. Track deal slippage through the transition, since close date changes surface the problem before the revenue does.
How do you handle assumptions you cannot source?
Label them as estimates, bound them with a range, and set a date to replace them.Some assumptions have no historical basis. A new segment, a new product, a new region. Borrow a value from the closest analogous part of your business rather than from an industry benchmark, since your own adjacent segment shares your sales motion and your pricing.
Attach a replacement trigger. After 30 closed opportunities in the new segment, the borrowed rate gets replaced with the observed one. Thirty is enough to be directional even though it is not statistically comfortable, and waiting for comfort means running on a borrowed number for a year.
What happens when an assumption is wrong?
Update it, restate the affected periods, and log the correction with its size and direction.The log is the point. One correction is noise. Four consecutive corrections in the same direction on the same assumption is a structural bias, and structural bias is fixable once you can see it. Teams that quietly overwrite assumptions never accumulate the evidence, so they keep making the same error with a fresh number each quarter.
Review the assumption set on a fixed cadence rather than only when a forecast misses. Reviewing after a miss guarantees you fix the assumption that was wrong this time and leave the others aging. The wider discipline around this is covered in sales forecasting best practices, and the measurement side in forecast accuracy.
Frequently Asked Questions
What assumptions go into a revenue forecast model?
Win rate by segment, average closed-won deal size, sales cycle length, stage conversion rates, pipeline creation volume, ramp time for new reps, per-rep productivity, gross retention, and expansion rate. Each one should be a single cell on an assumptions tab with a source and a date attached.
Where should forecast assumptions be stored?
On a dedicated tab or table, never inside calculation formulas. An assumption typed into a formula becomes invisible within weeks, which means nobody reviews it and nobody updates it. Every calculation cell should reference the assumptions table rather than containing a number.
Which forecast assumptions go stale fastest?
Win rate, average deal size, and sales cycle length. All three respond to market conditions within a quarter. A new competitor creating pricing pressure compresses deal size. Buyer uncertainty lengthens cycles. Both changes are usually visible in trailing data before they show up in a missed quarter.
How do you document a forecast assumption properly?
Record the value, the calculation that produced it, the date range of the source data, who set it, and when it was last refreshed. An assumption without a source cannot be challenged or corrected, so it survives long after it stops being true.
What should you do when an assumption turns out to be wrong?
Update it, restate the forecast, and record the size of the correction. The record matters because repeated corrections in one direction on one assumption reveal a structural bias, which is a fixable problem. Silent correction hides the pattern.
See how ORM turns these insights into action
ORM builds custom revenue forecast models for B2B SaaS companies. Not dashboards. Prescriptive analytics that tell you what to do next.
Schedule a Demo