AI Work Index

Methodology

AI exposure and job displacement are different objects.

A software developer and a data entry clerk can both score high on AI exposure, but one gets augmented (MOM lists software developers as in-demand in 2025) while the other faces substitution. We deliberately separate technical exposure from market translation using a three-layer structural score.

Our scoring pipeline uses government survey data plus published academic and institutional research. No LLM assigns a risk score — avoiding the circularity of using AI to score AI replaceability. The core formula is fully deterministic: every input is an observable signal from a published dataset. We publish the structural score separately from the Singapore context bundle so users can audit the core model independently from current labour conditions and support layers.

Validation & Limits

Deterministic and reproducible scoring
Sensitivity-tested (band stability stress test)
Cluster-level directional check only: 2/4 checks pass (Q4 2025, n = 3 clusters)
~ Not validated at individual occupation level

What this model does: Measures structural AI displacement pressure using observable inputs. It tells you which occupations face the most technical overlap with AI capabilities and which have the strongest human bottlenecks and market buffers.

What it does not do: Predict actual job losses or forecast hiring trends. The core score still captures structural displacement pressure, not realised reinstatement. We now publish a separate offset-potential layer to approximate some cushioning forces, but it should not be read as a direct measure of new-task creation or job growth.

TL;DR

Net risk = AI exposure × (1 − human bottleneck) × market modifier. Exposure uses a reliability-weighted blend of up to 4 academic/institutional sources. No LLM in the pipeline — every input is from published data.

Three-Layer Structural Score

Layer 1: Exposure

How much does this job overlap with current AI capabilities? The V4.1 exposure layer blends available signals from AIOE, Anthropic observed usage, Eloundou GPT exposure, and the ILO occupational exposure index.

Layer 2: Human Bottleneck

How much does this job require judgment, presence, and responsibility that resists automation? From Pizzinelli theta, computed from O*NET Work Context data.

Layer 3: Market Resilience

Is Singapore's labor market for this occupation growing or shrinking? Group-level employment and wage trends plus occupation-level wage scarcity proxies.

These three layers produce the structural score. Around that core score we add confidence, labour evidence, synthetic-role estimates, offset potential, and scenario tooling rather than hiding everything inside one opaque number.

Separate Singapore context modules now show industry footprint and worker-profile composition from official Section D labour-force tables and wage-by-sex tables. The industry footprint card now also shows sector wage anchors from MOM's industry wage tables where the occupation is covered. The labour monitor carries both published vacancy rates and published vacancy counts at cluster level. These context blocks are displayed as evidence around the score, not folded into hidden multipliers, and are published in a separate Singapore context bundle alongside the main score dataset.

LayerMeasuresSource
ExposureAI capability overlap with job abilitiesReliability-weighted blend of matched percentile-ranked exposure sources
Human BottleneckJudgment, presence, responsibility that resists automationPizzinelli theta from O*NET (2023), percentile-ranked
Market ResilienceEmployment momentum + occupation wage scarcityMOM employment/wage trends + occupation wage structure
Net Displacement RiskPublished as risk bands (Very Low to Very High) with confidenceComposite formula

The Formula

net_risk = exposure_ensemble × (1 - bottleneck) × market_modifier

Where:

  • market_modifier = 1 - 0.35 × market_resilience
  • market_resilience = 0.6 × market_momentum + 0.4 × occupation_scarcity

The market modifier only dampens risk (it is always ≤ 1.0). Weak markets don't amplify risk beyond the technical signal — they simply provide less buffer. Maximum reduction: 35%.

Layer 1: Exposure

Exposure Ensemble

V4.1 treats exposure as an ensemble layer, not a single index. AIOE is the baseline source; Anthropic observed usage, Eloundou GPT exposure, and the ILO occupational exposure index are added when crosswalk coverage exists.

exposure_ensemble = weighted_mean(percentile-ranked matched exposure inputs)

Each source is percentile-ranked to a 0–1 scale and then blended using deterministic source weights based on recency, construct fit, coverage quality, and validation support. Occupations with fewer matched sources are kept, but should be read with lower evidential coverage.

What it does NOT measure: whether exposure leads to augmentation or replacement.

Layer 2: Human Bottleneck (Theta)

Pizzinelli Theta (Complementarity)

From Pizzinelli et al. (2023, IMF). Computed from 12 O*NET variables across 6 dimensions. Higher theta = stronger human bottleneck = harder to substitute.

  1. Communication: Face-to-Face Discussions 4.C.1.a.2.l, Public Speaking 4.C.1.a.2.c
  2. Responsibility: Outcomes/Results 4.C.1.c.2, Health/Safety of Others 4.C.1.c.1
  3. Physical Conditions: Outdoors 4.C.2.a.1.c, Physical Proximity 4.C.2.a.3
  4. Criticality: Consequence of Errors 4.C.3.a.1, Decision Freedom 4.C.3.a.4, Decision Frequency 4.C.3.a.2.b
  5. Routine (inverted): Degree of Automation 4.C.3.b.2 (inverted), Structured vs. Unstructured Work 4.C.3.b.8
  6. Skills: O*NET Job Zone (1-5, scaled to 0-1)

