RefolkCandidates
TeardownReading the market

The Layoff-Risk Read, One Employer From WARN Filings to a Verdict

You can pull one employer's WARN trail across states, dedupe the waves, corroborate it, and reach a documented apply, watch, or avoid verdict.

17 min readLast reviewed October 6, 2026Read as Markdown

Before you send an application to a company, or sign the offer it sends back, work out whether it is about to cut staff. This guide is for job seekers deciding where to aim and whether a specific employer is safe to join, and it carries one real target through the one public dataset built for advance warning of mass cuts: the WARN record. You will finish able to pull an employer's layoff-notice trail across states, count what actually matters, corroborate it with a few non-WARN signals, and write down an apply, watch, or avoid verdict with the numbers that drove it.

Every generic stability checklist tells you to read the 10-K, scan Glassdoor, and ask in the interview. None of them touch the one dataset the federal government built to warn workers in advance. This does, end to end, including the dead ends.

What WARN is, and the thresholds that decide whether a cut even appears

WARN is the federal Worker Adjustment and Retraining Notification Act, effective February 4, 1989, which requires covered employers to give 60 days' notice before a plant closing or mass layoff. That one sentence hides the thing that matters most to you: the thresholds are high, so a lot of real layoffs never generate a notice at all.

Federal WARN covers employers with 100 or more employees, excluding part-time workers. The event has to clear a trigger to count:

  • A mass layoff that affects 50 or more workers at a single site, where that is at least a third of the workforce there.
  • Or 500 or more workers at a single site, regardless of percentage.

Several states set stricter rules, and those are the ones that catch cuts federal WARN would miss. Fourteen states plus DC add their own obligation through lower thresholds, longer notice periods, or severance. The ones you will meet most often:

JurisdictionEmployer thresholdWorker triggerNotice
Federal10050 (if at least 33%) or 50060 days
California7550 (no 33% rule)60 days
New York502590 days
New Jersey1005090 days plus severance

Read the trigger column carefully. In California a 50-worker cut counts even if it is a small share of the site, because there is no 33% rule. In New York, 25 affected workers at a 50-person employer trips the notice, and the notice runs 90 days. If your target has a New York or California footprint, those states will surface events that a federal-only read would never see.

Why an empty WARN record is not the same as "safe"

An empty WARN record is often a coverage artifact, not evidence of stability. Three structural gaps mean real layoffs routinely leave no public notice, and reading silence as safety is the most common way this analysis goes wrong.

First, the thresholds exclude distributed and sub-threshold cuts by design. A company can lay off 49 people at a location, or cut 400 out of a 5,000-person site, well under a third, and owe no federal notice at all. The law was built for factory-town closures, not the rolling, distributed layoffs common today.

Second, remote work blurs the trigger. WARN counts losses at a single site of employment. When a workforce is spread across many states, it can be genuinely unclear that any single site hit the threshold, so no notice files anywhere.

Third, coverage is not universal. Of the states, 47 plus DC publish WARN notices; Arkansas, Wyoming, and New Hampshire do not. A target headquartered or concentrated there looks clean by default because nothing is published, not because nothing happened. Temporary layoffs of six months or less are also not an "employment loss" and may never appear.

47 + DC
States that publish WARN notices
Arkansas, Wyoming, and New Hampshire publish nothing, so a target there reads clean by default.

The practical consequence: WARN is your spine, not your whole skeleton. You will corroborate every finding, and every absence, with an independent signal before you trust it.

How the pieces fit: the read from footprint to verdict

The analysis is a funnel. You start with every site the employer runs, narrow to the states that publish, narrow again to filings that name your company, and narrow once more to distinct events in the trailing 12 months. Each narrowing is a place the trail can go cold or mislead.

From footprint to countable events

  1. Sites in all states
    all

    your employer's real footprint

  2. States that publish
    47 + DC

    AR, WY, NH drop out

  3. Filings naming the company
    matches

    subsidiaries and DBAs hide here

  4. Distinct events, trailing 12 months
    the number

    dedupe collapses waves

Each stage drops rows, and each drop is a place the read can mislead if you are not watching.

The output of the funnel is three numbers: total affected workers, count of distinct filings, and months since the last filing. Those three, plus corroboration, drive the verdict. Everything in the procedure below exists to produce them cleanly.

Run the read: seven steps on one target

Fix the target, pull every state, normalise, dedupe, count, corroborate, and decide. The procedure below is the whole method; run it on your own employer as you read.

