← All insights

How JobShift Classifies AI Layoffs and AI Hiring: Methodology Overview

Published · 1557 words

Every metric published on JobShift depends on two contested phrases: "AI-driven layoffs" and "AI hiring." A reasonable skeptic will ask what prevents those numbers from being whatever the person who built the dashboard prefers them to be. The answer is a defined methodology, published in enough detail that the specific design decisions can be scrutinized on their merits rather than dismissed on generalities.

JobShift operates two independent classifiers. One determines whether a layoff was caused by AI. The other determines whether a job posting qualifies as AI hiring. The two share no code and no data. Both are rule-based, both publish their exclusions alongside their inclusions, and both are designed so that stricter or looser definitions can be applied to the underlying event stream by any reader who wishes to do so.

Layoff attribution

A WARN filing establishes that a company laid off workers. It does not establish why. Employers file WARN notices because federal law requires it at 100+ workers with 50+ at a single site (see the companion article on WARN filings), not because they wish to publicly categorize the cause. The Reason field, where it exists at all, is boilerplate: "economic conditions," "business restructuring," or nothing.

To attribute a filing to AI, JobShift requires two conditions to be satisfied simultaneously.

First, contemporaneous news coverage must reference the employer within a narrow window on either side of the filing date. WARN filings and news articles are joined by company name and date proximity through an internal linkage layer. A filing without corroborating press coverage remains in the dataset but never carries an AI label.

Second, the corroborating article must cite AI as a cause in language that clears a calibrated confidence threshold under a rules-based classifier. Matches below the threshold are logged but excluded from the AI-attributed counts. The classifier looks for causal phrasing — constructions such as "due to AI," "shifting toward automation," or "investing in AI rather than additional headcount" — and rejects mentions that are merely contextual, such as "the company also announced new AI products." Both conditions must hold; either alone is insufficient.

The pipeline consists of four steps:

  1. A WARN filing enters from a state DOL portal.
  2. A news article enters from Hacker News, TechCrunch, Layoffs.fyi, or a comparable source.
  3. A match step joins the two on company name within the configured time window.
  4. A rules-based classifier scores the article's causal language and admits the event only above the confidence threshold.

Every attributed event on the dashboard ships with the source quote that produced its label, so the classifier's decision on any individual event can be inspected in place.

The confidence threshold is set high on purpose. On the current dataset, only a small single-digit percentage of layoff events clear it. That figure is not accidental. The overwhelming majority of layoffs are not AI-driven, and JobShift's function is to identify the ones that provably are rather than to inflate a headline number.

AI hiring: the tier system

Hiring is where the methodology receives the most criticism. When a critic argues that any jobs-market analysis of "AI-related" roles is meaningless because every job now claims some AI dimension, the objection has genuine force. A classifier can only rebut that objection if it is strict enough to reject the claim in practice, not merely in theory.

JobShift's hiring classifier is a two-stage process that assigns every posting to one of three tiers, based on how central AI is to the role.

Strong tier. The role's core function is AI or ML. Representative title: "Senior Machine Learning Engineer, Foundation Models." The title carries a high-signal keyword ("Machine Learning"), the employer appears on a curated list of AI-focused organizations, and the description corroborates both signals. Assigned the highest confidence tier.

Medium tier. AI is the role's primary subject area but not necessarily its sole one. Representative title: "Applied Scientist, Search Ranking." The title uses AI-adjacent terminology, the description references "models" and "training data," and the employer is not on the curated AI-focused list.

Weak tier. Only the description mentions AI. The title does not. Representative case: "Senior Software Engineer" with a job-description line stating "you will collaborate with our ML platform team." Weak-tier signals indicate that the role uses AI as a tool, not that the role's subject is AI itself. The weak tier is excluded from every public count on JobShift.

Headline numbers on the dashboard combine the strong and medium tiers. Stricter-only figures are available in strong-tier form. Looser figures are visible in the classifier's raw output but are never rolled up into headline totals.

Scale of the classified dataset

In a recent 90-day window, the classifier processed tens of thousands of hiring events. Approximately one in four cleared the AI bar after strong- and medium-tier gating, with the remainder classified as either weak tier or unrelated. Live counts refresh continuously on the methodology page as the dataset grows.

