spb/airiskindex Public
The most methodologically rigorous, fully transparent AI job-exposure index.
TypeScript 88%
Python 6.1%
SQL 2.7%
CSS 1.2%
JavaScript 0.9%
Shell 0.8%
1{2 "$comment": "Worked example for METHODOLOGY.md §5-6. Hand-computed with v1 weights (automatability .35, feasibility .20, cost_ratio .15, barriers .20 inverted, adoption_velocity .10). packages/scoring snapshot tests assert against `expected` to 3 decimal places. Any change here requires an INDEX_VERSION bump.",3 "occupation": {4 "code": "99-9999.00",5 "title": "Example Analyst (synthetic)"6 },7 "tasks": [8 {9 "taskId": "T1",10 "importance": 4,11 "ratings": {12 "automatability": { "low": 3, "mid": 4, "high": 5 },13 "feasibility": { "low": 4, "mid": 4, "high": 5 },14 "cost_ratio": { "low": 3, "mid": 3, "high": 4 },15 "barriers": { "low": 2, "mid": 2, "high": 3 },16 "adoption_velocity": { "low": 3, "mid": 4, "high": 4 },17 "augmentation": { "low": 4, "mid": 5, "high": 5 }18 }19 },20 {21 "taskId": "T2",22 "importance": 3,23 "ratings": {24 "automatability": { "low": 1, "mid": 2, "high": 2 },25 "feasibility": { "low": 2, "mid": 2, "high": 3 },26 "cost_ratio": { "low": 2, "mid": 2, "high": 2 },27 "barriers": { "low": 4, "mid": 4, "high": 5 },28 "adoption_velocity": { "low": 2, "mid": 3, "high": 3 },29 "augmentation": { "low": 2, "mid": 3, "high": 4 }30 }31 },32 {33 "taskId": "T3",34 "importance": 1,35 "ratings": {36 "automatability": { "low": 5, "mid": 5, "high": 5 },37 "feasibility": { "low": 2, "mid": 3, "high": 4 },38 "cost_ratio": { "low": 4, "mid": 4, "high": 5 },39 "barriers": { "low": 1, "mid": 1, "high": 2 },40 "adoption_velocity": { "low": 4, "mid": 5, "high": 5 },41 "augmentation": { "low": 1, "mid": 2, "high": 3 }42 }43 }44 ],45 "expected": {46 "taskScores": [47 {48 "taskId": "T1",49 "substitution": { "low": 55.0, "score": 71.25, "high": 88.75 },50 "exposure": { "low": 59.0909, "score": 75.0, "high": 100.0 },51 "augmentation": { "low": 75.0, "score": 100.0, "high": 100.0 }52 },53 {54 "taskId": "T2",55 "substitution": { "low": 11.25, "score": 27.5, "high": 32.5 },56 "exposure": { "low": 9.0909, "score": 25.0, "high": 34.0909 },57 "augmentation": { "low": 25.0, "score": 50.0, "high": 75.0 }58 },59 {60 "taskId": "T3",61 "substitution": { "low": 73.75, "score": 86.25, "high": 95.0 },62 "exposure": { "low": 72.7273, "score": 81.8182, "high": 90.9091 },63 "augmentation": { "low": 0.0, "score": 25.0, "high": 50.0 }64 }65 ],66 "occupation": {67 "taskWeights": [0.5, 0.375, 0.125],68 "substitution": { "low": 40.9375, "score": 56.71875, "high": 68.4375 },69 "exposure": { "low": 42.0455, "score": 57.1023, "high": 74.1477 },70 "augmentation": { "low": 46.875, "score": 71.875, "high": 84.375 },71 "highlyExposedTaskShare": 0.666772 }73 }74}75