Labor Displacement Index

A workload-level index tracking two distinct signals: the cost differential between human and AI execution, and the procurement-level evidence of actual substitution. These are not the same number.

How to read this index

There are two numbers on this page and they answer two different questions.

  • Cost differential (structural) — what AI could displace at current pricing if every unit of work routed to AI tomorrow. A pressure gauge, not an outcome.
  • Substitution rate (observable) — what procurement data shows is actually shifting. Far smaller, and intentionally so. PSC-level, FY-over-FY, government-wide.

The gap between them is the story. Don't average them. Don't compare across workloads as if the substitution number means the same thing in each context. Read the per-workload table for the real texture.

Cost Differential · Structural
Avg human cost per unit
vs AI avg per unit
AI avg: /unit
Range: $3.92 — $29.38 human · $0.0003 — $0.018 AI
Potential displacement: /yr (at 100% sub)
Technical potential if 100% of volume routed to AI. Not realized savings.
Substitution Rate · Observable
FPDS procurement signal
FY2023 → FY2024
Source: FPDS contractor spend + AI procurement
Coverage: 9 workload categories
Absorption:
What procurement data shows is actually shifting. Not nationally representative.

Trajectory

Cost ratio (left axis, log) vs. substitution rate (right axis, linear) since Feb 2025. Cost ratio tracks the structural pressure; substitution rate tracks observed procurement shift. The widening gap is the index's central observation.

Cost ratio (log scale, left) Substitution rate % (right) Most points reconstructed from CPI snapshots; live entries marked.
Substitution velocity
pp/month · 90-day window ·
Acceleration
pp/month/month · recent half vs prior half

Computed by least-squares slope on the historical series. Most input points are reconstructed from CPI snapshots with anchor-interpolated substitution rates — these numbers reflect the implied trajectory, not measurement-grade signal. The "samples_live" count grows with daily live runs.

Cost-ratio decomposition (window)
total ratio change
of which · human-cost, AI-cost
Splits log-change of cost_ratio into the human-cost and AI-cost contributions. While the historical series holds human cost constant (backfill carries forward the latest BLS reading), AI cost moves with Compute CPI — so the AI side currently absorbs ~100%. Once daily wage data accumulates, the human side will grow.
Why two signals, not one. Cost displacement tells you why substitution will happen — the price gap is 1,000–3,000x. Substitution rate tells you how much has happened so far — roughly of task categories show procurement-level evidence of shifting. These should never be the same number and they shouldn't be averaged into one. The gap between them is the story.

Realized signals

Two derived numbers that take the structural cost gap and project it through the observed substitution rate. These are smaller, more conservative readings of the same underlying data — what's actually shifting versus what could shift.

Wage income displaced
/yr · across pilot workloads
Realized labor income shifted off human payrolls per the observed sub rate. Formula: (sub_rate/100) × volume × human_cost/unit. Distinct from the structural cost-displacement number above.
Contract vs in-house wage split
contract / in-house
where federal spend on these workloads sits
Contractor obligations (FPDS) vs FTE × annual wage (OPM × BLS). Skewed toward contract because PSC totals are government-wide and broader than the workload itself. Directional, not precise.

Pilot Workloads

Nine federal workloads with legible SOC mappings, observable procurement records, and plausible AI substitution paths. Each row shows both signals — cost differential and estimated substitution — separately, plus the velocity (per-month change in substitution rate) derived from the historical series.

Workload Cost Differential (structural) Substitution Signal (observed)
Human $/unit AI $/unit Cost displacement ($) Cost ratio Sub rate Velocity (pp/mo) Absorption
Loading...

Human $/unit: BLS OEWS wages + ECEC multiplier (1.385×) × overhead (1.05×) ÷ 60 × O*NET min/unit.  |  AI $/unit: Compute CPI basket (classification, chat, or summarization tier).  |  Cost displacement ($): (human − AI) cost/unit × annual volume, if 100% routed to AI. Technical potential, not realized savings.  |  Sub rate: contractor spend YoY decline (60% weight) + AI procurement keyword-search YoY growth (40% weight), both from live USAspending.gov API, FY2023→FY2024.  |  Velocity: 90-day least-squares slope of sub rate, in pp/month. Mostly reconstructed today; live signal grows daily.  |  Absorption: OPM FedScope FTE delta (quantitative) + JOLTS/FPDS signals (qualitative).

Extension workloads

Same framework, different US contexts. Federal pilots use BLS + FPDS; these use the closest analogue — California state budget for state/local, BLS QCEW + private earnings disclosures for private sector. Static snapshots, not daily-refreshed; surfaced for cross-frame sanity-checking.

Workload Scope Human $/unit AI $/unit Cost ratio Sub rate Absorption
Loading…

State/local: California chosen for budget-data transparency (CDT, DOF, LAO). Private-sector: BLS QCEW NAICS-level employment + S&P 500 productivity disclosures replace FPDS as the substitution signal. US-only by design — international comparators add jurisdictional noise that obscures the federal frame.

AI procurement by awarding agency

Where the federal AI procurement actually lives. Pulled from the same USAspending.gov keyword search that feeds the substitution-rate signal, deduped per award and rolled up by Awarding Agency. Sorted by FY2024 obligated amount.

Awarding Agency FY24 obligated FY23 YoY Δ Awards
Loading…

Top 10 agencies by current-FY AI award value. distinct agencies appear in the AI keyword search overall. The keyword set is intentionally specific (artificial intelligence, machine learning, LLM, OpenAI, Anthropic, Palantir AIP, ServiceNow AI, &c.) to suppress false positives — but it will under-count contracts that bury AI in technical descriptions or program names.

Measurement Pillars

Three data streams forced into a common unit — cost per workload. Each pillar has a distinct source, a distinct lag, and a distinct failure mode.

