Skip to main content

Methodology

How these numbers are computed

On one day in August 2026, public PERM tools reported the same headline figure as anywhere from 335 to 503 days, while DOL's own published average was 372.

One number, six answers

Readings taken 2026-08-24, all describing average PERM processing time. Most of the spread has a mechanical cause.

Source Reported
DOL's own published average 372 days
Crowd-sourced tracker 335 days
Queue estimator A 387 days
Queue estimator B 462-480 days
Analytics site 467 days
Stale calculator (March data) 503 days

Four causes account for nearly all of it. A tool can measure cases decided recently or cases filed in a month, and those are different populations. It can include audited cases or set them aside. It can run on this quarter's data or on a file from March. And a tool built on crowd reports measures its own users rather than the queue. None of these choices is wrong on its own. What matters is saying which one produced the number.

What our figures are

Seal of the US Department of Labor

DOL FLAG processing times

Source

Queue positions and average days, the figures on the processing times page.

Checked weekly. A new snapshot is stored only when the figures change.

Seal of the US Department of Labor

DOL PERM disclosure files

Source

Case-level decisions, the basis of the timeline calculator's cohort record. The files are unioned and de-duplicated by case number.

Quarterly, when DOL publishes.

Seal of the US Department of Homeland Security

USCIS I-140 quarterly counts

Source

Pending and completed petitions by category, the I-140 calculator's queue.

Quarterly, when USCIS publishes.

Seal of the US Department of State

State Department visa bulletin

Source

Employment-based cutoff dates. The live page refuses automated readers, so our series comes from the Internet Archive and lags the current month. That’s why the priority date calculator is framed as a history.

Monthly.

Every figure, traced

Most of these run over the same corpus: 373,939 unique cases from FY2026_Q3 + FY2025_Q4 + New_Form_FY2024_Q4 + FY2024_Q4, unioned and de-duplicated by case number. Where a figure needs a rule that isn't obvious, the rule is here rather than in a footnote on the page that uses it.

Analyst review queue month

Processing times

No computation. The value DOL prints in that row, with the date DOL attached to it. Where DOL prints a dash, the page says so instead of substituting anything.

Counted over DOL's published snapshot, read weekly and kept, since DOL overwrites its own.

Average days to a determination

Processing times

DOL's own figure, unmodified. It describes cases DOL finished in the reported month, so it looks backwards and includes audited cases that ran long.

Counted over Determinations issued in the month DOL names.

Queue advance rate

Processing times

For each month of determinations, the filing month at their median; then the change in filing month divided by the change in calendar month. The range comes from rolling three-month windows, because adjacent months are lumpy enough to produce rates of 0 and 2.0 that describe scheduling rather than pace.

Counted over Every decided case in the unioned disclosure files. DOL publishes today's position and keeps no archive, so this cannot be read from DOL at all.

Decisions per month

Processing times

A count of determinations by the month DOL issued them.

Counted over Every decided case in the unioned files. Lags the weekly queue page by a quarter.

Denial rate

Denial rates

Denied divided by decided, where decided is certified plus denied. Withdrawn cases sit on neither side: a withdrawal is neither an approval nor a refusal, and putting it in either place moves the rate.

Counted over Decided cases only. Pending cases are absent from these files entirely.

Share of denials

Denial rates

A group's denials divided by every denial in the corpus. Published next to the rate rather than instead of it, and never multiplied together into an expected count.

Counted over The same decided cases the rate runs over.

95% range on a rate

Denial rates

A Wilson score interval on the denied count over the decided count. It's asymmetric near zero, which a plain plus-or-minus is not, and near zero is where most of these rates sit.

Counted over That group's decided cases. Groups under the population floor carry no rate at all.

Filing concentration by state

By state

A state's biggest occupation or employer divided by its total filings. Occupations are grouped on the SOC code without its O*NET suffix, and employers on the slug rather than the spelling, because DOL writes the same firm and the same job several ways.

Counted over Every case with a worksite state, decided or withdrawn. It's a share of a census, so it needs no population floor; the counts are printed beside every bar.

Median wage and wage percentiles

Wages

The offered wage annualised through its unit of pay, then kept only between $15,000 and $1,000,000. Outside that band a value is a data-entry artefact, most often an hourly rate recorded as an annual one.

Counted over Certified cases only. A denied case's offered wage is what an employer proposed and DOL rejected, which is not what the job pays. Cells with fewer than 50 wages carry no percentiles.

Median days to a decision

By state

The median of decision date minus received date.

Counted over Decided cases in that group. DOL works one national queue, so this barely moves by state.

Cases pending, by filing month

Live queue

A count of cases whose status is not final. Pending is read off the case's own final flag, never off a list of status names: sixteen statuses appear in the data and a hardcoded list silently mis-buckets the next one DOL adds.

Counted over A per-case scan of DOL's case-status pages, refreshed on a rolling basis. A different source from the quarterly files, which contain no pending cases at all.

Requests ahead of yours in the wage queue

Prevailing wage queue

A running total of DOL's published pending counts from the oldest receipt month to yours. Arithmetic on DOL's own figures, with no rate applied.

Counted over Pending prevailing-wage requests as of DOL's stated date.

Every PERM deadline

Deadlines

20 CFR 656 arithmetic, not an estimate. The filing window closes at the earlier of 180 days after the first recruitment step and the wage determination's expiry, and the tool says which one applied.

Counted over Your dates only. Nothing about anyone else's case enters it.

Applications ahead of a priority date

I-485 queue position

USCIS suppresses its smallest counts, so a total built from published cells has a known floor and an unknown remainder. The answer is a floor and a ceiling, never a point.

Counted over USCIS's published employment-based adjustment inventory.

Visa bulletin cutoff history

Priority dates

Parsed from the published charts. A cell reading C means the category was open to every priority date and U means it was shut to all of them; those are opposites, so they are drawn as different states rather than one shaded band.

Counted over Employment-based charts only, read from the Internet Archive because the live site refuses automated readers. It lags the current month, which is why it is framed as a history.

What we refuse to publish

  • A single blended estimate. Each calculator shows every model its data supports, labelled, and lets them disagree.
  • Medians over immature cohorts. A month whose only decided cases are instant withdrawals has a median of one day.
  • Stages nobody can measure. Where a wait depends on visa-number availability, the timeline says so instead of inventing a figure.
  • Undated numbers. Every figure carries the date of the data behind it.

See it applied

The calculators put all of this into practice.

Open the calculators

Case data: DOL quarterly disclosure files (flag.dol.gov) · data through Jun 30, 2026 · quarterly

Processing times: DOL FLAG (flag.dol.gov/processingtimes) · data through Aug 28, 2026 · daily

Per-case statuses: flag.dol.gov/recaptcha/caseStatus (DOL, direct) · data through Sep 1, 2026 · daily

Visa bulletin: State Dept via Internet Archive; gaps via permtrack.app mirror · data through Sep 2026 · monthly

I-485 pending inventory: USCIS employment-based I-485 inventory (uscis.gov) · data through Aug 5, 2026 · monthly

I-140 filings by category: USCIS Form I-140 by Fiscal Year, Quarter and Case Status (uscis.gov) · data through 2026Q2 · quarterly