01Run it
Replace the <placeholders> with your own values, or use the builder below.
p202 ltv cohorts02What you get
Captured from the real binary, run against a demo store with 30 days of traffic. Switch tabs to see the same run as JSON, the shape scripts and agents parse.
$ p202 ltv cohorts cohort_month customers ltv_per_customer m0 m1 m2 m3 m4 m5_plus total_revenue ------------ --------- ---------------- ----- -- -- -- -- ------- ------------- 2026-10 32 128.2188 4103 0 0 0 0 0 4103 2026-09 83 149.4819 12407 0 0 0 0 0 12407
$ p202 ltv cohorts --json { "data": [ { "cohort_month": "2026-10", "customers": 32, "ltv_per_customer": 128.21875, "m0": 4103, "m1": 0, "m2": 0, "m3": 0, "m4": 0, "m5_plus": 0, "total_revenue": 4103 }, { "cohort_month": "2026-09", "customers": 83, "ltv_per_customer": 149.48193, "m0": 12407, "m1": 0, "m2": 0, "m3": 0, "m4": 0, "m5_plus": 0, "total_revenue": 12407 } ], "months": 6, "timezone": "America/New_York" }
03Build your command
Pick values and the command line writes itself, quoted and ready to paste.
p202 ltv cohortsSet flags below; the command updates as you type.
04Flags
1 flag, plus the global flags every command takes.
| Flag | What it does |
|---|---|
| --monthsstring | How many acquisition months, newest first (1-24, default 6) |
05For agents
Running this from an agent
- Read the same facts as JSON:
p202 commands ltv cohorts --json. - With
AI_AGENT,CLAUDECODEor another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with ahint. - Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure.
{
"path": "p202 ltv cohorts",
"use": "cohorts",
"short": "LTV maturation by acquisition month — each cohort's revenue by months since first seen (m0..m4, m5_plus)",
"runnable": true,
"flags": [
{
"name": "months",
"type": "string",
"default": "",
"usage": "How many acquisition months, newest first (1-24, default 6)",
"required": false
}
]
}