The reforecasts got more accurate as the year went on, but most of that comes from having fewer months left to forecast. The 9+3 reforecast was the most accurate revenue version. Its full-year variance was $3K, or 0.02%, and its MAPE (average monthly miss) was 0.63%. The script's checks passed, so the closed months tie to the P&L and Budget matches the P&L budget.

**Revenue**

| Version | FY variance | MAPE | Bias |
|---|---|---|---|
| Budget | $362K (3.2%) | 3.7% | 3.2% |
| 3+9 | $177K (1.6%) | 3.3% | 2.1% |
| 6+6 | $158K (1.4%) | 2.9% | 2.8% |
| 9+3 | $3K (0.02%) | 0.63% | 0.10% |

- **Direction of the miss:** Budget, 3+9 and 6+6 all forecast revenue too high. The reforecasts did not fully correct for revenue coming in below plan.
- **Biggest misses:** 6+6 missed September by $151K, or 15.0%. Budget missed July by $132K, or 15.0%, and 3+9 still missed July by $80K, or 9.1%. The data doesn't show why, so the question for September is what the forecast assumed.

**Operating expenses**

- **Budget:** The full-year variance was only ($1K), but the MAPE was 4.1% and May was off by $32K, or 15.7%. Misses in opposite directions cancelled, so the annual figure makes monthly spend planning look better than it was.
- **9+3:** The MAPE was 0.30%, but it had only three months left to forecast. That is mostly a short horizon, not proof of better forecasting.

The note includes full tables for both lines, with the input file names, row counts and hashes.

Files are in `/tmp/spb-forecast-accuracy-fy25-claude-rp1wn3yn/output/`:
- `accuracy-note.md`
- `accuracy.json`