I built the FY2025 revenue bridge and wrote the commentary note. FY2025 revenue was $11,238K against $11,243K in FY2024, a change of ($5K), or (0.04%). The script confirmed the bridge reconciles to the cent.

| Step | Amount |
| --- | --- |
| FY2024 | $11,243K |
| Timing | $53K |
| Loss | ($1,288K) |
| Decline | ($443K) |
| Upsell | $1,211K |
| New | $463K |
| FY2025 | $11,238K |

Each amount is rounded on its own, so the rows don't add exactly to FY2025. The note says this.

- **Losses:** Fenwick Legal lost ($686K) and Birchway Foods lost ($503K). They are the two largest of 4 lost customers.
- **Upsell:** Harbor Freight Partners added $148K and Ember Analytics added $136K, two of 23 upsell customers.
- **New customers:** 6 new accounts added $463K, led by Thistle Gardens at $116K.
- **Declines:** Driftwood Media fell ($113K) and Juniper Schools fell ($107K), the largest of 11 declines.

The note doesn't give causes for any of these movements, because the data doesn't show them. The cause of the two large losses would be the first question a reader asks.

Files are in `/tmp/spb-revenue-bridge-fy25-claude-85rhbp15/output/`:
- `bridge-note.md`
- `bridge.json`