θ = mean(6 dimension means, each normalized to 0-1)

bottleneck = percentile_rank(θ) across all matched occupations

Scale: 0 (lowest percentile — most automatable) to 1 (highest percentile — strongest human bottleneck)

No double-counting: We use AIOE and theta as separate, independent layers. We do NOT use C-AIOE (which is aioe × f(theta)) as an input to net_risk, because multiplying by (1 - theta) would double-count complementarity. C-AIOE is computed and displayed as a reference score for IMF comparability only.

Layer 3: Market Resilience

Market data is a calibrator, not an override. Employment and wages are lagging and confounded. The market layer can reduce net risk by up to 35% — it never amplifies risk beyond the technical signal.

Separately, we build a Singapore industry-footprint layer from the official industry × occupation cross-tab plus industry vacancy series. That layer is shown on occupation and synthetic-role pages as contextual evidence, not as a direct score multiplier.

Market Momentum (group-level)

market_momentum = mean(pctile(group_empl_cagr), pctile(group_wage_cagr))

10-year employment CAGR (2015-2025) and 8-year wage CAGR (2015-2023) from MOM data, per major occupation group. Percentile-ranked across the 8 major groups.

Occupation Scarcity (occupation-level)

occupation_scarcity = mean(pctile(log(q75/q25)), pctile(wage_median / group_median))

Two wage-structure signals: (1) log wage spread (winsorized at 1st/99th percentile) as a scarcity proxy, and (2) within-group wage position (above group median = relative specialization). Both percentile-ranked across all 562 occupations.

Combined Market Modifier

market_resilience = 0.6 × market_momentum + 0.4 × occupation_scarcity

market_modifier = 1 - 0.35 × market_resilience

Group-level trends get 60% weight (direct measurement). Occupation-level wage structure adds within-group differentiation at 40% weight (noisier signal). The 0.35 cap means the market layer can reduce net risk by up to 35%.

Singapore Demand Signals (occupation-level bonuses)

Two MOM data sources provide occupation-level demand flags that boost market resilience:

  • Shortage Occupation List (SOL) 2026: EP/COMPASS shortage list (released Nov 2025, effective Jan 2026). 36 occupations across semiconductors, healthcare, ICT, green economy, maritime, agritech, financial services. Matched to 62 SSOC codes. +15% market resilience bonus.
  • Jobs in Demand 2025: Broader resident demand list (released Dec 30, 2025). Covers PMET and non-PMET roles: software developers, nurses, waiters, drivers, security officers, auditors. Matched to 29 SSOC codes. +10% market resilience bonus.

Where both signals match (e.g., software developer appears on both SOL and Jobs in Demand), bonuses stack (capped at 1.0). SOL is EP/COMPASS-focused (PMET bias); Jobs in Demand offsets this by covering non-PMET roles.

Labour Monitor (cluster-level evidence layer)

We ingest official MOM/SingStat raw feeds from data.gov.sg and compute a unified labour monitor for three broad occupation clusters. Where the published raw series is annual or incomplete, we attach the latest MOM quarterly enrichment snapshot instead of pretending the raw feed is finer than it is:

  • PMET — Professionals, Managers, Executives & Technicians
  • Clerical, Sales & Service Workers
  • Production & Transport Operators, Cleaners & Labourers

Three signals are computed per cluster (where data is available):

  1. Vacancy rate trend: 4-quarter-over-4-quarter average trend. Signal: >+5% = heating up (+1), <-5% = cooling down (-1), else stable (0).
  2. Net hiring pressure: recruitment rate minus resignation rate (when available). Signal: net >+0.1pp = positive (+1), <-0.1pp = negative (-1), else neutral (0).
  3. Retrenchment trend: count and 4Q-over-4Q trend (when available). Falling retrenchment = positive (+1), rising = negative (-1).

The three signals are summed into an overall label:

total = vacancy_signal + hiring_signal + retrenchment_signal
2-3 = "strong" | 1 = "moderate" | 0 = "weak" | <0 = "deteriorating"

This is cluster-level data, not occupation-level. It provides context about the broad labour market conditions for each occupation's cluster, displayed as a labour market card on occupation pages. It is not a direct scoring input — we show it to ground the analysis in current labour-market reality without overfitting a sparse cluster-level series into the per-occupation formula.

