Skip to content This library is free, offered as dana. If it helps your work, donate here →

This is one of 3,622 free prompts in the penguin tree ai library. Sign up once and the whole library opens, with new prompts by email.

open the library →

Forecast accuracy improvement analyzer

Diagnoses systematic forecast error patterns in SaaS financial models — bias direction, error by line item, seasonality misses, and assumption drift — then delivers ranked modeling and assumption adjustments with a…

download .md

Purpose

Diagnose where a SaaS forecast systematically goes wrong — which line items, which direction, and which assumptions are driving the error — and deliver a ranked set of modeling changes that measurably tighten future accuracy. Turns a pile of forecast-vs-actuals variance into a specific fix list instead of another round of "we'll try to be more careful."

When to Use

Invoke this skill when the user asks to:

  • Understand why their SaaS forecast keeps missing (ARR, bookings, churn, cash)
  • Reconcile forecast vs. actuals variance and find the root cause
  • Reduce systematic bias in revenue or expense projections
  • Improve the accuracy of a bottoms-up or driver-based model
  • Fix a forecast that's consistently too high or too low
  • Rebuild forecasting assumptions after several bad quarters

Inputs Required

Before starting, collect:

  • Forecast vs. actuals history: At least 4–6 periods (months or quarters) of forecasted values against actuals, ideally by line item
  • Line items in scope: Which metrics to analyze — new bookings, expansion, churn/contraction, ARR, revenue, headcount, opex, cash
  • Forecast method currently used: Driver-based, bottoms-up rep capacity, top-down growth rate, or hybrid
  • Forecast cadence and horizon: How often re-forecast happens and how far out (e.g., monthly rolling 12-month)
  • Key assumptions in the model: The main drivers (win rate, sales cycle, ramp, NRR, seasonality factors)
  • Known one-time events: Anything that distorted actuals (large deal, layoff, pricing change, outage)

If variance is only provided in aggregate (no line-item breakdown), analyze at the level available and flag that line-item decomposition would sharpen the diagnosis.

Instructions

Step 1: Calculate and Normalize the Error

For each line item across all periods provided:

  • Forecast error = Actual − Forecast (signed, so direction is preserved)
  • Percent error = (Actual − Forecast) / Actual
  • MAPE (Mean Absolute Percent Error) across periods — the accuracy score
  • Bias = mean of signed percent errors — positive means chronic under-forecasting, negative means chronic over-forecasting Present a compact table: line item, MAPE, bias direction, error range.

Step 2: Classify the Error Pattern

Assign each line item to the dominant error type:

  • Systematic bias: Errors consistently one direction (e.g., always over-forecasting new bookings) — a broken assumption, not noise
  • Volatility/noise: Errors bounce both directions with no consistent sign — the mean may be fine but the model can't call timing
  • Seasonality miss: Errors cluster in specific periods (Q4 spike, summer slowdown, January renewal wall)
  • Regime break: Accuracy good, then a step-change where errors blow out — indicates a real business shift the model hasn't caught up to
  • Compounding drift: Error small near-term, growing at the far end of the horizon — usually a growth-rate or NRR assumption compounding wrong

Step 3: Trace SaaS-Specific Root Causes

Map each error pattern to likely SaaS drivers:

  • New bookings over-forecast: Inflated win rate, sales cycle assumed shorter than reality, rep ramp assumed faster, pipeline coverage below the ratio needed for the number
  • Expansion/NRR miss: NRR assumption not segmented by cohort, usage-based revenue modeled linearly, expansion timing lumped rather than distributed
  • Churn/contraction under-forecast: Logo churn and dollar churn conflated, renewal timing off, downgrades not modeled separately from full churn
  • Revenue vs. bookings confusion: Bookings-to-revenue recognition lag misapplied, ARR modeled as revenue, ramped/prorated deals treated as full-period
  • Cash/opex drift: Headcount plan not tied to hiring reality, collections/DSO assumption stale, spend forecast top-down rather than commitment-based

Step 4: Quantify the Impact of Each Error Source

Rank error sources by dollar impact, not by percent. A 3% miss on a $10M line beats a 30% miss on a $200K line. For each source estimate the recurring dollar error per period so the fix list is prioritized by what actually moves the number.

Step 5: Prescribe Ranked Modeling & Assumption Fixes

Produce 6–10 fixes ordered by expected accuracy gain. Each fix states:

  1. What's wrong (the specific assumption or structure)
  2. The change (concrete: "segment NRR by cohort year" not "improve NRR modeling")
  3. How to implement it in the model
  4. Expected effect on bias or MAPE for that line item

Favor structural fixes (adding a driver, splitting a blended assumption, adding a seasonality index) over judgment fixes ("be more conservative"), which don't survive.

Step 6: Recommend a Revised Cadence & Feedback Loop

Specify:

  • Bias correction factor: If a line item shows persistent one-way bias, apply a documented adjustment (e.g., haircut new bookings by the historical over-forecast rate) until the structural fix lands
  • Re-forecast cadence: Match cadence to volatility — high-noise lines re-forecast more often
  • Accuracy tracking: Log MAPE and bias by line item every period so improvement is measurable
  • Assumption review triggers: What variance threshold forces an assumption re-examination

Output Format

  • Structure: Error table → pattern classification → root-cause trace → impact ranking → ranked fix list → revised cadence
  • Length: 900–1,300 words
  • Format: Table for the error/accuracy scores; structured bullets for classification and root causes; numbered ranked list for fixes
  • Sections: Error & Accuracy Summary → Error Pattern Classification → Root-Cause Analysis → Impact Ranking → Ranked Fixes (6–10) → Revised Cadence & Feedback Loop
  • Tone: FP&A specialist — quantitative, direct, unafraid to name the broken assumption; prioritizes dollar impact over precision theater

Quality Checklist

Before delivering output, verify:

  • [ ] Bias is reported with direction and magnitude for each line item — not just absolute error
  • [ ] Each line item is classified into a specific error pattern (bias / noise / seasonality / regime break / drift)
  • [ ] Root causes reference SaaS-specific drivers (win rate, NRR, ramp, churn timing) — not generic "assumptions were off"
  • [ ] Fixes are ranked by dollar impact, and each includes a concrete implementation step
  • [ ] The fix list favors structural model changes over "be more conservative" judgment calls
  • [ ] A measurable feedback loop (MAPE/bias tracking + trigger thresholds) is specified

Notes

  • Chronic one-way bias is the highest-value find — it's a broken assumption that can be corrected immediately with a documented adjustment factor while the structural fix is built
  • Blended assumptions are the most common accuracy killer in SaaS models: one NRR, one win rate, one churn rate applied across segments that behave differently
  • Distinguish noise from bias before prescribing anything — a volatile-but-unbiased line item doesn't need a new assumption, it needs a tighter cadence or a range instead of a point estimate
  • If the history includes a distorting one-time event, exclude or annotate it before computing bias so a single large deal doesn't masquerade as a systematic pattern

How to use this skill

This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.

Installing in Claude Code:

  • ~/.claude/skills/<folder-name>/SKILL.md — auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)
  • <your-project>/.claude/skills/<folder-name>/SKILL.md — auto-loads only when working in that project (recommended for project-specific skills)

Restart Claude Code or open a new session to register.

Using in Claude.ai, ChatGPT, Gemini, or other AI tools:

  1. Drag this file into a new chat, or copy and paste its contents
  2. Send your task or request as your next message — the AI will apply the skill where it fits

For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills