Data Downloads
The complete dataset behind this index is open. Download, analyze, and build on it. MIT licensed.
Downloads
562 occupations, all fields. Best for spreadsheets and data analysis.
sg-ai-occupations-2024.csvFull structured data with all nested fields. Best for programmatic use.
sg-ai-occupations-v3.jsonFull source code, scoring pipeline, and raw data. Open source on GitHub.
github.com/kirso/aiworkindexVersioned Snapshots
Historical scoring snapshots for tracking changes over time.
Quarterly snapshots will be archived here as new scoring runs are published. Use snapshots to track band movers and score drift over time.
Methodology Version
Version: V3.1 (three-layer scoring: exposure, bottleneck, market resilience)
Data vintage: 2024 wages, 2024/2025 demand signals
Occupations: 562 SSOC-coded occupations
Sources: MOM Singapore, Felten et al. AIOE, Pizzinelli/IMF, Anthropic observed usage, SOL 2026, Jobs in Demand 2025
Data Dictionary
Key fields in the dataset. See the methodology page for derivation details.
| Field | Type | Description |
|---|---|---|
| ssoc | string | Singapore Standard Occupational Classification code (4-digit) |
| title | string | Occupation title from MOM classification |
| major_group | string | Major occupational group key (e.g., professionals, managers) |
| gross_wage_median | number | Median gross monthly wage in SGD (MOM 2024) |
| gross_wage_25th | number | 25th percentile gross monthly wage in SGD |
| gross_wage_75th | number | 75th percentile gross monthly wage in SGD |
| exposure | number | AI technical exposure score (0-1). Based on AIOE index mapping to SSOC via ISCO crosswalk |
| bottleneck | number | Human bottleneck strength (0-1). Higher = stronger human advantage from judgment, creativity, interpersonal skills |
| net_risk | number | Net displacement risk (0-1). Formula: exposure × (1 - bottleneck) × market_modifier |
| risk_band | enum | Categorical risk: very_low (<5%), low (<15%), moderate (<30%), high (<50%), very_high (≥50%) |
| augmentation | number | Augmentation potential (0-1). How much AI can enhance (not replace) this role |
| impact_type | enum | ai_leveraged | at_risk | stable | mixed — based on exposure and bottleneck thresholds |
| market.market_momentum | number | Employment growth trend (0-1) |
| market.occupation_scarcity | number | Labour shortage signal (0-1). Derived from SOL and Jobs in Demand lists |
| market.market_resilience | number | Combined market buffer (0-1). Higher = stronger demand protection |
| evidence.anthropic_calibrated | boolean | Whether Anthropic observed usage data is available for this occupation |
| evidence.anthropic_gap | number|null | Percentile gap: observed AI usage minus theoretical exposure. Positive = more adoption than theory predicts |
| evidence.sol_match | string|false | Shortage Occupation List match: "exact", "prefix", or false |
| evidence.jobs_in_demand_match | string|false | Jobs in Demand (MOM 2025) match: "exact", "prefix", or false |
| confidence.score | number | Overall estimate confidence (0-1). Combines crosswalk quality, market data, and source freshness |
| confidence.level | enum | high | medium | low — categorical confidence |
| stability.label | enum | stable | watch | sensitive — how much the risk band changes under ±5pt stress test |