The full-year opex outlooks were accurate in every version, but the revenue outlooks were consistently too high until the final reforecast.

I scored the Budget and the three reforecasts (3+9, 6+6, 9+3) against the actual P&L using the forecast-accuracy script. Every month already closed in each version matches the P&L.

**Revenue: every version before the last one forecast too high**
- The Budget forecast $11.6M against an actual of $11.2M, a miss of $362K, or 3.2%.
- The 3+9 version was over by $177K and the 6+6 by $158K. On balance, all three forecast too high, by between 2.1% and 3.2%. Reforecasting didn't remove that.
- Each early version's biggest miss came in a single month:
  - The Budget missed July by $132K, or 15.0%.
  - The 3+9 missed July by $80K, or 9.1%.
  - The 6+6 missed September by $151K, or 15.0%.

  The data doesn't explain these misses. The next question is what each forecast assumed for those months.
- The 9+3 version was off by only $3K, or 0.02%, and was the most accurate, with an average monthly miss of 0.63%. But it had only 3 months left to forecast. Its accuracy comes mostly from the 9 months already closed, not from better forecasting.

**Operating expenses: right for the year, wrong month by month in the Budget**
- Every version landed close to the $2.5M full-year actual; the Budget was off by just ($649).
- The Budget's typical monthly miss was still 4.1%, and it was over by $32K, or 15.7%, in May. Misses in opposite months cancelled out over the year.

**What to tell the CFO:** trust the full-year opex number; the monthly opex phasing was less reliable in the Budget. Treat early-year revenue outlooks as likely to run high until the July and September misses are explained. That last point is my judgement from the pattern, not a calculated figure.

Files are in `output/`:
- accuracy-note.md
- accuracy.json