Approximately one in four clearing the bar is materially higher than the labor market at large, because the ATS feeds JobShift ingests over-index on tech-sector postings where AI adoption is concentrated. It is materially lower than the fraction of postings that merely mention AI. The gap between "mentions AI" and "is about AI" is what the classifier is engineered to isolate.

Categories of rejection

Four rejection principles apply consistently:

  • The token "AI" appearing in a title alone is insufficient. It must appear adjacent to role-defining context: Engineer, Scientist, Researcher, or similar. A title consisting solely of "AI" carries no signal.
  • Description-only phrases indicating tool use rather than role subject — constructions such as "uses AI tools" or "AI-assisted" — describe the worker's toolkit, not the position's subject matter, and do not qualify.
  • Employers that place AI-related boilerplate on every posting are demoted through a per-employer rule layer. When every listing appears to be an AI role, none of them meaningfully is.
  • A concise negative-keyword list catches obvious false positives: certain marketing-adjacent titles and role names that superficially match AI keywords but describe unrelated work. The list is intentionally short so that borderline titles fall through to the tier system for evaluation rather than being hard-rejected.

Role-family bucketing

Once a posting clears the tier classifier, a second pass maps its title to one of a bounded set of AI role families: ML Engineer, Applied Scientist, Research Scientist, AI Product Manager, AI Hardware / Silicon, Generative AI, Agentic AI, Robotics / Embodied AI, Computer Vision, AI Safety / Alignment, MLOps / AI Infrastructure, Data Engineer (AI), AI Software Engineer, AI Operations, Recruiting / Talent, Corporate Operations, and others. The bucketer powers the role leaderboard.

The bucketer uses ordered priority rather than majority vote. A title such as "Senior AI Safety Engineer" matches both the AI Safety bucket and the generic AI Engineer bucket; the more specific entry wins because specific buckets are evaluated before generic ones. This ordering surfaces meaningful role families on the leaderboard instead of catch-all categories.

Back-office hires are included. Recruiting / Talent and Corporate Operations appear on the leaderboard alongside the technical buckets. These roles reflect the fact that the AI build-out hires more than engineers, and omitting them would understate the labor-market footprint.

A substantial minority of AI-tagged titles do not match any defined bucket. Those are treated as one-off titles and unique role names. They contribute to the total AI hiring count but never appear as a leaderboard row, because a generic "Other AI" bucket would always rank first by volume and communicate nothing informative.

Growth ranking applies a small-sample noise filter. Buckets must clear a minimum-volume threshold before they are eligible to appear on growth-ranked views. Without the filter, a bucket moving from 1 to 8 events would register as +700% growth and crowd out genuine signal.

Documented limitations

Three limitations of the methodology, all substantive:

Attribution is press-dependent. A layoff at a company with no media coverage cannot receive an AI label under JobShift's rules, even if the internal cause was AI adoption. Smaller companies and industries outside tech-press attention are undercounted for AI causation. The underlying layoff is still captured through WARN; only the causal label is unavailable.

Hiring is skewed by source availability. The ATS feeds JobShift ingests over-index on employers that publish structured job data (Greenhouse, Ashby, Workable, and similar). Retail, hospitality, and government hiring are undercounted. On a per-role basis, AI-role density is a meaningful signal. On absolute headcount across the total economy, the reported figure represents a lower bound.

Classifier drift is real. Job titles evolve. "Prompt Engineer" was rare two years ago and is mainstream today. "AI Software Engineer" is on a similar trajectory. The classifier's keyword dictionaries require periodic review, and that review process is currently manual and irregular.

Public accountability

The dashboard numbers are reproducible from the classifier logic that generates them. Live counts, tier thresholds, and rejection rules are surfaced on the methodology page. Every AI-attributed layoff carries the source quote that produced the label; every AI-classified role shows the tier and reasoning path that produced the classification.

Reports of specific misclassifications — cases the classifier should catch but does not, or cases it catches that it should not — can be submitted through the contact form. Individual corrections improve the tuning; systematic patterns of error inform future revisions of the underlying rules.

Drill-down · press ESC or click outside to close