FAQ
How are postings assigned to categories?
We give a language model each posting’s title, the lab’s own department label and the full advert text. We ask it to assign the posting to one of sixteen sub-categories, grouped into five broad categories. The model uses Other if none of the pre-defined categories fit. We include those postings in the download, but do not show them on the chart.
We also ask the model to rate its confidence in each label and include that rating in the download. The methodology page lists all the categories and their definitions.
What do the five categories cover?
- Research: Roles that build and understand the models themselves. This covers the scientists and engineers who train and evaluate models, the teams that acquire and produce training data, and safety work on the models’ harmful behaviour and misuse.
- Compute: Roles that build the hardware and low-level software the models run on. This spans the labs’ own chips, the datacenters from site to rack, and the cluster, training and inference software layered on top.
- Product: Roles that build the things customers use. This includes the API and developer platform, consumer and business apps, coding products, robotics, consumer devices and the advertising business, together with the product managers and designers embedded in those teams.
- Go-to-market: Roles that sell to and serve customers. This covers sales, marketing, partnerships and growth, the forward-deployed engineers who build for a named customer after the sale, and customer support at scale.
- Corporate: Roles that run the company. This covers finance, recruiting and people operations, workplace and IT, information security, and the lab’s interface to governments and the public through policy, legal and communications.
The full definitions of all sixteen sub-categories are on the methodology page.
How accurate is the classification?
We ask the classification language model to rate its own confidence in each label, and include that rating in the download.
We instruct it to use high when the title and the responsibilities described agree and are sufficient to determine the sub-category; medium when it needed the department or a close reading of the advert to decide; and low when two sub-categories were genuinely arguable and the model would describe itself as guessing.
The methodology gives the current split of labels across the three levels.
How is the number of open roles computed?
Each day, we scrape the frontier labs’ job adverts. A posting counts as open on that day if the scrape returned that posting. The chart shows these daily counts, grouped by category.
Where does the data come from?
We collect the data from the labs’ own job posting sites: Anthropic’s careers page and OpenAI’s job board.
How is location counted?
We take each posting’s locations from the job board’s location field. A separate language model maps each location to a country and a city, as described in the methodology. If the location field is empty or does not name a place, the model reads the location from the posting’s title and the opening of the advert instead. We mark each location with where it came from. Locations inferred from the advert are less reliable than those the lab published as the role’s location.
We record a listing that is remote within a country, such as “Remote - US”, as Remote in that country. When a posting lists both cities and a remote option, we count it under each city and under Remote. We record a listing that names a country or region but no city as Unspecified. On the chart, we group Unspecified with the smaller cities under Other.
We count each posting once per distinct country and city listed, so geographic totals can exceed the number of postings. The chart shows the six countries with the most postings separately and groups the rest under Other.
When a location does not determine a country, such as a bare “Remote”, we show it as Unmapped. This series appears only when such a location exists. At present, every location the labs publish maps to a country.
Do the counts measure hiring or headcount?
The counts measure open postings — advertised roles. They do not directly measure hiring or headcount. A single posting can cover several hires, stay up after being filled, or be reposted.
How often is the data updated?
We scrape both careers pages once a day. The page shows the data with a seven-day delay.
How is the data licensed?
Epoch AI’s data is free to use, distribute, and reproduce provided the source and authors are credited under the Creative Commons Attribution license. A complete citation can be found in the Overview.