I wrote the forecast change note to `output/drivers-note.md`. The figures behind it are in `output/drivers.json`.

**Current FY2026 EBITDA is $303K, against $452K in Prior. That is a change of ($149K), or (32.9%).** The script checked that the walk adds up to that change exactly.

Three of the six drivers changed:

| Driver | Prior | Current | Months changed | EBITDA effect |
| --- | --- | --- | --- | --- |
| Active customers | 46 | 44 | 12 | ($133K) |
| Gross margin | 26.2% | 26.6% | 12 | $39K |
| Headcount | 23.00 | 23.75 | 9 | ($54K) |

Revenue per customer, cost per head and other opex did not change, so each contributes $0.

**Why EBITDA moved:**
- **Fewer active customers** is the main cause. It cuts revenue by ($509K), or (4.3%), and EBITDA by ($133K).
- **Higher headcount** in 9 months adds ($54K).
- **Better gross margin** offsets part of the fall, adding $39K.

The data doesn't say why these drivers changed, so the note doesn't give reasons. Its Review section asks the owner of each driver which documented assumption supports the change. The assumption register would answer that, because it links each assumption to the driver it feeds.