$HUM
Human Cost
BLS · ECEC · O*NET
$/unit by occupation
Wages × benefits × overhead. Converted from hourly compensation to per-workload-unit cost via time-on-task estimates. Fully loaded — not just wages.
$PRO
Procurement
FPDS · USAspending
spend shift signal
Contract-level federal spend by category. Pre vs. post AI procurement signals. Substitution visible in dollars before it appears in headcount.
$ABS
Absorption
OPM · QCEW · JOLTS
staffing fate signal
Eliminated · reallocated · upgraded · frozen. Inferred from headcount trends, hiring vs. attrition, and budget shifts — not self-reported.

Core Formulas

Signal 1 — Cost Displacement (structural potential)

cost_ratio = human_cost_per_unit / ai_cost_per_unit human_cost/unit = (annual_wage / 2080) × ECEC_multiplier × overhead / 60 × min_per_unit ai_cost/unit = CPI_basket_cost[task_type] / 1000 (live from Compute CPI) displacement = (human_cost_per_unit − ai_cost_per_unit) × annual_volume

This is the technical potential. It answers: if AI handled 100% of this workload, what would the cost difference be? It does not tell you how much has actually shifted.

Signal 2 — Substitution Rate (observable proxy)

sub_rate = contractor_decline_rate × 0.6 + ai_growth_rate × 0.4 contractor_decline_rate = max(0, −yoy_change_pct / 100) ai_growth_rate = max(0, AI_award_total YoY growth, capped at 1.0) Sources: · USAspending.gov spending_by_category/psc/ — PSC contractor totals, FY23→FY24 · USAspending.gov spending_by_award/ — AI keyword search across description text

The contractor decline (60% weight) is from PSC-aggregated FPDS spend, year-over-year. The AI growth (40% weight) is from a keyword search on USAspending's spending_by_award endpoint — awards deduped per award_id, attributed per workload via description/recipient text matching, and rolled back into a 0–1 growth rate. Important caveat: PSC categories are government-wide and far broader than the specific workloads (R499 "Professional Support: Other" alone is $32B/yr across all of government). The substitution rate is a directional proxy, not a precise task-share figure.

Signal 3 — Absorption Classification

Outcome Signal Source
Eliminated OPM separations, JOLTS layoffs, role abolished in budget docs
Reallocated OPM reclassifications, position conversions, caseload shift to complex work
Upgraded RFP language shifts, SOC reclassification to higher GS band
Frozen Vacancy rate increase, position unfilled >6 months, no backfill in budget

Methodology

Human Cost Computation

Step 1 — Annual wage (BLS OEWS). SOC-level mean annual wages from BLS Occupational Employment and Wage Statistics (May 2023). Five pilot SOCs range from $42,040 (Customer Service Reps) to $72,040 (Claims Adjusters).

Step 2 — Fully loaded compensation (BLS ECEC). BLS ECEC Q4 2024 shows wages are ~69.5% of total government compensation. Fully loaded hourly = (annual_wage / 2080) × 1.385 × 1.05 overhead. This is conservative — private-sector benchmarks run higher.

Step 3 — Cost per unit (O*NET). Minutes per workload unit from O*NET task-level data, cross-referenced with published program benchmarks. Cost per unit = (fully loaded hourly / 60) × minutes_per_unit.

Why These Five Workloads

Selection criteria: clear SOC anchor, legible FPDS procurement category, plausible current-generation AI substitution path, and observable annual volume from public data. These are not the largest federal workloads — they are the most legible.

  • SNAP eligibility — Rule-based decision. 41M participants/yr. SOC 13-1041. High classification AI fit.
  • UI claims adjudication — Statutory rule application. 21M claims/yr. SOC 13-1031. COVID surge exposed bottlenecks.
  • Call center triage — First-tier routing and FAQ. 100M+ federal calls/yr. SOC 43-4051. GSA AI pilots since 2023.
  • Document summarization — VA claims average 200+ pages. 750K hearings/yr. SOC 23-2093. 60-80% time reduction in pilots.
  • IT help desk (Tier-1) — 40% of tickets are password resets. 18M tickets/yr. SOC 15-1232. AI ITSM widely deployed.

Known Limitations

Cost displacement is structural, not realized. The cost differential shows what AI could displace at current pricing — not what has been displaced. It is a structural argument for substitution pressure, not a measurement of actual substitution.

FPDS substitution rate is a rough proxy, not a census. PSC categories are government-wide and far broader than the specific workloads. R499 "Professional Support: Other" covers $32B/yr in spending across all federal agencies — it cannot be cleanly attributed to the 5 pilot workloads. The contractor spend decline signal is real (sourced from the live USAspending.gov API), but the inference from category-level decline to workload-specific substitution is indirect. The AI procurement component is also incomplete — isolating AI-specific awards requires keyword search on contract titles and descriptions, which is not yet implemented.

AI cost excludes integration and oversight. The AI cost per unit is inference cost only (from Compute CPI). Total cost of ownership including fine-tuning, human review, and error-correction is higher. The structural cost gap is real; the realized gap is narrower.

What we don't have. We do not have organizational-level data on how much volume is actually routing to AI vs. humans. That data does not exist in any public source. The gap between the cost differential (structural) and the substitution rate (observable) is the measurement problem this index is built to surface — not to paper over.

Data Source Citations

Further reading

Relationship to Compute CPI

The Compute CPI tracks AI cost deflation. The LDI uses that as the AI-side input to the displacement formula. As AI costs fall (CPI declines), the structural cost gap widens automatically. The CPI is currently vs. the 100 baseline — meaning AI inference has fallen significantly since launch. That is why the cost ratios here are 1,000x+. That number will keep moving as the CPI moves.

View Compute CPI → View Activity Index →