Data displayed per cluster: vacancy rate with year-over-year trend and multi-year sparkline (2021–2025), recruitment vs resignation rates, retrenchment incidence per 1,000 employees, and re-entry rates (proportion of retrenched workers finding employment within 6 and 12 months).

Data sources: vacancy rates and counts, recruitment/resignation rates, retrenchment by occupation group, and re-entry into employment statistics from data.gov.sg/MOM, with MOM labour-monitor enrichment attached for the live monitor artifact vintage (Q4 2025 full) where the public raw series stays annual or sparse. Updated when a fresher official release is available.

Anthropic Economic Index (exposure calibration)

Observed AI usage rates from Claude conversations (HuggingFace dataset, Jan 2026 report). Calibrates the theoretical AIOE exposure by up to ±30% based on the gap between theoretical and observed AI usage per occupation.

Applied to 507 of 562 occupations via SOC code crosswalk. Key finding: some occupations (data entry, customer service) show higher observed usage than AIOE predicts, while others (teachers, software developers) show lower observed usage.

Used as calibration, not replacement. Anthropic measures Claude usage specifically, not universal AI adoption.

Risk Bands

Net risk is published as bands, not pseudo-precise decimals:

BandRangeMeaning
Very Low0.00 – 0.05Negligible displacement pressure
Low0.05 – 0.15Limited pressure; AI likely augments
Moderate0.15 – 0.30Mixed; bottlenecks or market provide buffer
High0.30 – 0.50Significant pressure; weaker bottlenecks and/or declining market
Very High0.50+Strong pressure across multiple signals

Augmentation & Impact Type

A single displacement risk number misses half the story. We compute augmentation potential from the same three layers, with a different formula:

displacement_risk = exposure × (1 - bottleneck) × market_modifier

augmentation = exposure × bottleneck × market_resilience

Augmentation is highest when AI capability overlaps with strong human bottlenecks AND the local market has demand for the occupation. High exposure alone does not guarantee augmentation — the occupation must also have irreplaceable human elements (high bottleneck) that make AI a complement rather than a substitute.

Crossing displacement with augmentation gives a 2×2 impact type:

Low AugmentationHigh Augmentation
High DisplacementAt Risk — AI substitutes, weak bottleneckMixed — conflicting signals, high uncertainty
Low DisplacementStable — AI has limited overlapAugmented — AI amplifies, human essential

Impact type is classified from net_risk and augmentation thresholds: net_risk ≥ 0.25 = "high displacement", augmentation ≥ 0.12 = "high augmentation". Occupations with high displacement and official demand signals (SOL/JiD) are classified as "mixed" rather than "at risk".

Confidence Scores

Every score carries a visible confidence indicator:

confidence = weighted_sum(crosswalk, market, freshness, coverage, agreement, sensitivity) − penalties

FactorHow it is assignedTypical range
Crosswalk qualityDirect = 1.0, sub-major fallback = 0.6, major fallback = 0.3, then reduced further by crosswalk dispersion where mapped SOC scores disagree.0.3 - 1.0
Market data granularityBaseline = occupation wage structure + group employment/wage trends. Exact official demand evidence adds more occupation-specific Singapore signal than prefix-inferred or absent demand evidence.0.65 - 0.85
Source freshnessWeighted from the matched exposure sources' recency scores inside the reliability-weighted ensemble.0.55 - 0.98
Source coverageRewards occupations with broader matched exposure coverage across AIOE, Anthropic, Eloundou, and ILO.0.10 - 1.00
Signal agreementPenalizes occupations whose matched exposure sources materially disagree or where only one source is available.0.25 - 0.95
SensitivityDerived from the Monte Carlo stability label: stable > watch > sensitive.0.40 - 0.85

Published as: High (≥0.7) / Medium (0.45–0.7) / Low (<0.45).

In the current implementation, High confidence is reserved for direct, clean, multi-source cases only. Contested occupations, sparse one-source matches, and fallback mappings are capped below High even when their raw score crosses the threshold.

Classification

Building on the IMF framework, occupations are classified into four impact types based on the 2×2 matrix of displacement risk and augmentation potential:

At Risk

High displacement, low augmentation (e.g., data entry, bookkeepers)

Augmented

Low displacement, high augmentation (e.g., software developers, surgeons)

Stable

Low displacement, low augmentation (e.g., electricians, childcare workers)

Mixed

High displacement, high augmentation — conflicting signals, outcome depends on adoption path

Structural AI exposure scores, not employment predictions. Methodology

V4.1 structural score · 2024 wages · Q4 2025 full live monitor · 562 occupations · 88 roles

Latest official labour release: MOM Labour Market Report Q4 2025 (2026-03-20)

Made by Kirill So · Built with Claude & GPT
MIT Licensed · Open Source · Structural release V4.1 · Updated 2026-03-20