JAAT · Code and methods

USAJOBS: profiles, relatedness and validation

Build occupation-task profiles from public JAAT-coded postings, calculate relatedness, and compare recommendations with observed occupational transitions.

Demo notebooks on GitHub · Download notebooks, code and aggregate inputs · Run instructions

USAJOBS RN pipeline, related occupations, task allocation, mean recovery for SST and EMSI and unique-occupation totals
Panel F reports the pre-filter share of task incidence fractionally allocated to DWAs outside O*NET 27.2 occupational activity assignments. G reports SST and EMSI mean recovery for published O*NET lists, posting tasks, and posting tasks grouped into DWAs. H reports benchmark-specific directions and a unique-occupation total; a model is favored if higher at least once and never lower, while mixed means opposite directions across benchmarks. Percentages in F-H are rounded to whole numbers; exact values are downloadable. USAJOBS incidences have unit weights. Whole-percent rounding obscures small EMSI differences; use the precise results table below.

Figure PDF · SVG · All six benchmark results (CSV) · Benchmark coverage (CSV)

Benchmark results

BenchmarkOriginsPosting tasks: mean recoveryO*NET: mean recoveryPosting tasks higherEqualO*NET higher
SST42812.40%11.38%58.6%0.5%40.9%
EMSI26119.18%18.85%42.1%22.2%35.6%
CPS + SIPP8515.29%17.48%41.2%3.5%55.3%
NLSY97 + PSID, 3 years589.36%10.63%44.8%8.6%46.6%
NLSY97 + PSID, 5 years568.75%8.94%44.6%7.1%48.2%
NLSY97 + PSID, 10 years487.29%7.16%50.0%6.2%43.8%

Each origin has the same recommendation-list length for both models, capped at twenty. Mean recovery gives origins equal weight; higher/equal/lower shares include all evaluated origins. The figure displays SST and EMSI; the table reports all six comparisons. Different benchmarks cover different, overlapping occupational populations.

Construction and interpretation

The assembled corpus contains 3,089,366 distinct posting IDs. USAJOBS observations have unit weights; links require at least five postings. RCA uses retained links, followed by square-root weighting and unit-length normalization. The same pair-level exclusions used in the NLx analysis are applied before recalculating RCA; unreviewed links remain. Evaluation uses 614 eligible specialties with at least 200 postings, intersected with the paper's comparison universe; benchmark groups and original outcome denominators are documented in Notebook 3.

Mean recovery is higher for posting tasks in SST, EMSI and the ten-year NLSY97 + PSID comparison; O*NET has higher mean recovery in the other three comparisons. A higher share of origins does not imply higher mean recovery. Federal postings and their coverage differ from NLx. The public USAJOBS inputs support reproduction without releasing confidential NLx occupation-task profiles.

Panel G compares posting tasks, posting tasks grouped into DWAs, and O*NET’s published lists. Random groupings are an additional sensitivity analysis, not a series in the figure. Download all six comparison results · Results for every grouping. Panel H compares the original task model with O*NET’s published lists.

Code

  1. JAAT-coded records → occupation-task profiles
  2. Profiles → relatedness scores
  3. Scores → pipeline and validation figure

The notebooks begin with saved JAAT codes, not raw-text extraction. Notebook 1 retrieves public coded records and metadata; Notebooks 2–3 can use the included aggregate inputs. The complete package includes dependencies and the plotting module.

NLx paper figure, permitted display extracts and code