FY2025 revenue was $11.2M, the same as FY2024 at $11.2M. The change was ($5K), or (0.04%). Revenue held flat because higher prices and a better mix offset lower volume.

| Step | Amount |
| --- | --- |
| FY2024 | $11.2M |
| Volume | ($395K) |
| Mix | $135K |
| Price | $256K |
| FY2025 | $11.2M |

**What drove it:**
- **Volume:** company units fell from 176,462 to 170,256 cartons, or (3.5%). That took ($395K) off revenue, and every family lost volume.
- **Segment mix:** units moved from Enterprise to the smaller segments.
  - Enterprise lost ($749K), with ($627K) of that from mix.
  - SMB added $409K and Mid-Market added $335K. Their mix effects were $399K and $362K.
  - Paper Enterprise alone had ($300K) of mix.
- **Price:** Paper led with $167K, mostly from Paper Mid-Market at $75K and Paper Enterprise at $63K. Print Consumables added $125K.
- **Weak spots:**
  - Writing Instruments fell ($90K) and lost on price, mix and volume.
  - Desk Accessories lost ($44K) on price.
  - The data doesn't show why prices fell in these two families. Invoice-level pricing would show whether it was discounting or a shift to lower-priced products.

The script checked that FY2024 plus the three effects equals FY2025 to the cent, in total and for every family and segment. I also confirmed that all 18 rows are measured in cartons, which the method needs for units to add up across rows.

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