Labor-market data methodology

Last updated: April 27, 2026.

Prentice combines three public labor-market sources to describe skilled-trade opportunity: BLS Occupational Employment and Wage Statistics (OEWS), Census American Community Survey Public Use Microdata Sample (ACS PUMS), and Projections Central long-term occupational projections. This page documents what the numbers mean, how we compute them, and where they fall short.

What OEWS trade jobs means

The map label OEWS trade jobs is the BLS employment estimate for the selected occupation's SOC code in the selected state or metro. It is a stock of estimated full- and part-time wage-and-salary jobs in that occupation, not total state employment, annual openings, vacancies, unmet demand, or the number of people qualified to do the work.

OEWS wage estimates are straight-time gross pay. They include base pay and some incentive pay, but exclude overtime pay, shift differentials, many bonuses, self-employed contractors, unincorporated owners, partners, private-household workers, and unpaid family workers. That means the OEWS baseline can miss annual earnings upside from overtime, travel, per diem, contracting, or business ownership even when the ACS annual-earner metric captures some of it through reported wage and self-employment income.

$100K+ annual earners

The default map metric is $100K+ annual earners. We estimate it from the latest ACS 5-year PUMS microdata, looking at every employed civilian worker whose primary job matches the selected trade. For each worker we add wage income plus net self-employment income (adjusted to inflation-consistent dollars), then use the survey's person weights to estimate how many workers in the trade earned at least $100,000. State estimates are grouped by reported place of work where available, falling back to residence state when the work-state field is not usable. We use the ACS replicate weights to compute a 90% margin of error around each estimate.

Technical field names (ACS PUMS)

The earnings inputs are WAGP (wage and salary income) plus SEMP (self-employment income), multiplied by ADJINC to put dollars on a single inflation-consistent basis. Person weights are PWGTP; replicate weights are PWGTP1 through PWGTP80; the place-of-work field is POWSP. Occupation matching uses the trade's SOC/SOCP code.

This is closer to annual labor earnings than OEWS wage percentiles because it can include wage income plus net self-employment income. It is still a survey-based people estimate, not payroll-verified compensation, a job-opening count, or a guarantee. ACS occupation is based on a respondent's current primary job for employed workers, while annual earnings cover the past 12 months and may include income from more than one job. PUMS also cannot reliably support metro-level trade estimates, so for metros we apply the state ACS $100K+ annual-earner rate to the metro OEWS employment count and mark it lower confidence.

OEWS straight-time wage baseline

OEWS publishes employment counts and the 10th, 25th, 50th, 75th, and 90th wage percentiles for every detailed occupation (SOC code) in every state and metropolitan statistical area. To estimate the share of workers earning above $100,000, we fit a log-normal distribution to the five published percentiles (ordinary least squares on the log-wage against the standard-normal quantile), integrate the tail past $100,000, and multiply by employment. The result is an estimate, not a count. We report it with a confidence tag (see the per-metric confidence schema below).

This OEWS number is now labeled as the straight-time wage baseline, not the headline estimate. It is still useful because OEWS is strong at state and metro wage geography, but it can understate annual upside in trades where overtime, shutdown work, storm work, travel assignments, per diem, contracting, or ownership matter.

Market pressure score

The market-pressure score is a 0-100 composite of three signals: (1) projected annual openings per 100 current jobs (Projections Central long-term), (2) projected employment growth percentage (Projections Central), (3) ACS PUMS $100K+ annual-earner rate. Each signal is percentile-ranked across all roughly 1,000 state-trade cells nationally; the three percentile ranks are arithmetically averaged with equal weighting (33% each); the result is rescaled to 0-100. Metro-level pressure scores apply the parent state's score to the metro context — they are NOT independently computed from metro signals. The score is directional: higher means stronger evidence that this trade-state combination has more demand flow and/or earnings pressure than peer cells.

We previously called this signal “shortage pressure.” The old phrase implied a measured worker shortfall, which the score is not — it is a composite proxy. The renamed label keeps the same arithmetic but more accurately describes what the number represents. Public state-by-trade supply data is fragmented: Registered Apprenticeship completions, IPEDS completions, state licenses, active license counts, and current vacancies do not exist in one clean national table. Until those sources are ingested trade-by-trade, missing supply data is never treated as zero. Metro pressure applies the state projection rate to metro OEWS employment, so it is a local projection with lower confidence.

Bachelor's+ in the labor force

For the “competing graduates” denominator we use ACS S1501 and S2301 5-year estimates of people 25 and older in the civilian labor force who hold a bachelor's degree or higher. This is a stock (people in the workforce today), not a flow (new graduates per year). We deliberately avoid IPEDS annual completions for this framing because mixing a stock with a flow misstates the comparison.

ACS 5-year estimates carry margins of error that can exceed 5 percent in smaller metros. When the upstream artifact carries a MoE field for a metro's bachelor's+ count, we display the estimate with a ± band; otherwise the headline count stands without a band. We never fabricate a band when the source did not publish one.

Confidence by metric

Each of the four headline metrics carries its own confidence tag. A High/Medium/Low tag on one metric is not directly comparable to the same tag on another metric — read each schema below for the exact thresholds.

Competitive ratio

The ratio shown on state and metro pages is simply (selected $100K trade metric) divided by (bachelor's+ holders in the local labor force), computed per state and per metro. It is a framing device, not a forecast. Many high-earning trade jobs hire from adjacent occupations outside the SOC we assigned, and many bachelor's-holders never compete for these roles. Use the ratio to spot patterns; do not use it to make a specific career decision.

Data lag and refresh cadence

BLS OEWS publishes its annual vintage in spring (May 2024 vintage was the latest at our last refresh; May 2025 vintage publishes around mid-2026). Census ACS 5-year publishes its annual vintage in late autumn through winter (the 2020-2024 ACS 5-year vintage published in early 2026). Prentice refreshes both sources within 4-8 weeks of each release. Between refreshes, any page whose facts have not yet been republished shows Not yet published rather than a stale number.

Honest limits

Sources

Questions, corrections, or disagreements with our framing? Email us.