Theory
Case: the quarter's forecast review
Thirty open deals and an owner-feel forecast of 10.6 million: move the key accounts, flag the stale deals, weight the rest by pooled conversion and give Marta commit, best case and expected.
~8 min read · 10 exercises · 250 points
Before you start
Friday's forecast
It's 5 October, the quarter's review at Klasna for Teams: thirty open deals, and Leo's sheet says 10.6 million for the fourth quarter. Marta presents on Friday.
In this case you'll move the key accounts, flag the stale deals, weight the rest by stage history and give Marta commit, best case and expected.
Start with where the big number comes from
A forecast review starts by taking the headline apart. Leo's 10.6 million is the owners' forecast: for every deal expected to close October to December, value times the owner's probability, summed.
The first question is concentration: how much of the total sits in a few deals? At Teams, three key accounts do most of the work. Veloria (2,880,000 at 70 %), Cobalt (4,320,000 at 60 %) and Orchid (3,840,000 at 40 %) add 6,144,000, about 58 % of Leo's number.
That tells you where the biggest correction will come from. Key accounts are judged one by one against the buyer's own calendar, and all three are out of this quarter: Veloria wants a paid pilot and an early-2027 start, Cobalt's school contract runs to March, and Orchid's head office is still mapping the need. Each moves to 2027 with a written reason.
- DoThree deals = 58 % of the forecast: check their calendars first.
- Don'tTrim every deal by 10 % to make the total look realistic.
Flag stale deals, whatever the probability
Next, run the flag over every deal in the quarter: more than 30 days since the buyer last acted, or a close date moved twice. This is Teams' house rule, and it ignores the owner's probability on purpose.
In the file, the deals with the highest probabilities are often the stalest. d09, a game studio at 95 % in the contract stage, has been silent for 46 days and moved its close date twice. d13 at 80 % has been silent for 52 days and moved three times. d22 heard from the buyer 22 days ago, but its date moved twice, so it is flagged too. Renewals aren't exempt: d06, Leo's renewal with a Dnipro IT firm, has 38 days of silence.
Dataset · 30 rows
Klasna for Teams: open deals on 5 October 2026
Thirty open deals. Value is the annual contract value at the list price (lessons a month × 800 UAH × 12). Stages: discovery, qualified, proposal, contract, defined by what the buyer did.
First 5 of 30 rows
Seven deals in the quarter are flagged, carrying 2,344,800 of Leo's number. Each gets one honest question this week; no answer means lost, with a reason.
- Dod09: 95 %, but 46 days silent and two moves. Flagged.
- Don'td06 is a renewal, so the flag doesn't apply.
The base: renewals that are moving
The base is the part of the forecast that comes from current clients renewing. It is counted at full value, so it has to be earned: a renewal joins the base only if its contract is moving and the client is responding.
In the Teams file only one renewal qualifies. The Lviv design studio's renewal (d04, 192,000) is at the contract stage, the contract is with their accountant, and the buyer acted 10 days ago. The other renewal, d06 with the Dnipro IT firm, has had 38 days of silence and no agreed next step; it isn't base, it's a phone call this week.
Dataset: Klasna for Teams: open deals on 5 October 2026 · shown above
Two things look like base and aren't. The studio's wish to add its support team (d05) is new scope at the proposal stage, so it is weighted like any live proposal. And a big new deal, however promising, is never base.
- DoBase: d04, 192,000. d06: call this week. d05: weighted at proposal rate.
- Don'tBase: both renewals plus the expansion, they're all current clients.
Commit: what you'd bet on
Commit is the floor of the forecast: deals you would bet on. At Teams it is the live renewal ready to sign plus live new deals at the contract stage, closing in the quarter, at full value. Key accounts and flagged deals stay out.
In the file, five deals sit at contract with a close date October to December: d04, d07, d08, d09 and d10. d09 is flagged (46 days of silence, two moves), so it drops out despite its 95 %. That leaves d04 192,000 (the studio's renewal), d07 240,000, d08 384,000 and d10 192,000: 1,008,000 UAH.
Dataset: Klasna for Teams: open deals on 5 October 2026 · shown above
Notice what isn't there. d06 is a renewal, but it is silent and only at proposal. A commit is short on purpose: every deal in it has a buyer action behind it, so Marta can defend each line on Friday.
- DoCommit: d04 + d07 + d08 + d10 = 1,008,000.
- Don'tCommit: every contract-stage deal, d09 included, since it's at 95 %.
Pooled stage rates from the history file
For the many smaller live deals, the weight comes from history. The stage-history file lists, for new deals started in each of four quarters, how many reached each stage and how many were won.
Dataset · 16 rows
Stage history: new deals started 2025-Q3 to 2026-Q2
For new deals that started in each quarter (outcomes known): how many reached each stage and how many of them were won.
First 5 of 16 rows
Pool the quarters: add the wins, add the deals that reached the stage, divide. At discovery Teams won 2 + 1 + 1 + 1 = 5 of 5 + 7 + 3 + 6 = 21 deals that got there, so 23.81 %. The same sum gives qualified 5 of 16, proposal 5 of 13 and contract 5 of 7.
Don't average the four quarterly rates. An average treats a quarter with three deals the same as a quarter with seven, and here it would push every stage rate up. Marta checked: averaged rates would have made expected about 1.80 million, roughly 211,000 too high.
- DoDiscovery: 5 / 21 = 23.81 %.
- Don'tDiscovery: (40 + 14.29 + 33.33 + 16.67) / 4 = 26.07 %.
Expected: the base plus weighted live deals
Expected is the forecast's most likely value. At Teams it is the base plus every other live deal closing in the quarter, each times the pooled conversion of its stage. Key accounts and flagged deals stay out.
Besides the studio's renewal, fifteen live deals remain, the studio's expansion included, worth 3,484,800. Weight them stage by stage:
- contract (d07, d08, d10): 816,000 × 5/7 = 582,857.14
- proposal (d05, d11, d12, d14): 931,200 × 5/13 = 358,153.85
- qualified (d17, d18, d21): 547,200 × 5/16 = 171,000
- discovery (d23, d24, d27, d28, d30): 1,190,400 × 5/21 = 283,428.57
Together 1,395,439.56. Expected = 192,000 + 1,395,439.56 = 1,587,439.56 UAH, against Leo's 10.6 million. Working by stage keeps the sum checkable: anyone can see which deals carry which weight.
- DoGroup the live deals by stage, multiply each group by its pooled rate, then add the base.
- Don'tApply 38.46 % to every deal, whatever its stage.
Best case: what could close if things go well
Best case is the top of the honest range: commit plus the live proposal-stage deals that could close in the quarter if things go well, at full value. It is not «everything in the sheet»: key accounts and flagged deals still stay out.
In the Teams file, the proposal-stage deals closing October to December are d02, d05, d06, d11, d12, d13, d14 and d15. Cobalt (d02) is a key account moved to 2027; d06, d13 and d15 are flagged. The live ones are d05 115,200, d11 432,000, d12 144,000 and d14 240,000: 931,200. Best case = 1,008,000 + 931,200 = 1,939,200 UAH.
Dataset: Klasna for Teams: open deals on 5 October 2026 · shown above
Now the range reads cleanly: commit 1.01 million, expected 1.59, best case 1.94. Expected sits between the two, as it should; if it didn't, an input would need checking.
- DoBest case = commit + live proposals in the quarter = 1,939,200.
- Don'tBest case = every deal in the quarter at full value: 18 million.
Signed is not paid
One more line for Leo: the forecast counts contracts, not cash. Every value in the Teams file is an annual contract value at the list price: lessons a month × 800 UAH × 12. A deal signed in December is a year of lessons, invoiced quarterly, and clients have 30 to 60 days to pay each invoice. So a commit of 1,008,000 signed this quarter brings in only a small part of that as cash before the year ends.
The finance course's lesson «Receivables and payment terms» shows how terms move the cash. And stage conversion is a funnel: «Reading a funnel without fooling yourself» in the product analytics course covers the same traps.
The memo then lists the actions: one honest question to each flagged deal, a call to the silent renewal, key accounts moved with reasons.
How it fits together: the pipeline now tells the truth. The next module turns to filling it: building demand in a long sale.
- Do«Commit 1.01 M in contracts; cash this quarter is a fraction of that.»
- Don't«We'll have a million in the bank by December.»
Ready to practise?
Answer the lesson's exercises and earn 250 points the first time you finish it.
Start the exercises