learn-sales-pipeline-analytics-with-phoebe / Analyst session 6 of 6
Learn B2B Sales Pipeline Analytics with Phoebe · Analyst session 6 of 6

The forecast honesty bench

Three forecasts of the same quarter, made on 1 June 2018 from the same 300 open deals, scored against what really closed by 30 August. The outcomes are real rows from Olist's public B2B funnel; Kettle & Co's stages, amounts and reps sit on top of them, constructed and labelled. The bench computes everything in your browser, then replays the quarter twenty times with different deals to separate a lucky quarter from a sound method. Then it lets you break it twice: once with happy ears, the reps' habit of moving a deal one stage up on hope, and once by letting the biggest deal slip into next quarter.

🔴 Bench Data analysts who build the forecast, and the BD leads who sign it Hands-on in the browser 45 min
0-3 · Welcome 3-10 · What the bench scores 10-35 · The ladder, then happy ears and the whale 35-45 · Ranges, Q&A
Part 0

Where we start

Analyst sessions 1 to 5 built the parts: the snapshot that freezes the pipeline on forecast day, conversion by cohort, the cycle-time curve, three forecast methods and the way to score them. Tonight they meet on one bench. What is real: for every one of the 3,465 leads first contacted in March to May 2018 and still open on 1 June, its origin, its age, and whether it really closed between 1 June and 30 August. What is constructed: Kettle's five stages, the amount of each deal, which of four reps owns it, and which 300 of those leads form "this quarter". Ranges for stage-weighted and history-based are modelled as 80 percent bands.

🎫 Clear all three quiz questions to stamp your passport Live = presented in the 45 minutes Self-study = the full depth, after class ★ Build-along = everyone builds it

★ What you walk out with tonight. A ladder of four forecasts with their error, bias and coverage measured on real outcomes, a demonstration of which method a stage-inflating team breaks and which it cannot touch, and the habit of asking "did the range cover it?" before "was the number right?".

Part 1 · covers what the bench scores

One quarter is an anecdote; twenty replays are a track record

7 min live

Any method can be right in one quarter by luck. The bench therefore prints two kinds of number. For "this quarter", the forecast, the range, what really closed, and the error. For the method, the same forecast made on twenty different 300-deal draws from the same real open leads: its bias (does it lean high or low?), its error (how far off is a typical quarter, ignoring sign?) and its coverage (in how many of the twenty did the range contain what closed?).

WHAT EACH METHOD READS FROM A DEAL one deal card on the left, three methods on the right ONE OPEN DEAL rep: Ben stage 3, Tasting trial amount: 360,000 yen origin: paid_search age: 40 days REP COMMIT · reads the rep's line commit at stage: Aiko 5, Ben 4, Chiara 5, Dev only once signed STAGE-WEIGHTED · reads the stage x Kettle's last-quarter rate: 0 / 0.6 / 6.3 / 18.1 / 64.6% HISTORY-BASED · reads origin and age real conversion x share of real cycle curve inside 91 days History-based never reads the stage. Hold that thought for happy ears. The example deal is illustrative; stages, amounts and reps are constructed, origin and age are real.
🔍 Click to zoom - three methods, three different parts of the deal; the copper one ignores the part reps can edit
LiveThe three scores, defined once4 min▶

Error this quarter. Forecast minus what really closed, in millions of yen and as a percentage of what closed. Positive means the forecast was too high.

Bias over 20 replays. Add up every replay's forecast minus actual, divide by the total actual. Near zero means the method does not lean either way, even if each single quarter misses.

Error over 20 replays. The average size of the miss, sign ignored, over the average actual. A method can have small bias and large error: it overshoots one quarter and undershoots the next, and the two cancel in the bias. Analyst session 5 met a rep like that.

Coverage. In how many of the 20 replays the method's range contained the actual. An 80 percent band that covers 17 of 20 is roughly honest about its own uncertainty; one that covers 10 is too narrow or aimed at the wrong place.

