I've written the FY2026 scenario memo to `output/scenario-memo.md`, with the script's figures in `output/scenarios.json`. The script ran cleanly, and for every scenario Base plus the driver changes adds up exactly to that scenario's EBITDA.

**Headline:** Base EBITDA is $303K, with a range from ($6K) in Downside to $501K in Upside.

| Scenario | Revenue | EBITDA | vs Base | % |
| --- | --- | --- | --- | --- |
| Base | $11.2M | $303K | n/a | n/a |
| Upside | $11.9M | $501K | $197K | 65.1% |
| Downside | $10.4M | ($6K) | ($309K) | (102.0%) |

**What drives the difference:**
- **Upside** changes only revenue drivers. Winning two Enterprise proposals takes active customers from 44 to 46, adding $135K. Holding the January price increase adds $62K.
- **Downside** changes three drivers:
  - Losing the three accounts on the credit watch list takes active customers from 44 to 41, a change of ($203K).
  - Not passing on the March vendor cost increase takes gross margin from 26.6% to 25.8%, a change of ($78K).
  - Higher carrier fuel surcharges take other opex from $946K to $974K, a change of ($28K).
- Headcount and cost per head are the same in all three cases.

The script measures each driver's effect after the ones before it have already changed, in a fixed order. So each figure is that step's effect, not the driver's share of the total.

**Recommendation in the memo:** plan to Base. Move toward Upside only if both proposals sign and the price increase holds. Move toward Downside if a credit watch list account is lost or the vendor increase can't be passed on. The decisions to prepare now are a plan to pass on the vendor increase, retention work on the credit watch list accounts, and a review of the fuel surcharge terms.