0. The model (run it)
From the Meridians Wiki · Public · Maintained · joint
Every number in this doc is computed — not hand-typed — by the runnable model at
src/lib/core/economics/unit-economics.ts. It pulls LLM
prices from constants.ts and models every other service price, every per-action token profile,
the credit pricing model, and the per-scenario P&L as tunable inputs, so the whole business
re-models by changing one number.
npm run economics # full report: per-action table + futures + packaging
npm run economics:charts # render PNG charts + insights.md → knowledge-base/insights/economics/
# or: npx tsx src/lib/core/economics/unit-economics.ts (text report)
# npx tsx src/lib/core/economics/unit-economics.ts --json (machine-readable snapshot)
Visualisations. scripts/insights/economics-insights.py (matplotlib, same house
style as repo-insights.py) consumes both models' JSON snapshots — so charts can never drift from the
numbers — and renders into knowledge-base/insights/economics/.
npm run economics:charts # both models
python3 scripts/insights/economics-insights.py --only constellation # just §3b–3e
python3 scripts/insights/economics-insights.py --only unit # just the operator/margin model
From unit-economics.ts --json: summary.png, action-cogs.png, operator-economics.png,
operator-take.png, subscriber-sweep.png, research-portfolio.png, firecrawl-plans.png,
plus insights.md.
From constellation-economics.ts (§3b–3e):
| Chart | Answers |
|---|---|
cost-levers.png | Which knob moves the bill — and which two are free |
program-stages.png | Weekly spend by stage, with the Watch-only line the Operations readout reports |
firecrawl-cliff.png | Where the plan ladder steps, against domain count |
portfolio-concentration.png | How much of a lopsided constellation one member carries |
onboarding-vs-running.png | Activation vs one week of running, by size |
persona-spend.png | What each persona's seeded Constellation costs |
fleet-profiles.png | The ~4× profile dial |
plus constellation-insights.md (headlines + the lever, persona, and size/plan tables).
Import the pure functions anywhere: actionCogs, actionCredits, usageCogs, scenarioPnL,
renderReport. Change DEFAULT_SERVICE_PRICES, DEFAULT_PRICING_MODEL (markup / credit unit),
the ACTIONS token profiles, or the USAGE_* / FUTURES to re-run. The tables below are the
output of that model at its current defaults (markup 3×, 1 MC = $0.001, Firecrawl Growth tier,
OpenRouter 5.5% credit fee included in every LLM line).