Revenue Recognition
Bookings → billings → revenue · 857 contracts ·
ratable recognition · synthetic data
Deferred revenue
$15.8M
billed, not yet earned
Unbilled backlog
$34.2M
RPO − deferred
Bookings vs billings vs revenue — monthly
$0.0M $3.8M $7.7M 2024-01 2024-05 2024-09 2025-01 2025-05 2025-09 2026-01 2026-05
● bookings ● billings ● revenue
The three series everyone conflates. Bookings is lumpy
(sales), billings follows invoice schedules (cash), revenue is smooth
(ratable). A quarter where bookings spikes and revenue doesn't move is
working exactly as designed.
Deferred revenue and RPO — balances
$0M $30M $59M 2024-01 2024-05 2024-09 2025-01 2025-05 2025-09 2026-01 2026-05
● RPO (booked,
unearned) ● Deferred (billed, unearned)
Deferred unwind — when the 15.8M liability becomes revenue
Quarter Converts
Q+1 $7.74M
Q+2 $5.19M
Q+3 $2.62M
Q+4 $0.28M
Monthly detail — trailing 12
Month Bookings $M Billings $M
Revenue $M Deferred $M RPO $M
2025-07 $3.64 $2.34 $2.43 $10.95 $38.24 2025-08 $3.91 $3.50 $2.53 $11.92 $39.62 2025-09 $5.13 $3.05 $2.69 $12.28 $42.06 2025-10 $3.56 $3.18 $2.83 $12.64 $42.79 2025-11 $6.36 $3.78 $3.06 $13.36 $46.09 2025-12 $5.04 $3.61 $3.25 $13.72 $47.88 2026-01 $4.02 $4.38 $3.39 $14.71 $48.52 2026-02 $5.52 $5.69 $3.52 $16.88 $50.51 2026-03 $3.04 $3.88 $3.55 $17.21 $50.00 2026-04 $6.98 $5.00 $3.77 $18.45 $53.21 2026-05 $4.33 $3.50 $3.83 $18.12 $53.72 2026-06 $0.00 $1.41 $3.70 $15.83 $50.02
Generated by revrec.py · roll-forwards tie to the cent every month
(run --validate) · all data synthetic