The layoff-risk read, start to verdict

  1. Fix the target and its real footprint
    List every state where the employer operates a site, including subsidiaries, DBAs, and acquired brands. Done when you have a site-and-state list that will drive the state-by-state pull.
  2. Pull each state's WARN list
    Search each publishing state's list by business name; 47 states and DC publish, while AR, WY, and NH do not. Done when every relevant state has been checked and rows saved with notice date, effective date, count, and type.
  3. Normalise the rows
    Standardise company name variants, city, and worker count so every row shares one schema. Done when all rows read as company, state, city, employees, type, notice date, effective date.
  4. Dedupe waves within the 90-day window
    Collapse multi-wave filings that describe one event and keep genuinely separate events apart, using the 90-day aggregation rule. Done when each surviving row is one distinct event.
  5. Count what matters over the trailing 12 months
    Sum affected workers, count distinct filings, and note cadence as one-off versus repeat filer. Done when you have a total affected number, a filing count, and months since the last filing.
  6. Corroborate with non-WARN signals
    Run EDGAR full-text search on the parent for "substantial doubt" near "going concern" and recent 8-K restructuring items, and check hiring-freeze signals. Done when each WARN finding is confirmed or contradicted by at least one independent signal.
  7. Reach a documented verdict
    Apply your stated apply, watch, or avoid rule to the trailing-12-month counts plus corroboration. Done when the verdict names the specific numbers that drove it.

Step 1 and 2 in practice: where to search and what to save

There is no national one-stop WARN file, so you search state by state. New York runs a searchable dashboard, filterable by business name, year, industry, region, and county, with a PDF download of each notice. Texas publishes an open dataset with notice-date and job-site columns. Washington's database carries the fields you want on every state: employer name and locations, the date the layoff takes effect, number of affected workers, whether it is a layoff or closure, whether permanent or temporary, and the date the notice was received. California's EDD runs a WARN and layoff services page.

Save every hit with those fields. A screenshot plus a typed row protects you when a state later changes its page.

Step 4 in practice: the 90-day window is your dedupe tool

The anti-evasion rule in WARN is also your dedupe logic. Employers cannot sidestep the law by spacing out rounds: job losses for two or more groups within any 90-day period count together unless the employer shows the losses were separate and distinct actions and causes. So when you see several filings for one city inside 90 days, the default is that they are one event.

This is where sources disagree, and where you make a judgement call. A conservative reader merges near-in-time groups; an aggressive reader splits them. The honest move is to count it both ways and note which you used.

Merge or split a cluster of filings

Outside 90 daysInside 90 days
Same site, inside 90 days
Merge; treat as one event unless the notice states a separate cause
Different sites, inside 90 days
Judgement call; merge if one program, split if distinct causes
Same site, outside 90 days
Split; count as two events and note the gap
Different sites, outside 90 days
Split; two distinct events in your 12-month count
Same city and siteDifferent cities and sites
The two axes that decide whether near-in-time filings are one event or several.

Step 5 in practice: cadence beats a single big number

Counting distinct events over 12 months reads risk better than any single headline count, because a rising cadence signals an ongoing program. In the New Jersey 2025 archive, Bristol Myers Squibb in Lawrence Township filed repeatedly: 67, then 223 across waves, then 516. A reader who tallied every wave separately would report 806 and panic; a reader who collapsed the waves within the window would report distinct events and see the real shape, which is a program escalating over months.

A rising cadence of distinct events over twelve months tells you more than any single headline layoff number ever will.

Corroborate: the non-WARN signals that confirm or kill a finding

Confirm or contradict every WARN finding with at least one independent signal before you trust it, because WARN alone has too many blind spots to stand on its own. The most useful signal is auditor language in SEC filings, retrieved through EDGAR full-text search.

EDGAR full-text search indexes the complete text of every filing disseminated since 2001. Search "going concern" in quotes and you will find the phrase auditors use when a company might not survive the year. But the bare phrase appears in boilerplate and in accounting-standard definitions across thousands of healthy filings, so a naive keyword count over-flags badly. Isolate the real signal with proximity:

EDGAR full-text query for auditor survival doubt
"substantial doubt" NEAR(5) "going concern"

Run on EDGAR full-text search; filter form type to 10-K and 10-Q. Replace nothing except the company name field in the interface.

That construction catches the auditor's actual survival-doubt opinion and skips the boilerplate. Beyond auditor language, three other signals corroborate a WARN finding or fill a coverage gap:

  • Restructuring charges in 8-Ks. A company reporting a restructuring charge is cutting, whether or not any single site tripped WARN.
  • Hiring-freeze signals. Pulled job requisitions and a shrinking recruiter headcount point to a freeze. A thin or declining talent-acquisition team is a quiet tell.
  • Aggregate trackers. Independent trackers catch sub-WARN and distributed rounds that the state records miss entirely.

