I've produced the December 2025 scorecard, the review write-up and a six-slide deck. The scorecard tied to the P&L, the narrative figures reconciled, and the deck script confirmed all 56 figures in the deck come from those two sources.

**December result:** 4 of 8 KPIs were on target. Revenue was $827K against a budget of $824K, but operating income was $8K against $13K. Gross margin was 26.1% against 26.8%. Year to date, revenue is ($362K) under budget and operating income is ($195K) under.

**Off target:**

| KPI | Actual | Target | Months off target |
| --- | --- | --- | --- |
| Days sales outstanding | 51.2 | 45.0 | 3 |
| On-time delivery percent | 93.3% | 95.0% | 3 |
| Active customers | 40 | 42 | 2 |
| Inventory turns | 5.33 | 6.50 | 1 |

The two three-month misses, days sales outstanding and on-time delivery, are the exceptions in the scorecard note.

**Rounding:** a few rows don't add exactly as shown because each amount is rounded on its own. The data notes in the scorecard note and the narrative say which rows.

Files are in `output/`:
- `scorecard.json`
- `scorecard-note.md`
- `mbr.json`
- `mbr-narrative.md`
- `slide-map.json`
- `deck.json`
- `IS_MBR_2025-12.pptx`