Equity index & drawdown
Earnings power × the multiple the market is willing to pay for it. Index today = 100.
Labour market
Unemployment and labour's share of GDP. The share is the consumer's budget.
Output & demand
Real GDP, household consumption and the AI capex slice that is itself demand.
Capability vs. sector thresholds
When the capability frontier clears each sector's automation threshold.
Drawdown distribution
180 Monte Carlo draws over the model's real uncertainties: capability, adoption, elasticity, capex.
Where the jobs go
Employment change by sector, and how much of the work is done by machines.
Calibration & provenance
Where each number comes from. Measured figures are fetched live
from BLS, BEA and O*NET by ingest.mjs; derived figures are computed
from those; assumed figures have no public series and are labelled as assumptions.
How the model works, and what it cannot do
The three mechanisms
Margin expansion. Labour is a cost. A machine that does the task removes it, so unit costs fall and earnings rise.
Demand destruction. Wages are the consumer's budget. If labour's share of income falls faster than prices do, the revenue base of every sector shrinks even as costs fall. The two forces are the same event.
Reflexivity. AI datacenter capex is itself a slice of GDP and revenue for chips, energy and construction. When earnings disappoint, capex is cut, supplier revenue falls, and the first leg down becomes a second one.
Why capability is not adoption
The model separates the capability frontier from deployment. Capability is driven by installed compute and algorithmic efficiency; deployment is gated by a literacy S-curve, organisational friction and sector ceilings. A world where the frontier reaches senior-professional parity but only a tenth of firms can operate it looks nothing like a world where everyone learns agentic automation — the levers let you see the difference.
What it cannot tell you
This is a structural accounting model, not a forecast. It has no financial sector, no credit cycle, no geopolitics, and no new-task creation beyond the reabsorption parameter. Its purpose is to make the shape of the argument inspectable: which channel dominates, at what threshold it flips, and which assumptions have to hold for a crash to be the base case.