How do I build a real bottom-up forecast in a 50-rep org?
To build a real bottom-up forecast in a 50-rep org, do not ask AEs for a number. Ask them for facts about each deal — name, company, amount, stage, close date, next step, and last activity — then build the forecast yourself by applying probabilities you derived from your own historical close rates. A true bottom-up forecast is the sum of every open opportunity weighted by the stage-conversion rate that stage has actually produced in your business over the last 12 months, reconciled weekly against your top-down board target and presented as three numbers (conservative / realistic / upside) rather than one.
The whole thing lives in your CRM, not in a manager's gut. Run it on a weekly Friday cadence, not monthly, because a month is long enough for a quarter to quietly die before you notice. The seven-step loop is: (1) export a clean one-row-per-deal report of all open opportunities; (2) validate the data (amount set, stage filled, next step present, last activity under ~21 days); (3) assign each stage a probability from *your* history, dollar-weighted; (4) segment by rep, deal age, and size so big deals get individual review; (5) compute conservative, realistic, and upside totals; (6) reconcile the realistic number against the top-down target and treat any gap over ~15% as pipeline work you owe this quarter; (7) flag every large, over-age deal for a one-on-one that ends in "update it or close it."
If you have just changed your sales process, entered a new segment, moved pricing materially, or churned a big chunk of your sales team, your historical stage rates are no longer predictive — pause the stage-weighted model and run a run-rate forecast off booked ARR and new-logo velocity for a quarter while you rebuild the baseline. That caveat is the difference between a forecast that's honest and one that's confidently wrong. Everything below is the detailed version of these steps, with the trade-offs, the numbers to watch, and the failure modes that sink most first attempts.
Why Your Reps Can't Be the Forecast
The single most common mistake in a growing org is treating the rep's stated number as the forecast. It isn't data — it's a blend of optimism, memory, and whatever they think you want to hear on a Friday call. This isn't a character flaw. Salespeople are selected and trained to believe every deal will close; that belief is what gets them through a hard quarter. But the same optimism that makes someone a good closer makes them a poor statistician about their own book.
Two structural biases show up in nearly every AE-submitted forecast. The first is recency and salience bias: the deal they talked to yesterday feels closer than the one that's been quietly stalled for three weeks, so it gets weighted higher regardless of the actual evidence. The second is the anchor of the ask — if you asked for a number last week and they missed, they'll shade this week's number to make the trend look better. Neither bias is correctable by asking harder. You correct it by not asking for the number at all.
The alternative is to collect *facts* and do the arithmetic yourself. A fact is checkable: "Acme, $85K, Negotiation stage, close date March 14, next step is a redlined MSA back from their legal team, last activity two days ago." That either matches reality or it doesn't, and you can spot-check it against a call recording or an email thread. An opinion ("I feel good about Acme") is not checkable and should never enter a model. Your job as the RevOps owner is to be the layer that turns facts into a probability-weighted number, and to keep that layer independent of the people whose comp depends on the answer.
There's a second-order benefit that shows up after a few weeks. Once reps understand that you pull and grade the data yourself every Friday — that the forecast is built from the CRM, not from what they say on the call — the incentive to sandbag or inflate on the call disappears, because the call isn't where the number is decided. The CRM becomes the source of truth, and the behavior that improves the forecast (logging real next steps, keeping activity current, closing dead deals) is exactly the behavior that improves the actual sales motion. The forecast stops being a reporting ritual and starts being a hygiene engine.
The caution here — and it matters — is that the moment reps learn *which fields you grade*, some will mechanically tick those boxes without doing the underlying work. A "next step" field gets filled with a placeholder; an activity gets logged that was really just a no-reply email. This is Goodhart's Law: a measure that becomes a target stops being a good measure. The counter is a small, consistent audit — pull five deals a week at random and check the logged next step against the last real customer interaction. If the file says "sent proposal, awaiting signature" and the last actual touch was a one-line "just checking in" email with no reply, that's not a forecasting error, it's bad data, and you treat the deal as unqualified until proven otherwise.

