E-E-A-T · Transparency
Methodology
Public labor APIs publish wages and growth — not Generative AI vulnerability. We manufacture that signal with a versioned scoring pipeline.
1. Data sources
- O*NET Database 30.3 — occupation descriptions, task statements, importance ratings, and Detailed Work Activities (DWAs).
- BLS Table 1.2 — median annual wages, typical education, and employment change percent for the latest 10-year projection window (currently 2025–2035 in the source file).
O*NET-SOC codes (e.g. 15-1252.00) join to BLS SOC by truncating the decimal suffix.
2. Task extraction
For each pilot occupation we keep the top 15 Core tasks ranked by O*NET importance. These become the unit of LLM evaluation.
3. LLM evaluation (prompt v1)
Gemini scores each task’s probability (0–100) that current Generative AI can automate it, plus a digital/physical/mixed label and a short reskilling recommendation.
- Highly automated tasks — probability ≥ 80
- Safe tasks — probability < 30 or labeled physical
4. Alternative careers
We compute Jaccard overlap on shared O*NET Detailed Work Activities. Preferred matches: AI risk < 30 and overlap ≥ 50%. In the 40-occupation pilot, if fewer than three matches exist, we fall back to the top overlaps with risk < 40 and disclose the fallback on the page.
5. Limitations
- Scores reflect Generative AI capability assumptions as of the model/prompt version stamped on each metric row — not a guarantee of displacement.
- BLS projections are independent of our AI scores; a high-risk job can still show positive employment growth.
- Pilot scores may be produced with Gemini (`npm run data:score`) or a keyword heuristic fallback (`npm run data:score:heuristic`) when no API key is available. Production should use the Gemini loop; heuristic rows are stamped `model_name: heuristic-v1`.
- This site is informational and does not provide personalized career counseling.