Install
openclaw skills install skills-sh:mbfinotti/revops-skills/sales-forecast-diagnosticForecast Diagnostic Investigate a forecast that missed, or that nobody trusts, and name the root cause with evidence. A forecast call asks "what's the number?" This diagnostic asks "was the number ever real?" Practitioners converge on the view that most misses are inspection…
openclaw skills install skills-sh:mbfinotti/revops-skills/sales-forecast-diagnosticInvestigate a forecast that missed, or that nobody trusts, and name the root cause with evidence. A forecast call asks "what's the number?" This diagnostic asks "was the number ever real?"
Practitioners converge on the view that most misses are inspection failures, not market failures: the evidence that a committed deal was fiction usually existed in the record before the miss.
Scope boundary, stated up front: this skill consumes whatever forecasting methodology already exists - the category set, roll-up rules, commit criteria, and coverage targets are inputs, not deliverables. Designing or redesigning that methodology is out of scope. When the investigation shows the methodology itself is undefined or ambiguous ("commit means different things to different reps"), report that as a finding and stop at the boundary.
Every confirmed root cause lands in exactly one of three classes, because each class has a different owner and a different fix:
The most common diagnostic error is issuing a behavior verdict for a data problem.
Ask before analyzing:
Questions:
The compact map: full detection fingerprints, second signals, and fixes live in references/root-cause-fingerprints.md, in this same order.
The value axis cannot be pre-ranked here and this skill does not pretend to: which cause is worth the most dollars is the output of the attribution table, and it differs with every engagement. What is stable is the fix - what it costs to ship and how long before a forecast reflects it - so the register is ordered by that, and the diagnosis then re-ranks it against the dollars it actually found (see Fix leverage).
comp-driven bias > rep sandbagging > stage inflation == missing evidence > late-created deals > manager override == wrong category > stale dates == zombiescomp-driven bias > rep sandbagging > manager override > late-created deals > stage inflation == missing evidence > stale dates == wrong category > zombiescomp-plan change > a behavior verdict naming an individual rep; every other fix is a CRM setting or a review habit with no external sign-off, so the axis is not worth a full ordering.zombies > stale dates == wrong category > stage inflation == missing evidence > late-created deals > manager override > rep sandbagging > comp-driven biasTies, each earned rather than dodged:
| Root cause | Usual class | Signature | Fix effort |
|---|---|---|---|
| Zombie / duplicate opportunities | Data | Long-dead deals still open and counted; the same buying intent counted twice | An hour to purge with reason codes, then a standing hygiene sweep; coverage is honest in the same cycle |
| Stale / mass-pushed close dates | Data | Push counts pile up; date edits cluster on a single day near period end | An hour of admin for reason-required date moves, then a standing job; bites at the next push, so one cycle |
| Wrong category assignment | Data or behavior | Category contradicts stage and evidence; an omitted/excluded category used as a soft delete; category set at creation and never touched | An hour of admin for logged category changes - a week if the definitions themselves must be re-agreed across the team |
| Stage inflation / happy ears | Behavior | Late-stage deals with no buyer-side evidence; stage skips in field history; wins far below what the stage implies | A week to define the buyer-evidence gate and change the review questions, then a standing inspection; the call gets honest one cycle later, win rates two |
| Missing / unverifiable evidence | Data or behavior | Required fields filled with placeholders; nobody can say what the buyer last did | Same week, same gate, same owner as stage inflation - shipping one ships the other |
| Late-created deals | Data | Deals created and closed within days, or created directly in a late stage - pipeline visibility is bookkeeping after the fact | A week to set the logging rule, then a rep-habit change; coverage math is untrustworthy for a cycle or two after |
| Manager roll-up override | Behavior | Manager number diverges from the rep sum in a consistent direction with no logged reason | An hour to capture reasons, but a quarter of trailing overrides before the per-manager score means anything, and managers must accept being scored |
| Rep sandbagging | Behavior | Rep beats commit by a wide margin repeatedly; wins close from outside the forecast | A week to build the open calibration scorecard, 2+ periods of history before the pattern can be named at all; anything touching the incentive belongs to the row below |
| Comp-driven bias | Behavior (root of the others) | Slips cluster just past quota cliffs; predictable quarter-end discounts teach buyers to wait | A quarter at best - plan amendments land at the next plan period, need finance/HR/legal sign-off, and are barely reversible once issued |
The efficiency order starves comp-driven bias, the one cause that drives the others: top of the impact axis in most diagnoses, bottom of the ratio in every one. A register read by ratio alone recommends the same CRM hygiene every period while the incentive that produces the behavior stays untouched, and the behavioral causes regrow.
Promote comp-driven bias above everything else when:
At that point, the cheap fixes have no remaining value, and the deliverable says so instead of relisting them.
Boundary with neighbors: this skill detects deals sitting in a stage without evidence, but it does not redesign the stage set (see mbfinotti/revops-skills@pipeline-stage-definition-audit when the definitions themselves are the problem). It is a root-cause investigation of a specific miss, not the recurring stale-deal/missing-field sweep (see mbfinotti/revops-skills@sales-pipeline-hygiene for prevention once causes are fixed).
The register above is the tiebreak, not the answer. Once the attribution table exists, rank the confirmed causes for delivery in three passes, and put all three in the deliverable:
Deliver in leverage order, with the impact order printed beside it. Lead with the best ratio, which is frequently not the cheapest fix - a large attributed cause with an hour-tier fix outranks a small one with the same hour-tier fix, and outranks everything week-tier. A worked adjustment is in references/worked-diagnosis-example.md.
Every ordering here is a default, not a law. It shifts with the team and with who executes it, so re-rank against what the Interview and the reconstruction revealed:
zombies > stale dates > wrong category, and the deliverable states plainly that the behavior causes are untouched.mbfinotti/revops-skills@crm-data-governance), not with rep coaching.Verdict discipline: a behavior verdict is an accusation. Make one only with the two-signal evidence rule satisfied plus the rep interview done, and keep the accuracy conversation separate from the performance/comp conversation - a diagnostic that feeds punishment teaches reps to sandbag, and the next miss becomes the diagnostic's own doing.
B2B deal-based: the workflow above applies literally - deal-by-deal reconstruction, deal-level fingerprints.
B2C / high-volume / self-serve: the forecast is usually a model (run rate, cohort conversion, funnel math) with a human overlay. Apply deal-level fingerprints to whatever human layer exists (an inside-sales commit list, a manual adjustment). Translate the rest to the model layer:
Track overlay-vs-model accuracy exactly like manager-override-vs-roll-up accuracy.
Identical for both motions: the miss-decomposition method, the three-class verdict system, the measurement thresholds, and the statistics discipline do not change.
| Trap | Why it is wrong | Fix |
|---|---|---|
| Diagnosing sandbagging from one strong quarter | One beat is noise; sandbagging is a repeated pattern by the same person | Require the pattern across 2+ periods against the rep's own history |
| Behavior verdict on a data problem | Ambiguous category definitions make honest reps look dishonest | Run the discriminating interview question first; check definition consistency across reps |
| Judging period-start calls with period-end data | Hindsight bias - the call must be judged on what was knowable then | Reconstruct from the period-start snapshot, never from today's record |
| Anchoring on the biggest slipped deal | One vivid deal rarely explains the gap; the long tail usually does | Decompose all gap dollars before concluding anything |
| Symmetric accuracy metric as the goal | Over- and under-forecast have different causes and costs, and they net out | Always report signed bias and absolute error separately, per level. Not a menu to rank and pick one from - both numbers are required for the other to be readable |
| Ranking the fixes by attributed dollars alone | The comp-plan redesign outranks the field change that would have landed this cycle, and nothing ships in time | Divide dollars by the fix effort tier and show the adjustment (Fix leverage), then re-rank against the Interview answers |
| Deleting zombies and declaring victory | The evidence standard that admitted them is untouched; they regrow | Pair every cleanup with the entry-standard fix, and hand recurring prevention to the hygiene audit |
| Punishing forecast error in comp | Reps respond by sandbagging; error flips sign instead of shrinking | Measure accuracy openly, separate it from performance reviews |
| Trusting circulating benchmark statistics | Most quoted forecast-accuracy numbers have no traceable primary study | Derive every threshold from the team's own history; see the evidence reference |
The diagnostic must meet every threshold below before it ships; iterate until it does:
After fixes ship, keep scoring each period: signed bias and absolute error per level, rep calibration against their own baseline. Improvement in the named metrics - not a quieter forecast call - is what closes the investigation.
Skip this section unless the user names one of these platforms.
Salesforce:
HubSpot:
mbfinotti/revops-skills@pipeline-stage-definition-audit to judge whether stage definitions are buyer-verifiable when the fingerprints implicate the definitions themselves.mbfinotti/revops-skills@sales-pipeline-hygiene for the recurring audit that prevents the data-class causes from regrowing.mbfinotti/revops-skills@crm-data-governance for field ownership and source-of-truth rules behind data-class fixes.mbfinotti/revops-skills@revenue-reporting for turning a finished diagnosis into the executive or board narrative.2dedb3934ca7