Your FY2025 budget vs actual commentary is ready. Here's the full-year review for the operating meeting:

---

## Headline

YTD 2025 revenue was $11,238K against a $11,600K budget, unfavourable by ($362K), or (3.1%); operating income $388K against $583K, unfavourable by ($195K), or (33.5%).

## Results

| Measure | Actual | Budget | Variance |
| --- | --- | --- | --- |
| Revenue | $11,238K | $11,600K | ($362K) |
| COGS | $8,324K | $8,491K | $167K |
| Gross profit | $2,914K | $3,109K | ($194K) |
| Gross margin | 25.9% | 26.8% | (0.9) pts |
| Operating expenses | $2,527K | $2,526K | ($1K) |
| Operating income | $388K | $583K | ($195K) |

## Month

December 2025 revenue was $827K against a budget of $824K, a favourable $3K. Operating income was $8K against $13K, an unfavourable ($5K).

## Drivers

- Revenue miss of ($362K), or (3.1%), concentrated in March, July and August, down ($123K), ($132K) and ($105K) respectively.
- Salaries and wages unfavourable by ($38K), or (2.5%).
- Freight out unfavourable by ($29K), or (8.3%).
- Marketing favourable by $38K, or (28.5%), and Technology favourable by $25K, or (15.0%).

## Data notes

pnl_fy2025.csv, 120 rows, sha256 `eaa52ac89e97`

Each amount is rounded on its own, so the Gross profit and Operating income rows do not add exactly in Results.

---

The commentary has been saved to `output/bva-note.md`. The year fell short of operating income targets primarily due to a revenue miss in the spring and summer months, partially offset by favorable cost performance in COGS and disciplined spending in Marketing and Technology.