Self-studyWhy these real rows, and what is constructed on top3 min▶

Real Olist B2B funnel rows (Brazilian marketplace seller acquisition) stand in for Kettle's history. For each lead the bench knows its origin, its first-contact date and whether and when it really won. The history-based method learns its rates only from leads first contacted in January and February 2018, as they could be seen on 1 June: 2,169 leads, 268 won by then. The open pool it forecasts is a different set of leads, so the score is out of sample.

Olist has no stage history and no lost deals, so stages were constructed from each lead's real outcome with deliberate noise: deals that really closed soon tend to sit at later stages, but not always, and some deals that never closed sit at stage 4 or 5. Amounts are drawn from a skewed distribution with a median of 360,000 yen. The quarter's 300 deals are a seeded draw. Everything constructed is labelled on the widget.

Build-along · the bench

The forecast honesty bench

★ 22 min · the main event

Work the four rungs in order and say out loud what changed. Rungs 1 to 3 are the three methods; rung 4 switches on the anti-lever. Then press the break button. The table under the ranges shows all three methods at once, so you can watch which ones move.

Read it in this order. The range bars first: does the copper line (what closed) sit inside each band? Then the error this quarter. Then the three columns from the 20 replays, which say whether this quarter was typical. A method that wins this quarter but covers 4 of 20 was lucky.

THE LADDER, THIS QUARTER AND OVER 20 REPLAYS millions of yen · scale 0 to 25 · 1 June to 30 August 2018 1 · Rep commit 2 · Stage-weighted 3 · History-based 4 · + happy ears 7.86 · misses bias +33.9% · 4 of 20 8.60 · covers bias +62.7% · 10 of 20 5.01 · covers bias +18.6% · error 38.8% · 17 of 20 5.01 · unchanged actual 5.86 0 5 10 15 20 25 Dark tick: the forecast. Band: its range. Hatched: history-based, the only method with no stage input. The ladder is the bench's output for draw 0; replay columns come from all 20 draws.
🔍 Click to zoom - only the hatched method is both close this quarter and covers in 17 of 20 replays

Step 1 · Rung 1, rep commit. Select it and read the verdict. The range is commit to commit plus best case, so its floor is the commit itself: when what closed is below the commit, no part of the range can cover it.

★ Step 1 · what the bench printsRep commit: 7.86m yen against 5.86m that really closed (+34.1%). Range 7.86 to 24.36, misses it. bias over 20 replays +33.9% · error over 20 replays 48.2% · 4 of 20 inside the range

Step 2 · Rung 2, stage-weighted. It uses Kettle's own stage-to-win rates from last quarter, not a vendor default. It covers this quarter, and leans high over the replays.

★ Step 2 · stage-weightedStage-weighted: 8.60m yen against 5.86m that really closed (+46.8%). Range 5.48 to 11.72, covers it. bias +62.7% · error 68.2% · 10 of 20

Step 3 · Rung 3, history-based. Real conversion by origin times the real cycle-time curve, deal by deal. Closest this quarter and the best coverage over twenty, and it still leans high: the leads first contacted in May 2018 converted at 10.0 percent against 13 to 14 for January to April, and a history-based forecast assumes next quarter behaves like the last.

★ Step 3 · history-basedHistory-based: 5.01m yen against 5.86m that really closed (-14.5%). Range 2.03 to 8.00, covers it. bias +18.6% · error 38.8% · 17 of 20

Step 4 · Rung 4, happy ears on. Thirty percent of deals below stage 5 move up one stage. Read the hint line, then the table: stage-weighted and rep commit jump; history-based does not move at all.

★ Step 4 · the anti-leverHappy ears on: stage-weighted moves from 8.60 to 11.38m, an overshoot of 2.79m yen (47.5% of what closed). History-based does not read stages, so it stays at 5.01. table: Rep commit 10.67 (+82.1%) · Stage-weighted 11.38 (+94.3%) · History-based 5.01

