# Scenario Planning Engine

> Computes probability-weighted outcomes across base, upside, and downside cases via a bundled calculator, and flags when the downside case breaches a stated minimum threshold like a cash floor or covenant level. Use whenever the user needs a scenario plan for a financial metric, wants to stress-test a plan against uncertainty, or has base/upside/downside cases with no probability weighting and no check against the actual minimum the business can survive.

- Skill: `natan-mohart/scenario-planning-engine` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add natan-mohart/scenario-planning-engine`
- Raw SKILL.md: https://api.skillmd.com/api/skills/natan-mohart/scenario-planning-engine/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Natan-Mohart (https://skillmd.com/u/natan-mohart)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/natan-mohart/scenario-planning-engine

---


# Scenario Planning Engine

## When to use
Use whenever a plan depends on uncertain drivers and needs base, upside, and downside cases, especially when the current version of "scenario planning" is three narrative paragraphs with no probabilities and no check on whether the downside case is actually survivable.

## What it does
Assigns probabilities to each scenario, computes the probability-weighted expected value via a bundled calculator, and checks the downside case against a stated minimum threshold (minimum cash balance, covenant floor, breakeven level) — surfacing explicitly when the downside case would breach something the business can't survive, not just report a number that looks concerning.

## Method
1. **Define the scenarios on real driver differences**, not just "pessimistic version of the same story" — name what's actually different in each case (a specific customer churns, a specific cost line moves, a specific macro assumption shifts).
2. **Assign probabilities that sum to 1.0**, using structured judgment (ask multiple people independently and reconcile) rather than one person's gut split. Label the confidence behind the probabilities explicitly.
3. **Compute each scenario's value for the metric in question** using consistent methodology across all three cases — the same driver logic, just different inputs.
4. **Run the bundled calculator** (`scripts/scenario_engine.py`) to get the probability-weighted value, and the best/worst case bounds.
5. **State the minimum threshold explicitly** if one exists — minimum cash the business needs, a covenant floor, a breakeven level — so the calculator can check the downside against it rather than leaving that check to a human skimming a table.
6. **Read the headroom flag literally.** If the downside case breaches the threshold, that's the headline finding of the whole exercise, not a footnote under the weighted average.
7. **For any downside scenario with thin headroom (under 15%), name the mitigation or trigger plan** — what specifically happens if this scenario starts to unfold, and how early it would be visible.

## Inputs
- The metric being scenario-planned
- Base, upside, and downside case values with stated probabilities
- The minimum threshold the business needs to stay above, if one exists
- Config saved as JSON matching the format documented at the top of `scripts/scenario_engine.py`

## Output format
Scenario table with probabilities and values; probability-weighted expected value; best and worst case; headroom versus minimum threshold in the worst case, with an explicit breach flag if applicable; mitigation plan for thin-headroom downside scenarios.

## Example
A downside EBITDA case of $1.8M sits below a stated $2M minimum threshold needed to stay within a loan covenant. The probability-weighted average across all three scenarios looks comfortable at $3.175M, but the calculator's explicit breach flag on the downside case is the real finding — the weighted average alone would have hidden a scenario with meaningful probability that breaches a hard constraint.

## Common pitfalls
- Reporting only the probability-weighted average, letting a dangerous downside case hide behind a comfortable blended number.
- Writing narrative scenarios with no probabilities attached, making them impossible to actually weigh against each other.
- Never stating the minimum threshold, so nobody checks the downside case against what the business can actually survive.