The Weekly Build: Seven Steps From CRM Export to Board Number
Here is the operational loop. In a 50-rep org this takes about two hours by hand the first few times and drops to 30–45 minutes once you've templated the reports; a fully automated version (scheduled CRM report piped into a BI tool) runs in the background and you just review the output.
Step 1 — Data pull. Export one row per open deal with these columns: deal name, company, amount, stage, close date, next step, owner, last activity date, and the rep's own confidence if you capture it. In Salesforce this is a single Opportunities report filtered to IsClosed = FALSE with those columns. In HubSpot it's a Deals export with the same fields. If you cannot produce this view in a couple of clicks, stop and fix that first — every downstream step assumes clean, one-click access to deal-level data, and a forecast built on a report you can't reproduce next week is theater.
Step 2 — Clean and validate. Before you weight anything, check four things on every row:
- Amount is set and non-zero. A pipeline full of $0 deals isn't a pipeline, it's a to-do list. Route zero-amount deals back to the owner and exclude them until fixed.
- Stage is filled and valid. No blanks, no "other," no stages that don't map to your defined funnel.
- A next step exists. A deal with no defined next step is, functionally, a dead deal. If the rep can't say what happens next, it moves to closed-lost until they can.
- Last activity is recent — a common threshold is under ~21 days. A deal you're forecasting on that no one has touched in three weeks is a deal you're lying to yourself about. Older-than-threshold deals get flagged as "at risk" and are excluded from the conservative and realistic numbers.
Step 3 — Assign stage probability from your own history (detailed in the next section). Do not use rep confidence. Do not use generic internet percentages as anything but a placeholder.
Step 4 — Segment. Build a pivot that shows, per rep: count of deals at each stage, how many are over the age threshold, total dollars by stage, and a separate line for every deal over a size threshold you care about (say $50K). Large deals do not get aggregate math — they get named, individual review, because one $500K deal slipping moves your whole number more than fifty $10K deals combined. As a sanity check on hygiene, a 50-rep org typically carries somewhere in the mid-hundreds to under a thousand open opportunities depending on ACV and cycle length; a count wildly outside your normal band usually means dead deals aren't being closed or new pipeline isn't being logged.