Step 5 · Break it: the whale slips. Press the red button. The biggest deal that really closed moves into next quarter; the forecasts were already made. Read which ranges still cover the new actual.

★ Step 5 · the break buttonThe biggest deal that really closed (2.11m yen) slips to next quarter: actual falls from 5.86 to 3.75. Still covered: History-based. over 20 replays with the whale slipping: rep 2, stage 3, history 13 of 20 covered
Part 2 · covers the happy-ears anti-lever

Happy ears: the method that reads stages inherits the hope

6 min live

"Happy ears" is the sales habit of hearing a yes in a maybe: the trial went well, so the deal goes to Proposal before anyone asked for a price. One step up on three deals in ten looks harmless. Stage-weighted multiplies each step by a bigger probability, so the forecast climbs 2.79m yen, nearly half of what really closed. History-based reads origin and age, which nobody edits on hope, and does not move.

ONE STEP UP, AND WHAT EACH METHOD DOES WITH IT stage rates: Kettle's own, last quarter · constructed stages 1 · 0% 2 · 0.6% 3 · 6.3% 4 · 18.1% 5 · 64.6% rep moves it up on hope STAGE-WEIGHTED 8.60 to 11.38 overshoot 2.79m, 47.5% of actual HISTORY-BASED 5.01, unchanged reads origin, age The weight rises fastest at the top step, so a little hope on late deals costs the most.
🔍 Click to zoom - the copper square is one deal moved one step; the jump in its weight is the whole anti-lever
LiveWhy history-based is immune, and why that is not a free win3 min▶

Immune. History-based never reads a field a rep can edit. On rung 4 it prints the same 5.01 as on rung 3, with the same bias and coverage, by construction.

Not free. The same blindness means it ignores real signal. A buyer who really did ask for a contract last week is, to history-based, just a 40-day-old paid-search lead. In Kettle's constructed stages, the deals at stage 5 closed far more often than the deals at stage 1: the stage carries information. A team with honest stages and an event log can do better than either method alone, for example by fitting history-based rates within each stage. That needs the stage history from Analyst session 1.

Honest nuance. On these rows, history-based also leans high over the replays (bias +18.6 percent), because recent leads converted less than the training months. Immune to happy ears is not the same as unbiased.

Self-studyWhat happy ears does to rep commit2 min▶

Commit is drawn at a stage line, so inflating stages pushes deals across it. On rung 4 the rep-commit total rises from 7.86 to 10.67m yen, +82.1 percent against what closed, and its coverage over twenty replays falls to 0 of 20. The rep who commits only signed deals, Dev, is untouched, because nothing below signature counts for him; he under-calls every quarter instead.

Real world

The Friday before quarter-end. Every sales team knows the week when Proposal deals become Contract out because "they said they would sign". The stage-weighted forecast that weekend is the most optimistic of the quarter, and it is wrong in a predictable direction. Kettle's data team now prints stage-weighted and history-based side by side in the Monday review: when they drift apart, somebody asks which stages moved and on what evidence. Constructed Kettle & Co example.

Part 3 · covers ranges and the whale

The whale slips: which range was honest?

6 min live

In a quarter where seven deals close, one deal can be a third of the money. In this quarter the largest deal that really closed is 2.11m yen of the 5.86m total. Press the break button and it slips into next quarter. The forecasts do not change, because they were made on 1 June; only reality moved. The question is which method had admitted, in its range, that this could happen.

THE SAME RANGES, BEFORE AND AFTER THE WHALE SLIPS millions of yen · copper: on time · red dashes: slipped Rep commit Stage-weighted History-based covers neither covered 5.86, misses 3.75 covers both 5.86 3.75 2.11m whale 0 5 10 15 Over 20 replays with each quarter's biggest winner slipping: rep 2, stage 3, history 13 of 20 covered.
🔍 Click to zoom - only the hatched range was wide enough to admit the slip before it happened
LiveWhat a range is for3 min▶

