Your forecast is a range, not a number

A weighted pipeline gives you one figure and hides how uncertain it is. This gives you the spread, which deals cause it, and — after a few months — whether your own estimates run hot or cold.

Why a range

Your CRM gives you the average outcome, not the likely one.

Your CRM multiplies each deal's value by a stage probability and adds them up. That number is the average of every way the quarter could go. It is not the likely outcome, and it will almost never be what actually lands.

With a handful of deals the average is close to meaningless. The spread around it shrinks with the square root of how many deals you have, so at 100 deals the total lands within about ±10% of the average, while at 9 deals it is ±33%. Small teams are told a precise-sounding number precisely where it is least trustworthy.

The range shown on the main page is where 80% of outcomes land. The weighted pipeline figure is printed beneath it, so you can see how much certainty it implies that it has not earned.

How the number is worked out

The period is played out 10,000 times, and the spread is what you see.

Every time you change something, the app plays the period out 10,000 times. In each run it rolls a die for each deal against the probability you gave it, adds up what closed, and records the total. Ten thousand totals become the distribution you see.

Two consequences worth knowing. The average of those runs is exactly your weighted pipeline — so this does not disagree with your CRM about the mean, it just refuses to stop there. And the result does not depend on the order of your rows: deals are sorted internally before anything is rolled, so sorting or dragging the grid never changes a figure.

What the win % is for

Nine rungs, each one a fact the buyer confirmed rather than one you inferred.

It is your judgement, not a stage. The dropdown offers nine rungs, each one a fact confirmed by the buyer rather than inferred by you — because a probability is only worth forecasting on if it is attached to something checkable.

The nine rungs of the win % ladder
RungNameWhat has to be true
10%Early opportunityA pain you can name. One contact. Nothing verified.
20%Qualified opportunityPain confirmed and quantified in their words. The obvious no has been ruled out.
30%Champion emergingSomeone inside sells for you when you are not in the room — untested.
40%Fit establishedYou know their decision criteria and you meet them. Three or more contacts engaged.
50%Economic buyer engagedYou have met whoever signs, and heard the budget from them rather than about them.
60%Compelling event datedA deadline they own, not one you invented. Impact quantified against it.
70%Path to signature mappedDecision and paper process both known — legal, security, procurement, every step named.
80%Verbally committedThey have said yes and told the competition no. Paperwork in motion.
90%Out for signatureRedlines closed, contract with the signatory, a date on it.

The rungs are anchored to published benchmarks rather than to convention. The average B2B SaaS win rate across all opportunities is around 21%, and around 29% for qualified ones — which is why "qualified opportunity" sits at 20% here and not the 40–60% most CRMs default it to. That gap is the single largest source of systematic optimism in a stage-weighted pipeline.

You can still type any number. The rungs are a starting point, and once you have enough history the track record will tell you where your own rates actually sit.

Reading the panel

What banked versus at risk means, and why two or three deals drive the whole range.

Banked versus at risk. Deals at 100%, and those you have marked won, are separated out. They are a floor under every outcome rather than a forecast, and blending them in makes the range look tighter than it is. With a target set, the panel says how much still has to come out of the open pool.

Where the uncertainty lives. Each deal contributes to the spread in proportion to p(1−p)v² — biggest when a large deal is genuinely uncertain, near zero when a deal is small or nearly settled. It is usually brutally concentrated: two or three deals typically account for most of the range. That list, and the chance that none of them land, is the part worth acting on.

Closing a month

Why reconciling is not admin: a half-closed month flatters your accuracy.

When a month ends, every deal still sitting in it needs a decision: won, lost, or a new close date. The prompt does not clear until they all have one.

This is not administration for its own sake. A month left half-reconciled makes your forecasts look more accurate than they were, because only the deals that resolved get counted. A deal that slips to the following month is recorded as slipped rather than lost — a timing miss is a different problem from a probability miss, and the difference is usually the more useful finding.

What happens to deals at each rung

Of the deals that reached 90%, how many actually closed.

Every run stores the odds you had on each deal at the time, so the track record can ask a question the grid cannot: of the deals that ever climbed to a given rung, what share landed? It is cumulative — "reached 50%" means 50% or better at some point, not peaked exactly there — because that is what the question means when it is asked, and because the exact-peak buckets would be too thin at the top to say anything.

Slipped is kept apart from lost. A deal that moved to next month is late, not dead, and folding the two together turns a scheduling problem into a qualification problem — which is the wrong meeting to call.

It reads the peak rather than the final number, so a deal marked back down to 30% in the week it died still counts as having reached 90%. The two rungs people ask about, 50% and 90%, lead the report; the rest of the ladder sits underneath, because a process usually breaks somewhere other than the top.

What appears over time

Most of what this can tell you does not exist on day one. Here is the order it arrives in.

Most of what this app can tell you does not exist on day one. Every forecast is dated and kept, so the picture fills in as months close out.

AfterWhat you get
ImmediatelyThe range, the odds against your target, the banked split, and the deals driving the spread.
1 closed monthYour track record opens: forecast against actual for that month. One month is an anecdote, not a pattern.
3 months"You run X% hot or cold" starts to mean something, and a run of months biased the same way becomes visible.
6 monthsDeal-size bands become readable — whether you are worse at judging your larger deals than your smaller ones. The rung report firms up too: what share of deals that reached 50%, or 90%, actually closed.
12–24 monthsPer-rep calibration becomes trustworthy. It takes this long because a rep needs around 30 resolved deals before the number means anything.

The track record enforces this rather than trusting you to remember it. Every segment carries a margin of error, and a gap smaller than its own error stays grey instead of being reported as a finding. At around 25 resolved deals a perfectly calibrated rep can read 20 points optimistic on noise alone — which is exactly the sort of number that starts an unfair conversation.

What that looks like

After three months — month by month · illustrative
MonthForecastActualGap
June48.900 €41.200 €+19%
July52.300 €44.800 €+17%
August39.700 €36.100 €+10%

Three months the same direction is when the headline starts saying something: you run 15% hot, and a streak is flagged.

After a year — by rep · illustrative
DealsStatedClosedGap
Alex Rivera6366%46%+20% ±12
Jordan Blake5745%37%+8% ±13
Morgan Silva2137%46%−9% ±21

Only the first row is called. Alex's 20-point gap is larger than its own ±12 margin, so it is a finding. Jordan's 8 points sits inside ±13 and stays grey — it is indistinguishable from zero. Morgan has only 21 resolved deals, below the minimum before any verdict is given at all, which is why the margin is so wide.

What it deliberately does not do

No CRM sync, no team logins, nothing leaving your browser unless you sign in.

No CRM sync. You paste your deals in. That is a choice: the whole point is your judgement about each deal, and a sync would drag stage weightings back in through the side door.

No team logins. This is a private instrument for one person thinking, not a reporting tool. That is why it can tell you your odds are 7% without that becoming a document somebody else reads.

Your deals never leave your browser unless you sign in. Signed out, they are stored on this device only. Signing in syncs them so they follow you between machines.

The app does count page views and a handful of anonymous events — that someone pasted a pipeline, that a month was closed — so it is possible to tell whether any of this is being used. No deal name, value, owner or total is ever sent, counts are rounded into ranges, and the analytics are cookieless. Blocking them changes nothing about how the app works.