A shrinking recruiting team is one of the earliest tells, and it is a people question, not a filings question. Refolk answers it directly: you describe the people you want to find and get back a list, so you can see who is actually still recruiting at your target rather than inferring it from pulled job posts.

Size your target against the market, and read the backdrop

A single employer's count means little until you size it against its sector, because the same WARN silence reassures you more in a contracting industry than in a growing one. Pull the aggregate benchmark and read your target against it.

MeasureValueSource
All-industry cuts, Jan-Jul477,033 (down 41% year on year)Challenger, Gray & Christmas
Tech cuts, Jan-Jul149,023 (31% of total)Challenger, Gray & Christmas
Tech cuts, to Sept 10128,536 across 299 firmslayoffs.fyi

The backdrop inverts the usual read. All-industry announced cuts fell 41% through July to 477,033, yet technology led every sector at 149,023, or 31% of the total. In a year when overall cuts are falling, a tech employer's clean WARN record is weaker reassurance than the same silence in a sector that is contracting across the board. When the industry is rising as a share of all cuts, you treat an absence of notices as unproven, not as proof.

477,033
All-industry announced cuts, January to July
Down 41% year on year, yet tech rose to 31% of that total; read your target against its sector, not the aggregate.

How this read goes wrong: eight failure modes and their checks

This is the section that earns the guide. Each failure mode below produces a confident but wrong verdict, and each has a specific check that catches it. Run the checks before you decide.

Failure modeThe false positive it createsThe check
Multi-wave double-countingA 516-worker event tallied as 806Match city plus event window before summing
Subsidiary name mismatch"Clean record" that is really hiddenSearch parent, subsidiaries, acquired brands in every state
Remote-site blind spotEmpty history reads as safeCorroborate with EDGAR restructuring language and trackers
Below-threshold cutsSilence from a 49- or 400-worker roundCheck trackers and news for sub-WARN rounds
Stale filing read as currentAvoiding a company that already stabilisedEnforce a trailing-12-month window, note months since last
"Going concern" false alarmFlagging a healthy boilerplate filerUse "substantial doubt" NEAR(5) "going concern" in 10-K/10-Q

Two of these deserve extra weight because they produce opposite errors.

Double-counting inflates risk. The Bristol Myers Squibb waves are the canonical trap: one program, filed as several effective-date waves, tallied naively, turns a real 516 into a phantom 806. Always collapse by city and event window first.

Coverage gaps hide risk. The remote-site blind spot, below-threshold cuts, and the Arkansas, Wyoming, and New Hampshire publishing gap all produce the same false positive: an empty record that reads as safety. The check is the same in each case, which is that you never let an absence stand alone. Corroborate with EDGAR and trackers before you call a quiet record clean.

One more, specific to furloughs: a temporary layoff of six months or less is not an employment loss, so it may not appear at all. Confirm the permanence and type field on every row before you count it as a permanent cut.

If the verdict is avoid: where to aim and what to retrain into

If your read says avoid, or if you are already displaced, the next question is where to point yourself, and supply density is a number you can check rather than guess. Retraining into a scarce skill means less competition per opening, and the scarcity is measurable.

In Refolk's index of professional profiles, the supply of engineers by skill and geography looks like this:

SegmentCount in Refolk's indexDerived multiple
React, US5,3901.0x (baseline)
Rust, US5980.11x (9x scarcer)
React, Germany4140.08x vs US (13x gap)

Read it two ways. By skill, 5,390 US engineers list React against 598 for Rust, so a displaced React engineer faces roughly 9x the competition a Rust engineer does for the same kind of role. The mechanism is supply density per opening, and it is why "retrain into something scarce" is concrete advice, not a platitude. The top current employers of Rust-skilled US engineers in the index are led by Meta and Google, which tells you where the scarce skill is actually concentrated.

By geography, React runs roughly 13x denser in the US (5,390) than in Germany (414). So where you aim is as much a supply-side bet as a layoff-risk bet. A skill that is crowded in one market can be scarce in another.

~9x
How much scarcer Rust is than React among US engineers
598 Rust versus 5,390 React in Refolk's index, which maps directly onto competition per opening.

Refolk also lets you size the competition directly rather than infer it from skill counts: you can ask for the specific pool of displaced engineers you would be competing against and read the real number back.

Verify before you call it: the pre-verdict checklist

Before you write apply, watch, or avoid, confirm the read is complete and the numbers are clean. A verdict that cannot name the numbers behind it is a guess.