A point forecast says what is most likely. A range says how wrong the forecaster expects to be. The BD lead commits to a number; the data team publishes the range around it and, from Analyst session 5, how often past ranges covered what happened. That is the ownership split from Business session 3.

The 80 percent bands here come from a normal approximation of the sum of many yes-or-no deals, each with its own probability and amount. With seven wins in a quarter, the real distribution is lumpy and the normal shape is only rough, which is one reason coverage under the whale falls to 13 of 20 even for history-based. Say "80 percent band, modelled" whenever you show one.

Self-studyReport the whale separately2 min▶

When one deal is a third of the quarter, it deserves its own line: the forecast with it, the forecast without it, and the date its buyer last did something. Leaders can then decide whether to commit to the whale, which is their call, while the data team keeps the method honest for the rest. Kettle's whale is constructed; the shape, one deal carrying a quarter, is very common in small B2B teams.

Real world

The vendor default that tripled the forecast. Before Kettle measured its own stage rates, its CRM applied the HubSpot default deal probabilities (20, 40, 60, 80 and 90 percent, read on HubSpot's knowledge base in October 2026). On this same quarter that stage-weighted forecast is 63.64m yen against 5.86m that closed, and covers 0 of 20 replays. Defaults are placeholders for your own history, not a forecast. The comparison is on the methods widget in Analyst session 4.

Homework

Before you sign the next forecast

45 min
  1. Run the ladder on your own last quarter. Freeze the pipeline as of its first day (Analyst session 1), compute rep commit and stage-weighted from that snapshot, and score both against what closed.
  2. Measure your own stage rates from the quarter before, and compare them with the probabilities your CRM applies today.
  3. Find your whale. Name the largest deal in this quarter's forecast and compute each method with and without it.
  4. Write the range next to your next forecast, labelled as modelled, and diary the date to check whether it covered.
Check yourself

Three questions

Clear all three and Analyst session 6 gets stamped in your passport.

1 · With happy ears on, stage-weighted rises from 8.60 to 11.38m yen and history-based stays at 5.01. Why?

Immune by construction, because it never reads stage. The same blindness means it also ignores honest late-stage signal.

2 · Rep commit's range is 7.86 to 24.36 and 5.86m really closed. What does that tell you?

Commit is treated as the floor, best case as the ceiling. When the floor is too high, the method has no way to admit a miss below it.

3 · History-based is closest this quarter and covers 17 of 20 replays, yet its bias is +18.6 percent. What is the most likely reason on these rows?

A history-based forecast assumes the next quarter behaves like the history. When the world shifts, it leans, and only scoring it over many quarters shows the lean.

Sources covered

What this session teaches, and where it came from

✓3,465 open leads, 2,169 training leads, real outcomes 1 June to 30 August 2018Olist, "Marketing Funnel by Olist", Kaggle dataset, CC BY-NC-SA 4.0, read at source; computed by the bench engine
✓Ladder 7.86 / 8.60 / 5.01 against 5.86; happy-ears overshoot 2.79m; whale 2.11mPrinted by the bench; a Python reference script agrees with the browser engine to the printed precision
✓HubSpot default deal probabilities 20, 40, 60, 80, 90 percentHubSpot Knowledge Base, "Set up and customize pipelines", read at source October 2026
◐Kettle & Co stages, amounts, reps and the 300-deal drawsConstructed, seeded and labelled on the widget
◐80 percent bands under a normal approximationModelled; labelled on the widget

Every fact on this page, and its verification tier, is recorded in the course's source map.

Analyst session 6 cheat sheet · pin this

Three scoresError this quarter; bias and error over many; coverage of the range.
The ladderRep 7.86, stage 8.60, history 5.01 against 5.86 closed.
Happy earsStage-weighted +2.79m (47.5% of actual). History-based unmoved.
The whale2.11m slips: only history-based's range still covers.
Defaults lieVendor stage probabilities gave 63.64 against 5.86. Measure your own.
Immune is not unbiasedHistory-based leans +18.6% when recent leads convert less.