Step 5 — Compute three forecasts.
| Forecast | What it includes | Formula |
|---|---|---|
| Conservative | Only late-stage, high-probability deals | (Late-stage $ × its rate) + (Commit $ × its rate) |
| Realistic | Mid-stage and later | (Mid $ × rate) + (Late $ × rate) + (Commit $ × rate) |
| Upside | All open deals at stage probability | Σ (deal amount × that deal's stage rate) |
Step 6 — Reconcile against top-down (detailed later). The gap between your realistic number and the board target *is* your pipeline-generation task for the quarter.
Step 7 — Flag red deals. Every deal over your size threshold that is over-age for its stage gets pulled into a one-on-one. The question is specific: "This is 40 days old in a stage that averages 21. What's changed since day 20? Is it still real?" The deal gets updated with new evidence or it gets closed. It does not stay in the forecast on hope.
Run this every Friday. The consistency is the point: a forecast you run once is a snapshot; a forecast you run weekly is a trend line, and trend lines are what let you catch a quarter going sideways in week four instead of week eleven.
Setting Stage Probabilities From Your Own History
This is the step people get wrong, and it's the step that determines whether the whole exercise produces a real number or a comforting fiction. The temptation is to grab stage probabilities from a blog post — "proposal stage is 40%" — and apply them. Don't. Those numbers describe someone else's product, price point, buyer, and sales motion. Yours will be different, sometimes by a lot.
The correct method is to measure your own conversion. Pull the last 12 months of opportunities (four quarters smooths out seasonal noise) and, for each stage, answer one question: *of the deals that ever entered this stage, what fraction eventually closed-won?* That fraction is your stage probability. A deal that entered "Proposal" and later closed counts as a win for Proposal even if it passed through Negotiation on the way — you're measuring the historical outcome of reaching a stage, not the outcome of currently sitting in it.
Two refinements matter enormously:
Weight by dollars, not deal count. A 30% deal-count win rate in a given stage can hide a 15% dollar-weighted rate if your large deals slip more often than your small ones — which is common, because big deals have more stakeholders, more procurement friction, and more ways to die. If you forecast on the deal-count rate, you'll systematically over-forecast, because your biggest deals (the ones that move the number) are exactly the ones the average is lying about. Compute the rate as *dollars closed from a stage ÷ dollars that entered that stage.*
Capture cycle time per stage too. Alongside the win rate, record how long deals typically sit in each stage. This gives you the age thresholds you use in Step 2 and Step 7. If your Proposal stage averages three weeks, a proposal-stage deal sitting untouched at five weeks is measurably off-pattern and belongs in the flag pile.

As a *starting scaffold only* — to be replaced the moment you have your own data — a typical early-to-late funnel runs from single-digit or low-double-digit probability at first qualification, up through the twenties and thirties in the middle, into the fifties and sixties in negotiation, and into the high eighties or nineties once you have a signed order or contract in hand. But treat those as illustrative shape, not your numbers. The cap rule is real and worth enforcing regardless of source: never let any open deal sit above ~90% until it is closed-won. Verbal commits and "done" deals do slip and die in the final week — procurement freezes, a champion leaves, a budget gets pulled — and a model that treats a verbal as 100% will overstate your commit number and burn your credibility the one time it matters.
Re-derive these rates at least quarterly. They drift. A pricing change, a new competitor, a shift in your lead mix, or a change in who's carrying the quota all move stage conversion, and a probability table you set last year is a probability table that's slowly becoming fiction.
The Confidence-Gap Review and the Three-Number Forecast
Once you have a weighted pipeline built from stage probabilities, you have a powerful diagnostic available for free: the confidence gap. For each rep, compare two numbers — the weighted pipeline value you computed, and the personal forecast they give you in the one-on-one. The difference tells you exactly where to spend your coaching time.
- Rep forecast much higher than weighted pipeline (a large positive gap): the rep is overconfident. Make them walk you through the specific deals justifying the delta. The usual findings are double-counted deals, a big expansion that hasn't actually started, or stage probability being ignored on a "sure thing." The over-forecasters are rarely lying — they're optimists, and your job is to apply the stage math they won't apply to themselves.
- Gap in a normal band (small, either direction): ordinary variance. Note it, coach lightly, don't override.
- Rep forecast at or below weighted pipeline (flat or negative gap): either genuine sandbagging or a book full of zombies they won't admit are dead. Run a last-activity filter on their top five deals; if they're all past your age threshold, those deals are hope, not pipeline.
The confidence gap is most useful in aggregate: a disproportionate share of forecast misses in most orgs traces back to a small number of reps carrying the largest positive gaps. Find those reps, deflate their pipeline with stage probability before it rolls up, and you've removed most of the org-level forecast error in one move.

The output you present to leadership should never be a single number. Present three, and use precise language:
- Conservative (commit): deals where you have a signed document, a buyer with authority, and a confirmed date. This is the floor — the number you'd bet your own money on. By mid-quarter, a healthy 50-rep org usually has a meaningful chunk of its quarterly target already sitting in commit; if commit is thin deep into the quarter, you have a pipeline-generation problem, not a forecasting one, and you should say so.
- Realistic: commit plus the mid-and-late-stage deals weighted at their true rates. This is the number you actually expect to land.
- Upside: everything open, weighted. This is the ceiling if the cohort behaves and your outliers land.
The framing sentence buys you more credibility than any spreadsheet: *"Commit is $2.4M, realistic is $3.1M, upside is $4.2M. Realistic is the number we hit if this quarter's mid-stage cohort converts like last quarter's; upside assumes both of our large stage-four deals close."* That sentence tells leadership exactly what has to be true for each number, which is the whole job of a forecast. Building it in the CRM is simple: add a "Forecast Category" field (Commit / Upside / Pipeline), define a hard entry test for Commit ("signed doc, authorized buyer, confirmed date — yes to all three"), and group your weekly report by it.
Reconciling Bottom-Up With the Top-Down Board Target, and When Bottom-Up Fails
A bottom-up forecast that never meets the top-down number is only half a forecast. Your CFO or board carries a top-down target — usually the annual ARR goal divided across quarters, adjusted for seasonality. Your realistic bottom-up number and that top-down target need to be reconciled every week, because the *gap between them is the most actionable number you produce.*
Read the gap directionally:

- Realistic is materially below top-down (say more than ~15% under): that gap is the pipeline you have to create and close this quarter. It's not a reason to inflate probabilities — it's a work order for demand generation, outbound, and expansion motions. Quantify it as coverage: if you need another $700K of realistic-weighted pipeline and your mid-stage conversion is 30%, you need roughly $2.3M of new mid-stage pipeline entered and worked, which tells marketing and SDRs exactly what to build.
- Realistic is materially above top-down: don't celebrate — audit. A bottom-up number that runs well ahead of the board target usually means your stage probabilities are too generous or dead deals are still counted. Recalibrate before you promise a number you can't hit.
The failure to reconcile is one of the most common reasons revenue leaders miss their number: the bottom-up and top-down views are maintained by different people, in different tools, and never forced to agree until the quarter closes and the gap becomes a miss. Reconciling weekly turns that end-of-quarter surprise into a mid-quarter to-do list.
Now the bear case — when bottom-up forecasting is the wrong tool. The entire stage-weighted method rests on two assumptions: that your stage definitions are stable, and that your historical close rates are still predictive. Break either and the forecast becomes confidently wrong, which is worse than obviously uncertain. Specifically, distrust your historical rates if in the last six months you have:
- Changed your sales process or stage definitions — your history is measuring stages that no longer exist.
- Entered a new segment or market — enterprise deals don't convert like SMB deals, and averaging them hides both.
- Moved pricing by more than ~10% — win rates and cycle times shift with price, sometimes sharply.
- Turned over a large share of your sales team — a green team doesn't convert stages like the tenured team whose history you're using.
In any of those situations, run a run-rate forecast for a quarter instead: project off booked ARR plus your recent new-logo and expansion velocity, and rebuild the stage baseline in parallel using only post-change deals. Two other structural cases: if your sales cycles are very short (PLG or transactional SMB, cycles under a couple of weeks), stage-weighted forecasting adds noise rather than signal — use a cohort run-rate model keyed to signups or trials instead. And never let leadership adopt your conservative/commit number as the new *target*; the instant the floor becomes the goal, reps learn to hide deals from you to keep the floor low, and your data quality collapses. The commit number and the stretch target must stay separate, owned by different conversations.
FAQ
Why can't I just ask my AEs for their forecast numbers?
Because AE-submitted numbers blend optimism, recency bias, and the pressure of last week's ask — they're opinions, not data. Salespeople are selected for the belief that every deal closes, which makes them poor statisticians about their own book. Collect checkable facts per deal (amount, stage, next step, last activity) and apply your own historical stage probabilities. The rep's number is still useful — but as a *diagnostic* against your weighted pipeline (the confidence gap), not as the forecast itself.
What is the minimum data I need from each deal?
Deal name, company, amount, stage, close date, next step, owner, and last activity date. That's enough to weight and validate. If your CRM can't export those fields in a couple of clicks, fix that before anything else — a forecast built on a report you can't cheaply reproduce every week won't survive contact with a busy quarter.
How often should I run a bottom-up forecast?
Weekly, on a fixed day. Monthly is too slow — a month is long enough for a quarter to quietly derail before the data shows it. Weekly runs turn the forecast from a one-off snapshot into a trend line, which is what lets you catch a slipping quarter in week four instead of at the close. In a 50-rep org the weekly build is roughly 30 minutes to two hours depending on how much you've automated.
How do I set stage probabilities without guessing?
Measure your own history. Pull the last 12 months of opportunities and, per stage, compute the fraction of deals that entered that stage and eventually closed-won — weighted by dollars, not deal count, because big deals slip more and skew the count-based rate. Generic online percentages are fine as a temporary placeholder but describe someone else's business; replace them with your numbers and re-derive at least quarterly, since pricing, competition, and team changes all move the rates.
What should I do with $0-amount deals, blank stages, or stale deals?
Exclude and route them back for correction before they touch the forecast. A zero-amount or blank-stage deal is unqualified data; a deal untouched past your activity threshold (commonly ~21 days) is a deal you're forecasting on hope. Keep stale, large deals visible on an "at risk" line and out of your conservative and realistic totals until the rep produces fresh evidence that the deal is real.
When is bottom-up forecasting the wrong approach entirely?
When your historical stage rates are no longer predictive — right after a process change, a new-segment entry, a pricing move over ~10%, or heavy sales-team turnover — or when cycles are so short (PLG/SMB under a couple of weeks) that stage-weighting adds noise. In those cases run a run-rate forecast off booked ARR and recent new-logo velocity, or a cohort model, for a quarter while you rebuild the stage baseline from post-change deals only.
Sources
- Salesforce — Sales Forecasting guide and pipeline management fundamentals: https://www.salesforce.com/resources/articles/sales-forecasting/
- HubSpot — Sales forecasting methods and step-by-step frameworks: https://blog.hubspot.com/sales/sales-forecasting
- Gartner — Sales research and forecasting/pipeline practice for revenue leaders: https://www.gartner.com/en/sales
- Harvard Business Review — Sales management and forecasting perspectives: https://hbr.org/topic/subject/sales
- McKinsey & Company — Growth, Marketing & Sales insights on revenue planning: https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights
- Clari — Revenue operations and forecasting resources: https://www.clari.com/resources/
Related on PULSE
- [How do you build a bottom-up forecast in a 50-rep SaaS org that survives one AE's $2M deal slipping?](/knowledge/q9517)
- [What's the right capacity-planning model for a 50-rep org?](/knowledge/q114)
- [How do you set quota using bottom-up vs top-down methods?](/knowledge/q12643)
- [How do you reconcile top-down board goals with bottom-up pipeline reality?](/knowledge/q9895)
- [What CRM hygiene minimums make a weekly forecast possible?](/knowledge/q33)
- [How do you weight deals by stage conversion instead of rep confidence?](/knowledge/q41)










