Methodology and sources
What the data is, what we changed, and which numbers are our own definitions rather than official findings.
Sources
- O*NET 31.0 Database, U.S. Department of Labor, Employment and Training Administration. Occupations, descriptions, skill, knowledge and ability ratings, software examples, Job Zones, job titles, tasks and work activities, and O*NET related occupations. Used under CC BY 4.0.
- U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025. Employment, wages and location quotients for the nation, states, metro and nonmetro areas. Public domain.
Data built 2026-10-15; graph and similarity computed 2026-10-17.
What we changed
O*NET asks anyone who modifies its data to say how. This is that list.
- Dropped rating rows that O*NET marks Recommend Suppress (low precision) or Not Relevant.
- Combined essential and transferable skills (O*NET 31.0 publishes them as two files) into one skills list.
- Joined BLS wages to O*NET occupations by SOC code, as described under Wages. Some O*NET occupations show a parent or combined BLS occupation's wage, and the page says so.
- Added a similarity score between occupations and the "one skill away" and "software to learn" results. These are our definitions, described below.
- Left out task ratings and work context.
Similarity
Each occupation with ratings becomes a vector of importance x level across all 120 O*NET descriptors: 35 skills, 33 knowledge areas and 52 abilities. Similarity is the cosine between two vectors. We store each occupation's 50 most similar.
We picked this measure because it agrees best with O*NET's own related-occupation lists. Of the occupations O*NET ranks as most related (its Primary-Short tier), 65% appear in our top 20; across all tiers, 46%. That is agreement, not accuracy: neither list is ground truth.
106 occupations have no ratings in O*NET data (many are "All Other" codes). They have pages and wages but no similar occupations.
One skill away
Occupation B is one skill away from A when all of these hold:
- B is among A's 50 most similar occupations;
- B's Job Zone is no higher than A's;
- exactly one of B's skills with importance of at least 3 (out of 5) needs a level more than 0.75 points higher than A's (on O*NET's 0 to 7 level scale).
The neighbourhood and Job Zone limits came from testing on the real data: without them, about 100 unrelated jobs qualified, and registered nurses came out "one skill" from dermatologists. All four thresholds can be changed on the answer page.
Software to learn next
Software listed by at least 3 of an occupation's 20 most similar occupations, leaving out what the occupation already lists. Ranked by how many of them use it, weighted by lift: how much more common it is among them than across all occupations. We don't limit this to O*NET "hot technologies", because that flag marks general tools (Microsoft Excel is hot for 859 occupations).
Software names are O*NET product names, matched exactly. "SQL" does not match "Structured query language SQL", so search asks which one you mean.
Skill and knowledge gaps
On a plan with a goal: the goal's skills and knowledge areas rated at least 3 in importance, where the goal needs a higher level than your current job (on O*NET's 0 to 7 level scale), largest gap first, up to five. A level your current job doesn't have counts as 0. When O*NET data gives the goal no level for an important item, the plan names it and says the gap can't be measured, rather than leaving it out.
The plan's software list is the goal's software that your current job doesn't list, most specific to the goal first: ranked by how few occupations list it. Software listed by 100 or more occupations is shown separately as general tools; that cutoff is ours. We don't rank by O*NET's hot or in-demand flags, because they mark technologies common in job postings across all jobs, which put Linux and Git at the top of a coroner's list ahead of autopsy and toxicology databases. Without a goal, the plan shows the neighbourhood suggestions described above.
Experience, education and training
O*NET doesn't publish years of experience for each occupation. It assigns each one a Job Zone and describes the experience, education and training typical of that zone. The plan shows those descriptions for both jobs' zones. Zones 1 and 2 are combined in O*NET 31.0 data.
Pays more
Among an occupation's 20 most similar occupations, those whose BLS annual median wage in the chosen area is above its own. Where BLS withheld a median as very high, the occupation is listed with no raise figure. Results whose wage belongs to a parent or combined occupation are labelled.
Stepping stones (your route)
The most direct route from one job to another: the fewest job changes, where each move is to a job that O*NET lists as related to the one before it, up to 4 moves. O*NET's related lists include sideways moves, so a route isn't a promotion ladder and pay can dip along the way. The rising-pay option only uses moves where the BLS U.S. median wage goes up; that route can be longer, or not exist.
Wages
- Own figure. BLS publishes the occupation's SOC code and the O*NET code is the SOC-level one (ending in .00).
- Parent occupation. A more specific O*NET occupation (ending .01 or higher) shows its SOC parent's wage. Business Intelligence Analysts, for example, show the Data Scientists figure.
- Combined occupation. BLS publishes some SOC codes only as a combined group, taken from the BLS occupation definitions file.
- No estimate. BLS publishes nothing for 21 occupations, including legislators, fishing and hunting workers and military occupations. We show "No BLS wage estimate" and don't substitute a broader group.
When BLS withholds a wage because it is very high, we show "Not published (very high)". BLS doesn't publish a fixed cutoff for this, and we don't put a number on it.
BLS wage estimates pool survey panels over three years. They aren't a time series, so we don't show wage growth.
Search
Questions are read by fixed rules into a template and a set of codes, and every answer page shows that interpretation. When a title or place matches more than one occupation or area, you choose. "Data analyst", for instance, is a reported title for 8 different O*NET occupations. No figure on this site comes from a language model.
Credits
This site includes information from the O*NET 31.0 Database by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license. O*NET® is a trademark of USDOL/ETA. NeoDataLabs has modified all or some of this information. USDOL/ETA has not approved, endorsed, or tested these modifications.
U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025.
Network view drawn with Sigma.js and graphology (MIT licence; licences).