> ## Documentation Index
> Fetch the complete documentation index at: https://cofounder.appeeky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Unit Economics & Runway

> The co-founder's P&L brain — CAC, LTV, LTV:CAC, payback, burn, and runway, with guardrail alerts.

# Unit Economics & Runway

The agent already reads revenue, downloads, and subscription metrics. This
capability composes them — together with your **ad spend** and the **costs and
cash** you enter — into the numbers a real co-founder actually watches:

| Metric                  | Level   | How it's computed                                                                             |
| ----------------------- | ------- | --------------------------------------------------------------------------------------------- |
| **CAC**                 | per-app | Blended Apple Search Ads cost-per-install (last 30d) as a proxy                               |
| **LTV**                 | per-app | Subscription ARPU × modelled lifetime (`1 / monthly churn`, capped at 60 months)              |
| **LTV:CAC**             | per-app | LTV ÷ CAC (3× is the healthy rule of thumb)                                                   |
| **Payback**             | per-app | Months to recover CAC at current monthly ARPU                                                 |
| **Contribution margin** | per-app | app revenue − app ad spend − app-attributed costs (is this app profitable at the unit level?) |
| **Monthly burn**        | company | all costs + ad spend − net revenue (negative = profitable)                                    |
| **Runway**              | company | cash on hand ÷ monthly burn                                                                   |

These numbers are **computed in code, not by the LLM** — the agent is told to
use the exact figures and never to invent them. They're attached to every
report at `health.economics` and summarised in the briefing when material.

## Inputs you provide

Economics improve as you connect more sources. Two inputs are manual:

* **Cash on hand** — a single current balance (**company-level** — one bank
  account, so runway is company-wide, not per-app).
* **Monthly costs** — recurring fixed/variable line items (infra, tools,
  contractors…). Each cost is either **shared** (company overhead) or
  **attributed to one app** (that app's dedicated backend, an app-specific
  contractor). App-attributed costs feed that app's contribution margin;
  everything is summed for company burn.

Everything else (ad spend, ARPU, churn, revenue) comes from data the agent
already collects. When an input is missing, the agent hedges honestly and, at
most once, nudges you to add it — it does not guess.

### Set it from chat

You don't have to open Settings — just tell your co-founder in chat:
*"we've got $42k in the bank"*, *"Supabase is $600/mo"*, *"the App B contractor
is \$2k a month"*, *"warn me if runway drops below 9 months"*. It records these
via `set_cash_on_hand`, `add_monthly_cost` (marking a cost app-specific when you
say so), and `set_finance_thresholds`.

## Guardrail signals

Two [signals](../concepts/signals) fire **once on transition** (never nagging
every run), waking an event-driven briefing:

* **`runway_low`** — runway drops below your floor (default **6 months**).
  Severity escalates to `critical` at half the floor.
* **`payback_degrading`** — blended CAC payback climbs past your ceiling
  (default **18 months**).

Set the thresholds via preferences (`runwayFloorMonths`,
`paybackCeilingMonths`); leave them null to use the defaults.

## Ties into Goals

An [`ltv_cac`](./goals-okr) goal now **auto-updates** from the computed
economics block each run — set a target ratio and the agent tracks pace and
raises `goal_offtrack` if it slips, just like downloads/revenue goals.

## Scope note

CAC, LTV, payback, and contribution margin are **per-app** (spend +
subscriptions are per-app). Burn, cash, and runway are **company-level**.

* **Single-app owner:** the daily per-app run computes company runway directly
  (that one app *is* the company).
* **Multi-app owner:** the per-app run reports per-app numbers only; the
  **weekly [portfolio digest](./portfolio-briefing)** aggregates every app's
  revenue/spend + all costs + cash into the company burn/runway and raises the
  `runway_low` alert. This avoids the multi-app error of charging all fixed
  costs against a single app's revenue.
