I built the bridge and the one-page commentary. The script ran cleanly and the bridge reconciles to the cent.

**FY2025 revenue was $11,238K against $11,243K in FY2024, a change of ($5K), (0.04%).**

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

- **Churn:** 4 customers were lost. Fenwick Legal accounts for ($686K) and Birchway Foods for ($503K).
- **Expansion:** 23 customers added $1,211K. Harbor Freight Partners added $148K and Ember Analytics $136K.
- **Contraction:** 11 customers declined by ($443K). Driftwood Media fell ($113K) and Juniper Schools ($107K).
- **New logos:** 6 customers added $463K. Thistle Gardens is the largest at $116K.

Two things to know before the board call:
- **Timing:** The $53K comes from 3 customers whose billing is attributed to renewal-date shifts. I treated it as its own step, not as growth, and judged each customer's movement after removing it.
- **Rounding:** Each amount is rounded on its own, so the displayed rows don't sum exactly to $11,238K.
- **Causes:** The data doesn't say why Fenwick Legal and Birchway Foods left, so the note doesn't speculate. Account-owner or churn-reason data would answer that if the board asks.

The note is a table plus short driver bullets, in the pack's fixed format. It isn't a free-form page of narrative. Say if you want more prose for the call.

Files are in /tmp/spb-revenue-bridge-fy25-v2-claude-8ptjfm61/output:
- bridge-note.md
- bridge.json