Use when constructing the forecast call — commit / best-case / pipeline categorisation, deal-level evidence test, accuracy retro-loop. Triggers on 'build the forecast', 'why does our commit miss'.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add event4u-app/agent-config --skill forecast-accuracy --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Forecast Accuracy?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/event4u-app-forecast-accuracy-agent-config)More formats (shields.io, HTML) on the badges page.
---
model_tier: high
name: forecast-accuracy
description: "Use when constructing the forecast call — commit / best-case / pipeline categorisation, deal-level evidence test, accuracy retro-loop. Triggers on 'build the forecast', 'why does our commit miss'."
status: active
tier: senior
domain: product
context_spine: [product, customer-segment]
recommended_for_user_types: [gtm, finance]
workspaces:
- gtm
packs:
- gtm-sales
trust:
level: professional
install:
removable: true
---
# forecast-accuracy
## When to use
- The quarterly forecast call is being constructed and the team needs a categorisation rule that survives retro — not a feel-good number that flatters this week.
- Commit has missed two or more quarters and nobody can name which signals broke — the retro-loop is missing or the categorisation rule is unwritten.
- A new RevOps lead inherits a pipeline and needs to rebuild the forecast call without inheriting last regime's optimism bias.
Do NOT use to design pipeline stages (route to
`pipeline-strategy`), qualify a single deal (route to
`deal-qualification-meddic`), or build the finance-side
top-down / bottom-up model (composes against — but does not
duplicate — the finance-partner forecasting capability,
via the `forecast-construction-shape` interface).
## Cognition cluster
- **Mental model 16 — Leading vs. lagging indicators.** Closed-won
is lagging; per-stage conversion and MEDDIC-slot completeness
are leading. A forecast built on lagging signals can only confirm
the result after it lands. See
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 16.
- **Mental model 29 — Premortem.** Before locking the call, write
the post-quarter retro as if commit missed by 20 %. The premortem
surfaces which categorisations are riding on weak evidence; demote
those before the call locks. See `mental-models.md` § 29.
- **Mental model 9 — Hypothesis-driven thinking.** Each commit deal
carries a falsifiable claim: *"this closes by \<date\> because
\<evidence\>."* If the claim cannot be falsified inside the
quarter, the deal is best-case, not commit. See
`mental-models.md` § 9.
- **Context-spine — product + customer-segment.** Read the
**product** slot for what is actually GA-shippable this quarter
(deals depending on non-shipped scope are not commit), and the
**customer-segment** slot for segment-historical close rates —
pricing-power and cycle-length differ by segment and the forecast
must too. See
[`context-spine`](../../../docs/contracts/context-spine.md).
## Procedure
### Step 0: Inspect — inherit pipeline + qualification artefacts
Pull `stage-definitions.md`, `coverage-by-cell.md` from
`pipeline-strategy`, and the latest `meddic-card.md` per deal from
`deal-qualification-meddic`. Inspect whether each commit-candidate
deal carries falsifiable evidence per MEDDIC slot — a forecast
built without that inspection is rep opinion, not categorisation.
### Step 1: Lock the three categories with falsifiable rules
1. **Commit** — deal closes in-window with ≥ 90 % subjective
probability **and** MEDDIC slots all filled with evidence **and**
decision-process has buyer-written dates inside the window.
2. **Best-case** — deal *could* close in-window with ≥ 50 %
probability **and** ≤ 2 MEDDIC slots unfilled **and** at least
one decision-process date inside the window.
3. **Pipeline** — everything else. Pipeline is not a forecast
category; it is the population from which commit and best-case
are drawn.
Reject *"commit"* placements that do not meet all three commit
criteria, regardless of $ value or rep confidence.
### Step 2: Apply the segment-historical close rate
For each deal, compute *expected $* = $ × segment-historical
in-window close-rate (trailing four quarters). Aggregate by
category. If commit-$ exceeds (segment historical commit close-rate
× pipeline-$ in commit), the call is structurally optimistic — find
the optimism source before defending the number.
### Step 3: Premortem the commit list
Write *"if commit misses by 20 %, the reason is \_\_\_."* The most
common patterns: (a) one anchor deal slipped, (b) segment cycle
lengthened, (c) procurement/legal queues bunched at quarter-end.
Tag each commit deal with which of these would kill it; deals tagged
with two or more move to best-case.
### Step 4: Construct the call with confidence bands
Report **commit $** = sum of commit-tagged after Step 3 demotions.
**Best-case $** = commit + best-case-tagged. Attach the band:
*"commit ± \<historical-deviation\>; best-case ± \<historical
upside\>"*. A call without a band has no honesty about its prior
miss-rate.
### Step 5: Run the accuracy retro-loop at quarter-end
Compare predicted commit / best-case / pipeline to actual
closed-won by category. Compute per-rep, per-segment, and per-stage
miss-rate. Patterns that repeat for two quarters become categorisation
rule changes in Step 1; one-off misses become deal-level evidence
upgrades in Step 0.
## Related Skills
**WHEN to use this**
- Constructing the quarterly forecast call from a qualified pipeline.
- Running the accuracy retro-loop and feeding it back into Step 1.
**WHEN NOT to use this**
- Designing pipeline stages or per-stage conversion targets — route to
[`pipeline-strategy`](../pipeline-strategy/SKILL.md).
- Single-deal qualification or disqualification — route to
[`deal-qualification-meddic`](../deal-qualification-meddic/SKILL.md).
- Finance-side top-down model or board-deck forecast — composes
against (does not replace) the finance-partner forecasting capability
via the `forecast-construction-shape` interface.
## When the agent should load this
- "Build the Q3 forecast call."
- "Why does our commit keep missing?"
- "Run the forecast retro for last quarter."
- "Welche Deals gehören wirklich in Commit?"
## Output
1. **`forecast-call.md`** — commit $ and best-case $ with confidence bands; per-segment breakdown.
2. **`commit-list.md`** — one row per commit deal: $, segment, MEDDIC-completeness, decision-process date, premortem tag (none / single-risk / two-risk demoted).
3. **`retro-deltas.md`** *(at quarter-end)* — predicted vs actual per category, per-segment, per-rep miss-rate, and the categorisation-rule change (if any) for next quarter.
## Gotcha
- *"Strong commit"* without buyer-written dates inside the window is a wish, not a forecast. Subjective probability without artefact evidence is what the retro will punish.
- Segment-historical close rates change after a pricing change, a packaging change, or a competitive shift. Recompute the rates when the segment shape changes, otherwise the call inherits the old regime's optimism.
- Reporting commit as a point estimate without the band hides the prior miss-rate. A team that has missed by 18 % twice and reports commit ± 0 % is performing forecasting, not doing it.
## Do NOT
- Do NOT place a deal in commit because the size is large; size is independent of evidence.
- Do NOT skip the premortem on commit deals — most misses come from a small number of anchor deals slipping, and the premortem is where you catch them.
- Do NOT change categorisation rules on a single-quarter miss; rules change on a two-quarter pattern.
## Runnable example
End of Q2, last two commits missed by 14 % and 21 %.
- Step 1 enforcement — three deals placed in commit had ≥ 2 MEDDIC slots open; demoted to best-case (–$ 540 k commit, +$ 540 k best-case).
- Segment close-rate — Mid-Market historical commit close-rate is 78 %; commit-$ implies 91 % aggregate close-rate; structural optimism of ~$ 320 k.
- Premortem — two anchor deals (each > 10 % of commit) tagged single-risk (procurement queue); one tagged two-risk (no buyer-written date) → demoted.
- Final call — *"commit $ 4.1 m ± 12 % (historical deviation); best-case $ 6.7 m + 8 % / – 14 %."* Commit-list flags the two procurement-risk anchors for VP-level intervention.
- Retro at quarter-end — predicted commit $ 4.1 m, actual $ 4.0 m; rule unchanged; one rep over-commits two quarters running → categorisation-coaching action.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!