Skip to content
SlashClone
Made by@ledgerly

Arr waterfall

@ledgerly/arr-waterfall

Turn a monthly subscriptions export into an ARR waterfall: starting ARR, new, reactivation, expansion, contraction, churn, ending ARR, plus NRR and GRR. Writes markdown, CSV, and a per-customer movements file. Works offline from a CSV.

SkillFinancev1.0.0 (latest)Tested
Activity
New: be the first to try it
  1. 1# ARR waterfall
  2. 2
  3. 3Turns a monthly MRR or ARR export into the ARR bridge your board expects: starting ARR, new, reactivation, expansion, contraction, churn, and ending ARR, with NRR and GRR. Every month ties out, and every number traces back to a customer in the movements file.
  4. 4
  5. 5**Who it is for:** founders, finance leads, and RevOps folks who build the ARR slide by hand each month.
  6. 6
  7. 7## Example
  8. 8
  9. 9Input (`examples/subscriptions.csv`, 10 customers over 6 months):
  10. 11```csv
  11. 12month,customer_id,plan,mrr
  12. 132026-04,acme-co,growth,2000
  13. 142026-04,bluebird-labs,growth,1500
  14. 15```
  15. 17Output (`out/arr-waterfall.md`):
  16. 19```
  17. 20Starting ARR $153,600 | New $51,600 | Reactivation $8,400 | Expansion $14,400 | Contraction -$8,400 | Churn -$36,000 | Ending ARR $183,600
  18. 21Cohort retention, customers active in 2026-04, measured in 2026-09: NRR 84.4%, GRR 75.0%.
  19. 22```
  20. 24Plus a month-by-month table, `out/arr-waterfall.csv` for your spreadsheet, and `out/arr-waterfall-movements.csv` with every customer movement.
  21. 26## What it can access
  22. 28- Runs `node scripts/arr-waterfall.mjs` (Node built-ins only, no packages).
  23. 29- Reads your export from `data/`. Writes only `out/arr-waterfall*` files.
  24. 30- No network, no API keys.
  25. 32## Setup
  26. 34None. Export MRR by customer by month to `data/subscriptions.csv` and ask Claude for an ARR waterfall.