SKILL.md
Unit Economics Skill
A business is only viable if each customer is worth more than it costs to acquire and serve. This skill computes the core unit economics — CAC, LTV, the LTV:CAC ratio, payback period, and contribution margin — from real numbers (not vibes), states a clear verdict against the rule-of-thumb benchmarks, and shows which lever moves the model most.
Required Inputs
Ask for these only if they aren't already provided:
- ARPA — average revenue per account, per month (or per period).
- Gross margin % — the share of revenue left after cost-to-serve.
- Churn % — monthly customer (or revenue) churn — drives LTV.
- CAC — fully-loaded cost to acquire a customer (sales + marketing ÷ new customers).
Output Format
Unit Economics: [business]
1. The numbers — computed, with the formula shown (use the helper script so they're consistent):
| Metric |
Value |
Benchmark |
| Lifetime (1/churn) |
|
|
| LTV (ARPA × margin ÷ churn) |
|
|
| CAC |
|
|
| LTV : CAC |
|
≥ 3:1 healthy |
| Payback (months) |
|
< 12 healthy |
| Contribution margin |
|
|
2. Verdict — healthy / borderline / underwater, in one line, against the benchmarks (LTV:CAC ≥ 3, payback < 12 months).
3. Biggest levers — which input, improved realistically, moves the model most (usually churn or CAC), with the rough effect.
4. Caveats — where the inputs are assumptions vs. measured, and what to validate before betting on this.
Programmatic Helper
scripts/unit_econ.py (stdlib only) computes the model so the numbers are calculated, not estimated:
# in.json: {"arpa": 50, "gross_margin": 0.8, "monthly_churn": 0.03, "cac": 400}
python3 scripts/unit_econ.py in.json
python3 scripts/unit_econ.py in.json --json
Quality Checks
Anti-Patterns
Based On
SaaS unit-economics practice (David Skok / for Entrepreneurs) — margin-based LTV, LTV:CAC ≥ 3, payback < 12 months.