The reforecasts got closer to the actual as the year went on, but most of that improvement came from having more months already closed. The forecasting itself didn't clearly get better. Revenue was forecast too high in every version except the last one.

The script's checks passed: every version's closed months match the P&L actuals, and the Budget version matches the P&L budget. MAPE is the size of the typical monthly miss; bias is the net direction of the misses (positive means forecast too high).

| Revenue | Full-year variance | MAPE | Bias |
| --- | --- | --- | --- |
| Budget | $362K, or 3.2% | 3.7% | 3.2% |
| 3+9 | $177K, or 1.6% | 3.3% | 2.1% |
| 6+6 | $158K, or 1.4% | 2.9% | 2.8% |
| 9+3 | $3K, or 0.02% | 0.63% | 0.10% |

- **9+3 scored best on both revenue and operating expenses.** But nine of its twelve months were already closed actuals, so the score says little about forecasting skill. With six months still to forecast, 6+6 is the fairer test of the process.
- **Revenue was forecast too high all year.** Budget, 3+9 and 6+6 all had a positive bias, at 3.2%, 2.1% and 2.8%.
- **July 2025 was the worst month for two versions.** Budget missed it by $132K, or 15.0%, and 3+9 by $80K, or 9.1%. That points to a wrong July assumption, but the data doesn't show the cause; the July forecast inputs would.
- **6+6 had one large miss.** September 2025 was off by $151K, or 15.0%, against a MAPE of 2.9%. That's one month, not a trend, so it's worth checking what 6+6 assumed for September.
- **The Budget's operating expenses look accurate for the year but weren't month to month.** The full-year variance was only ($649), or (0.03%), but MAPE was 4.1%, because large monthly misses cancelled out. The worst was May 2025, off by $32K, or 15.7%.

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