reference-class-forecasting

Sanity-checks inside-view estimates against outcome distributions of comparable past projects.

4|1|Updated Jul 30, 2026
One-click install
npx skills add https://github.com/radarist/structured-analytic-skills --skill reference-class-forecasting-radarist
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: reference-class-forecasting
Source: https://github.com/radarist/structured-analytic-skills/tree/main/skills/reference-class-forecasting
Command: npx skills add https://github.com/radarist/structured-analytic-skills --skill reference-class-forecasting-radarist

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Plans, budgets, and timelines built from the inside view are systematically optimistic because project specifics crowd out how similar projects actually turned out. This Skill replaces that optimism with the outside view: it positions an internal estimate within the outcome distribution of a reference class of comparable completed cases and computes the uplift needed for a defensible P50 or P80 forecast. ## Core Features & Use Cases - Reference class distribution analysis: Computes P10/P25/P50/P75/P80/P90 percentiles (Hyndman & Fan type-7), mean, standard deviation, and skew notes from a JSON or CSV class of past outcomes, with small-n warnings and refusal below n = 3. - Estimate positioning and uplift: Locates the inside estimate as a percentile of the class, computes the multiplier to a target percentile (default P80, the UK Department for Transport standard), and validates any residual adjustment against the class median. - Use Case: A team plans a 9-month ML feature. The Skill assembles ten comparable past features (actual/planned ratios 1.0–3.0), shows the plan sits below every completed case, and produces a P80 forecast of 18.7 months (16.9 after an evidenced adjustment) instead of the optimistic 9. ## Quick Start Ask the assistant to sanity-check your 9-month project estimate against a reference class of similar completed projects and produce a P80 forecast.

Frequently Asked Questions about reference-class-forecasting

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sanity-check a project estimate with reference class forecasting?▼

Define the forecast quantity and unit, assemble outcomes from comparable completed projects as a JSON or CSV file, then run the companion tool's report command with your inside estimate and base figure. It outputs the class percentiles, your estimate's percentile position, and the uplift to a P50 or P80 forecast.

What is the difference between reference class forecasting and a Bayesian update?▼

Reference class forecasting positions an estimate within a distribution of many comparable past outcomes to set a base-rate forecast. Bayesian updating revises a single belief with one new piece of evidence; use it when you have a prior probability and a new datum, not a class of past projects.

How many past projects do I need for a reference class?▼

The tool refuses classes with fewer than 3 cases and warns when n is below 8, since percentiles become extrapolations of the extremes. Flyvbjerg's original road class had 172 cases; broader classes trade comparability for statistical meaning.

Does the reference class tool require any Python packages?▼

No external packages are required. The refclass.py script uses only the Python standard library (argparse, csv, json, math) and runs on Python 3.9 or later with fully deterministic output.

Why does the tool reject my downward adjustment to the forecast?▼

An adjustment that pulls the final forecast below the class-median forecast is flagged as adjusting away the base rate, and the tool exits with a failing verdict. Adjustments require a specific evidenced reason via the --reason flag and must not erase the outside view.

When should I not use reference class forecasting?▼

Avoid it when no comparable completed cases exist, when the question is market sizing (TAM/SAM/SOM), when you only need to update one belief with new evidence, or when existing forecasts just need accuracy scoring rather than base-rate anchoring.