Pre-verdict checklist

  • Every state with a company site has been searched by business name, including non-publishing states flagged as gaps.
  • Subsidiaries, DBAs, and acquired brands were searched separately, not just the parent name.
  • Multi-wave filings were collapsed by city and event window, and you noted whether you merged or split borderline clusters.
  • You have three numbers: total affected, count of distinct filings, and months since the last filing.
  • Only events inside the trailing 12 months count toward the live signal; older ones are noted but set aside.
  • Each WARN finding, and each notable absence, is confirmed or contradicted by at least one independent signal.
  • The EDGAR check used "substantial doubt" near "going concern" in 10-K/10-Q, not the bare phrase.
  • The written verdict names the specific numbers that drove it.

Your apply, watch, or avoid thresholds are your own, and you should say so in the verdict. No authority publishes an affected-to-total ratio or a recency cutoff that decides this for you. The publicly load-bearing facts are the 33%-of-site and 500-worker federal triggers and the 90-day aggregation window; everything past that is interpretation. State your rule in plain terms, something like "avoid if two or more distinct events in the trailing 12 months plus any corroborating restructuring charge", and then apply it consistently. The discipline is not the exact cutoff. It is that the verdict is reproducible and names its inputs.

Keeping the read current

A layoff-risk read is a snapshot, and the thing it measures moves. The single most important maintenance habit is the trailing-12-month window: re-run the state pulls on a target you are still courting, because a notice that was 11 months old when you first looked may now be outside the window, or a fresh one may have landed. Re-run the EDGAR proximity query the same way, since 10-Qs post quarterly and a new "substantial doubt" paragraph is the fastest-moving hard signal you have.

Treat the market backdrop as a dial, not a constant. The aggregate cut totals and the tech share of them shift every month, so the question "does WARN silence reassure me here" has to be re-asked against current benchmarks rather than the last number you saw. The mechanism is stable even when the figures are not: read a single employer against its sector, and weight silence down when the sector is a rising share of cuts. If you keep the window honest and the backdrop fresh, the same seven steps give you a current verdict every time you run them.

Questions job seekers ask

How do I check if a company is about to do layoffs before I apply?

Start with the public WARN record. Pull the target employer's layoff notices from each state where it has sites, 47 states and DC publish them, then count distinct events over the trailing 12 months and note the cadence. Corroborate with an EDGAR full-text search for auditor survival-doubt language and a scan of aggregate layoff trackers. No single signal is decisive, but a repeat-filer trail plus restructuring charges is a strong avoid.

What does WARN not cover, and why can a clean record still be risky?

WARN only triggers at 50 affected workers if that is a third of a single site, or at 500 regardless. A company can cut 49 at one location, or 400 out of a 5,000-person site, and owe nothing. Distributed remote cuts rarely cross any single-site threshold, and Arkansas, Wyoming, and New Hampshire publish no notices at all. So an empty WARN record is often a coverage gap rather than evidence of stability.

How do I avoid double-counting layoffs when one event files as several waves?

Use the 90-day aggregation rule. Job losses for two or more groups within any 90-day period count as one event unless the employer shows they were separate and distinct actions. In practice, match city plus the same event window before summing. Bristol Myers Squibb's New Jersey filings of 67, then 223, then 516 show how one program reads as several waves; a careless tally turns 516 into 806.

Is EDGAR enough to tell if a company is financially stable before I accept an offer?

It is one input, not a verdict. Run an EDGAR full-text search for "substantial doubt" within five words of "going concern", filtered to 10-K and 10-Q, to find the auditor's actual survival-doubt opinion. The bare phrase "going concern" appears in boilerplate across thousands of filings, so a naive keyword hit over-flags healthy companies. Pair it with the WARN count and recent 8-K restructuring charges before you decide.

Where do I find a company's WARN filings for free?

Each state labor department publishes its own list. New York offers a searchable dashboard filterable by business name, year, industry, and county with PDF downloads. Texas and Washington publish open datasets with notice date, job site, and affected-worker fields. California's EDD runs a WARN and layoff services page. There is no national one-stop file, so you search each relevant state separately by business name.

Put this to work

Paste your career in once. Every application after that is written for you.

Drop a resume or a LinkedIn URL. I rank the live openings against it, rewrite the resume and write a cover letter for the best of them, and fill in the employer's form when you press the button. You read, you decide what goes out.

  1. 01Drop your resume

    A PDF or a LinkedIn URL. About a minute, once.

  2. 02I rank the openings

    Every weekday morning, the live catalog scored against your history. Up to 20 worth your time, not two hundred links.

  3. 03Each one is written up

    Resume rewritten for the posting, a cover letter, a fit score. Press send, or let me fill in the form.

  • New matches ranked and written before you are up.
  • Every bullet stays inside what your history supports. Nothing invented.
  • Queued, submitted, interviewing, offer: one screen, not a spreadsheet.

500 free credits on sign-up. No card. Nothing is sent until you say so.

Read next