naics_soc_staffing_matrix
BLS OEWS national industry-specific staffing matrix (NAICS x SOC), May 2024 vintage. One row per (naics, own_code, occ_code, i_group, o_group) giving each occupation's employment, its share of industry employment (the staffing weight), and the mean/median annual wage within the industry. National reference dimension - no geography (the staffing recipe, not a geo-keyed fact), so it is exempt from the reader-facing geo contract.
tier aTier A: federal industry-occupation staffing source.
overview
overview
170,758 industry x occupation rows (national).
current vintage — 2023
provenance
source & licensing
authority
U.S. Bureau of Labor Statistics
dataset
Occupational Employment and Wage Statistics (OEWS), National Industry-Specific, May 2024
source url
license
Public domain (U.S. Federal Government work)
citation
U.S. Bureau of Labor Statistics, OEWS, May 2023.
schema
fields
| name | type | definition |
|---|---|---|
| a_mean | float64 · dollars (nominal) | Mean annual wage for the occupation within the industry (BLS OEWS, May 2024). Higher values indicate higher average pay. |
| a_median | float64 · dollars (nominal) | Median annual wage for the occupation within the industry, i.e. the wage at the 50th percentile (BLS OEWS, May 2024). Higher values indicate higher typical pay. |
| i_groupkey | string | NAICS aggregation tier of this row (sector, 3-digit, 4-digit, or 5-6 digit). Part of the grain; identifies the level of industry detail.Part of primary key. |
| naicskey | string | NAICS industry code identifying the industry for this staffing row. Part of the grain.Part of primary key. |
| naics_title | string | Human-readable title of the NAICS industry. |
| o_groupkey | string | SOC aggregation tier of this row ('detailed' = leaf-level occupation). Part of the grain; identifies the level of occupational detail.Part of primary key. |
| occ_codekey | string | 6-digit SOC (Standard Occupational Classification) code for the occupation. Part of the grain.Part of primary key. |
| occ_title | string | Human-readable SOC occupation title. |
| own_codekey | string | BLS ownership code for the industry ('5' = private). Part of the grain.Part of primary key. |
| pct_total | float64 · percent (0–100) | The occupation's share of total employment within the industry — the staffing weight. Computed as the occupation's employment divided by industry total employment, times 100. Higher values mean the occupation makes up a larger portion of the industry's workforce. |
| tot_emp | float64 · workers | Estimated number of workers in this occupation employed within the industry (BLS OEWS, May 2024). Higher values indicate greater employment of the occupation in the industry. |
relationships
joins
primary key
naics, own_code, occ_code, i_group, o_group
common joins
not provided
usage
how to use this table
method
Loaded from OEWS national industry-specific file; pct_total = occupation share of industry employment.
do not use for
Sub-national staffing (national only); summing an occupation across industries un-deduplicated.
last updated · Jul 7, 2026