# Unit economics

URL: /systems/finance/unit-economics · Id: `page:systems/finance/unit-economics`

> How every Action posts a Cost, how Costs roll up into margin per Offer, payback per Play, and lifetime value, and which numbers gate paid spend.

Unit economics answers one question: does each sale earn more than it costs? Every [Action](/business/nouns/action) posts its [Cost](/business/nouns/cost), so the answer is computed from the ledger, never estimated.

## Every Action posts a Cost
An Action that costs anything posts a Cost to the [Startup](/business/nouns/startup) it ran in. Each Cost has a kind.

| Kind | Examples |
| --- | --- |
| `model` | Model calls, priced per token |
| `upstream` | Calls to outside data and execution services |
| `human` | Minutes a [Human](/business/nouns/human) spends on a [Task](/business/nouns/task), an [Approval](/business/nouns/approval), or a rescue |
| `platform` | Compute, storage, messages, and the platform's share |
| `shared` | A slice of a cost many Startups share, split by the `cost.allocation` [Policy](/business/nouns/policy) |

A capability bought from a sibling posts at its transfer price. A Startup that runs on its founder's nights shows that cost. [Cost per Action](/systems/finance/cost-per-action) explains how each Cost settles.

## From Costs to units
Costs roll up along the records that caused them: an Action belongs to an [Order](/business/nouns/order), a [Customer](/business/nouns/customer), an [Offer](/business/nouns/offer), or a [Play](/business/nouns/play). Five [Metrics](/business/nouns/metric) read the rollup.

| Metric | Reads |
| --- | --- |
| [Contribution margin](/agents/finance#contribution-margin) | What each paid Offer keeps after its delivery and acquisition Cost |
| [Fully loaded acquisition cost](/agents/marketing#cac-fully-loaded) | Everything a Play spends per outside Customer, agent and shared Cost included |
| [Acquisition payback](/agents/finance#cac-payback) | How many days of contribution repay that acquisition cost |
| [Lifetime value](/agents/finance#ltv) | Contribution per outside Customer, capped at 24 months |
| [Cost coverage](/agents/finance#cost-coverage) | Whether outside revenue pays for the whole Startup |

Lifetime value divided by fully loaded acquisition cost gives the ratio investors ask for. Both sides use contribution, never revenue.

## Free is never zero
A Play with no ad spend still costs money. An answer-engine Play spends model calls drafting [Pages](/business/nouns/page), upstream calls tracking citations, and minutes of review.

An [Agent as a Service](/products/templates/agent-as-a-service) that handles returns for online stores charges $79 a month. Its directory listings acquire Customers for $0 in spend, yet $38 each in agent and review Cost. At $52 of monthly contribution, that Play pays back in 22 days.

## The payback gate
Paid Plays open only when payback holds. The [Setting](/business/nouns/setting) `payback.paidGate` defaults to day one: the first payment repays the acquisition cost. Free Plays answer to `payback.freeGate`, judged against their agent and shared Cost.

A founder can override the gate by funding a [Demand Budget](/business/nouns/demand-budget). That records an investment [Decision](/business/nouns/decision) with a target and a stop rule. The [Marketing Team](/agents/marketing) spends it as [demand budgets](/workflows/marketing/demand-budgets) describe.

## Modeled, then measured
Before Live, the launch check `economics.modeled` requires an estimate for each paid Offer's margin and the lead Play's payback. Each estimate names its source: a sibling's actuals, the [Portfolio](/business/nouns/portfolio)'s prior, or a stated guess. [`Offer.publish`](/business/nouns/offer/publish) refuses an Offer whose median Customer falls below the contribution floor.

At [Repeatable](/business/lifecycle/states/repeatable), the same numbers come from actuals. Every paid Offer contributes, the lead Play pays back within 30 days, and outside revenue covers fully loaded Cost.

## The monthly review
After each [Monthly close](/workflows/processes/books/monthly-close), the [Finance Lead](/agents/finance/finance-lead) reviews unit economics. It flags any Offer below zero contribution and any Play past its payback gate. Then it writes one Decision: reprice, cut the Cost, pause the Play, or hold.

## Next
- [Policies](/systems/finance/policies): the allocation rule and the lifetime-value horizon.
- [Finance playbook](/workflows/finance/playbook): where the review sits in the month.
- [Cost per Action](/systems/finance/cost-per-action): how each Cost is reserved, settled and rolled up.