I've written the memo to `FY2026_scenario_memo.md`. The numbers come from `scenario_model.py`, which reads the CSV directly, so you can rerun it if the drivers change. I followed the house writing style kept in the repo: answer first, a figure on every claim, negatives in parentheses.

**FY2026 operating income by scenario:**

| | Base | Upside | Downside |
|---|---:|---:|---:|
| Revenue | 11,199,588 | 11,942,834 | 10,435,980 |
| Operating income | 303,241 | 500,572 | (6,147) |
| Operating margin | 2.71% | 4.19% | (0.06%) |

- **Upside, +197,332:** the two Enterprise wins add 135,159 and the 2.00% price increase adds 62,173.
- **Downside, (309,388):** the three lost watch-list accounts cost (202,738), the vendor margin squeeze (78,270) and fuel surcharges (28,380).
- **Break-even:** 39.5 customers on Base drivers. On Downside margin and opex it is 41.1 customers, so the Downside plan of 41 lands just below break-even. Each customer is worth 67,579 of gross profit.

**Things in the data you should check before circulating it:**
- **Timing:** the Upside and Downside events happen in January and March, but the CSV treats each driver as a full-year value. If those months fall partway through FY2026, both scenarios overstate the full-year swing.
- **Where Base comes from:** the Base rows are only labelled "Current version." They should be tied back to the approved budget or the latest forecast.
- **Missing detail:** the watch-list accounts aren't named, and the Enterprise proposals have no win probability.