FinanceFinancial Modelling

Unit Economics

Builds a unit-economics and cohort .xlsx with live formulas across separate assumptions, cohort, and output tabs plus checks, computing CAC, LTV, LTV/CAC, and CAC payback from a monthly cohort retenti…

AAndrew Oria·Finance·MIT

Library skill — the default version is maintained in GitHub; edits you make live in your own clone.

Use this skillDownload .zip
How does this work?
  • ChatGPT opens a new chat with the skill loaded. If it's too long for a link, it's copied to your clipboard — just paste.
  • Claude works the same way. To install it permanently, download the .zip and upload it under Claude → Settings → Capabilities → Skills (Pro/Team/Enterprise).
  • Copy prompt copies the skill so you can paste it into any assistant, including Grok.

Unit Economics (LTV/CAC and Cohorts)

When to use

Use when you need to know whether a customer is worth more than it costs to acquire: CAC, gross-margin contribution, retention, LTV, the LTV/CAC ratio, and CAC payback in months. Good for SaaS and subscription businesses, board reviews, and diligence where a cohort retention grid backs the headline ratios. The skill builds a downloadable .xlsx in the Claude app with openpyxl; it does not use any Excel add-in or Microsoft 365 connection.

What it builds

A workbook with six tabs: - Cover: title, color legend, scenario selector, headline LTV/CAC and payback. - Assumptions: blue inputs (S&M spend, new customers, ARPU, gross margin %, churn, discount rate, scenario multipliers). - Cohorts: a retention grid, cohorts down the rows and months across the columns, with retained % and revenue per cohort. - Unit Economics: CAC, ARPU, contribution per customer, payback. - LTV-CAC: LTV by the simple formula and by discounted cohort contribution, plus the ratio. - Checks: consistency, monotonic retention, and payback sanity flags.

Build workflow

  1. Create the workbook and the six tabs in the order above.
  2. On Assumptions, lay out all inputs in blue with units; add a scenario cell (1=Base, 2=Bull, 3=Bear) named scn.
  3. Build CAC and per-customer contribution on Unit Economics from the spend and customer inputs.
  4. Build the cohort grid: a month-0 base of 100% (or starting customers) decaying by retention across months.
  5. Add a revenue and contribution row beneath the retention grid per cohort.
  6. Build LTV two ways on LTV-CAC: closed-form and discounted cohort sum; compute the ratio and payback.
  7. Build the Checks tab with consistency, monotonicity, and payback tests.
  8. Recalculate the workbook headless (LibreOffice) so all formulas compute.
  9. Verify zero formula errors (#REF!, #DIV/0!, #VALUE!, #NAME?); fix and re-recalculate in a loop, then deliver.

Tab-by-tab spec

Cover

Assumptions

Unit Economics

Cohorts

LTV-CAC

Checks

Formula and formatting conventions

Checks

Recalculate and verify

After writing, recalculate headless with LibreOffice so openpyxl formula text becomes computed values. Scan every sheet for #REF!, #DIV/0!, #VALUE!, #NAME?. Note that LTV and payback divide by churn, so guard against churn = 0 producing #DIV/0!. Fix any offending formula or missing named range and recalculate again in a loop. Deliver only when the Checks tab shows all PASS and no error strings remain.

Inputs to gather

Example

Hypothetical: S&M 200,000, 400 new customers, so CAC 500. ARPU 50 per month, 80% gross margin gives 40 gross profit per customer-month, payback 12.5 months. Churn 4% monthly implies 25-month average lifetime; closed-form LTV about 1,000 and discounted cohort LTV slightly lower; LTV/CAC near 2.0x. The cohort grid decays each cohort 100%, 96%, 92.2%, ... across months, and contribution sums to the discounted LTV.