County intelligence

Hennepin County

Minnesota (MN) · FIPS 27053 · 6,606 employers · 65,664 filings with wage data

Employers in Hennepin, MN filed 71,513 certified H-1B applications requesting 148,686 workers across 6,462 companies. The median offered wage is $81,536/yr. The largest filers are Wipro Limited, Tata Consultancy Services Limited and Cognizant Technology Solutions U.S. Corporation. The displacement model assigns 184.5K worker-equivalent exposures to these filings. Separately, 1,395 layoffs appear in matched WARN notices.

Source import recorded Sep 2, 2026

What the local records contain / DOL & WARN

What XH1B calculates / Local wage comparisons

How to read the wage comparison

County averages mix occupations and years. Offered wages and the latest available national BLS occupation medians are averaged separately over available records, so their populations can differ. This is a screening comparison, not a comparison of matched filings or a finding about an individual wage.

Definitions & methodology ↗

Filings & wages

Annual filing records and a county-level wage comparison.

Filing history

Annual DOL filing records. Workers requested are not confirmed hires.

02K4K6K8K10K12K14K16Kpeak 6K (2019)2007: 411 filings (733 workers)2008: 2,593 filings (8,748 workers)2009: 1,597 filings (4,960 workers)2010: 758 filings (3,130 workers)2011: 3,697 filings (10,943 workers)2012: 3,685 filings (13,866 workers)2013: 3,431 filings (12,382 workers)2014: 1,124 filings (2,809 workers)2015: 6,110 filings (16,104 workers)2016: 5,972 filings (13,153 workers)2017: 5,858 filings (13,073 workers)2018: 6,392 filings (10,214 workers)2019: 6,464 filings (8,423 workers)2020: 4,792 filings (6,190 workers)2021: 4,848 filings (6,691 workers)2022: 4,480 filings (5,789 workers)2023: 3,864 filings (5,415 workers)2024: 3,740 filings (4,693 workers)2025: 3,307 filings (4,026 workers)2026: 639 filings (961 workers)200720082009201020112012201320142015201620172018201920202021202220232024202520262007: 733 workers2008: 8,748 workers2009: 4,960 workers2010: 3,130 workers2011: 10,943 workers2012: 13,866 workers2013: 12,382 workers2014: 2,809 workers2015: 16,104 workers2016: 13,153 workers2017: 13,073 workers2018: 10,214 workers2019: 8,423 workers2020: 6,190 workers2021: 6,691 workers2022: 5,789 workers2023: 5,415 workers2024: 4,693 workers2025: 4,026 workers2026: 961 workersfilings
filingsworkers (scaled)
Inspect filing outcomes All available years and DOL statuses

Certified, denied, and withdrawn counts describe application decisions. They do not measure visas issued or workers hired.

Offered-wage distribution

Percentiles across 63,610 positive year-unit LCA offers, all outcomes and visa classes.

$54,738$73,813$92,889$111,965$131,040$81,536annual wage

Application outcomes all available years

  • Certified70,042 · 96.9%
  • Denied794 · 1.1%
  • Withdrawn1,455 · 2.0%
How this distribution is built Year-unit offers, all outcomes and visa classes

The distribution covers positive offers with wage unit Year, across all outcomes and visa classes. It differs from the certified H-1B summary cohort. It does not adjust for occupation, employer, or worksite mix.

Downstream impact

Conditional effects of this county's modeled displacement exposure.

Americans displaced (modeled estimate)

184,492

The math
Base (1 per certified worker)
+148,686
Wage-gap multiplier

51956 of 71513 filings below BLS median

+34,411
WARN layoffs (government-reported)

2 notices filed

+1,395
Total184,492

Σ workers×(1+wage_gap) + Σ WARN layoffs. The 1.0 base rate per certified H-1B worker request is a site model assumption. Wage gap multiplier = (BLS median − offered wage) / BLS median, applied only to filings offering less than the BLS median. Related research provides context, not validation of these exact coefficients. This is a modeled estimate, not a count of actual displacements. WARN layoff counts are government-reported.

Exposure method v1.2 · This is a modeled worker-equivalent count.

Modeled consequence estimates

Conditional impacts associated with modeled displacement

Explore Hennepin County’s scenarioEarnings · children · health · adjust the worker count

These are conditional population estimates scaled from Hennepin County's current modeled displacement count. They are not observed outcomes, a prediction about any person, or evidence that this entity caused displacement.

Exposure method v1.2 (stored with this aggregate) · benchmarked to the latest BLS survey. Consequence parameters v1.54; build v1.54+engine0.4.1+d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed+national-reference1

Excess deaths over 20 years

Illustrative reference calculation · population applicability is not established

5,305.77

Range: 2,077.81 to 9,242.26

20-year reference scenario: high-seniority male displacement effect. This is not an expected count for an unknown population.

Source-profile mortality point (deaths)
5,305.76680114
No sustained excess from year 7 (deaths)
3,786.40231301

Declared structural comparison; not a confidence interval or a model probability.

Baseline population: US prime-age men (45-54).

Child lifetime earnings lost

Illustrative reference calculation · population applicability is not established

$88.4B

Range: $22.9B to $149.2B

Canadian father–son firm-closure effect, applied to a US male lifetime-earnings baseline in 2024 dollars. The reference result uses 2 children per worker.

Baseline population: US male median lifetime earnings.

The mortality effect comes from a high-seniority male study cohort. Treat the count as a reference scenario unless the population matches. A mixed population needs a reviewed transport rule.

The range is the engine's parameter-support envelope: it varies declared parameters only and adds none of the exposure input's uncertainty.

The math, limits, and citations

Illustrative reference calculation scaled by the supplied worker-equivalent exposure. Two children per worker; 20-year mortality follow-up. This does not establish that an entity caused these outcomes.

Input SHA-256: a771d456f24b73ab4a27e51e83ec07640a0d93114d4ffc968aae925e700d843d

Excess deaths over 20 years: {"status":"illustrative_reference_calculation","eligible_for_public_headline":false,"target_population":null,"decision":null,"transport_assumptions":["high-tenure male mass-layoff cohort, ages 45–54","Pennsylvania early-1980s response transported to target place and calendar time","fixed baseline age rate over follow-up; cohort aging is not modeled"],"reason":"Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."}

Child lifetime earnings lost: {"status":"illustrative_reference_calculation","eligible_for_public_headline":false,"target_population":null,"decision":null,"transport_assumptions":["Canadian father-son firm-closure estimate transported to the target families","US male synthetic career earnings convert a relative adult earnings effect to dollars","lifetime dollars are undiscounted; this is not an annual loss"],"reason":"Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."}

Projection eligibility: {"child":{"status":"direct_estimate","eligible_for_validated_direct_contrast":true,"reason":"direct displacement-to-child adult earnings estimate; transport still requires an applicability decision"},"grandchild":{"status":"structural_projection","eligible_for_validated_direct_contrast":false,"reason":"combines a direct child estimate with an intergenerational persistence assumption; not an identified displacement intervention effect"},"greatgrandchild":{"status":"source_withdrawn","eligible_for_validated_direct_contrast":false,"reason":"source withdrawn for grandchild_earnings->greatgrandchild_earnings: The source measures earnings for three generations and education for four. It does not estimate .55 causal gap transmission to a fourth earnings generation. Retaining a projection would require an explicit uncalibrated assumption, not a source-identified default."}}

Exposure source: {"source":"one-worker normalized reference input","method":"scale by the stored warehouse worker-equivalent exposure at read time"}

Exact values: excess deaths over 20 years 5,305.76680114 (range 2,077.8060675 to 9,242.25819033); child lifetime earnings lost $88,352,310,050.47 (range $22,948,651,961.16 to $149,166,237,747.55);

The displayed range is a parameter-support envelope, not a confidence interval.

Place reference: national reference.

Not included: exposure estimation error; baseline estimation error; unmodeled pathways.

Blocked model paths: local_service_jobs_lost: requires a documented net local loss of tradable jobs; worker displacement alone is not this exposure.

  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_peak; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_offset_1; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_offsets_2_3; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_offsets_4_5; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Excess deaths over 20 years: sullivan2009 (earnings_shock->mortality_sustained; canonical) Study population: US high-seniority displaced men born 1930-1959.
  • Child lifetime earnings lost: oreopoulos2008 (displacement->child_earnings; EXACT) Study population: Canada 39k father-son pairs firm closures.
Scenario assumptions, sensitivity and source records

Outcome statistics use the displayed exposure. Baselines, coefficients, annual family schedules and component records retain their source normalization.

{
  "displayed_workers": 184492.396,
  "source_normalization_workers": 1,
  "applicability": {
    "excess_deaths": {
      "status": "illustrative_reference_calculation",
      "eligible_for_public_headline": false,
      "target_population": null,
      "decision": null,
      "transport_assumptions": [
        "high-tenure male mass-layoff cohort, ages 45–54",
        "Pennsylvania early-1980s response transported to target place and calendar time",
        "fixed baseline age rate over follow-up; cohort aging is not modeled"
      ],
      "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
    },
    "child_lifetime_earnings_lost_usd": {
      "status": "illustrative_reference_calculation",
      "eligible_for_public_headline": false,
      "target_population": null,
      "decision": null,
      "transport_assumptions": [
        "Canadian father-son firm-closure estimate transported to the target families",
        "US male synthetic career earnings convert a relative adult earnings effect to dollars",
        "lifetime dollars are undiscounted; this is not an annual loss"
      ],
      "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
    }
  },
  "target_population": null,
  "projection_eligibility": {
    "child": {
      "status": "direct_estimate",
      "eligible_for_validated_direct_contrast": true,
      "reason": "direct displacement-to-child adult earnings estimate; transport still requires an applicability decision"
    },
    "grandchild": {
      "status": "structural_projection",
      "eligible_for_validated_direct_contrast": false,
      "reason": "combines a direct child estimate with an intergenerational persistence assumption; not an identified displacement intervention effect"
    },
    "greatgrandchild": {
      "status": "source_withdrawn",
      "eligible_for_validated_direct_contrast": false,
      "reason": "source withdrawn for grandchild_earnings->greatgrandchild_earnings: The source measures earnings for three generations and education for four. It does not estimate .55 causal gap transmission to a fourth earnings generation. Retaining a projection would require an explicit uncalibrated assumption, not a source-identified default."
    }
  },
  "child_applicability": {
    "source": "oreopoulos2008",
    "source_age_at_displacement": [
      10,
      14
    ],
    "source_child_sex": "Male",
    "source_parent_sex": "Male",
    "source_geography": "Canada",
    "source_event": "father firm closure 1980-1982",
    "target_child_profiles": null,
    "incompatible_children": [],
    "unknown_children": [],
    "source_income_quartile": null,
    "income_rank_definition": null,
    "eligible_for_reviewed_transport": false,
    "status": "unknown",
    "limitations": [
      "No response curve across child ages is identified by this narrow cohort.",
      "Income groups refer to father's average pre-displacement income in 1978-1979; target rank mapping requires a transport argument.",
      "A subgroup's nonsignificant coefficient is retained with its uncertainty, not replaced with zero."
    ]
  },
  "child_valuation": null,
  "assumptions": {
    "mortality_method": "odds_survival",
    "mortality_timing": "Source-offset profile: displacement, +1, +2–3, +4–5, and +6+; displacement is follow-up year 1, so offset +6 begins in follow-up year 7. Annual baseline rates use a constant-hazard rate-to-risk conversion; odds ratios modify annual risk, and survival compounds across phases. The selected baseline age rate is held fixed over the follow-up horizon.",
    "mortality_contract": {
      "method": "odds_survival",
      "timing": "source_profile",
      "baseline_conversion": "1-exp(-annual_rate)",
      "phases": [
        {
          "phase": "displacement",
          "start_offset": 0,
          "duration_years": 1,
          "first_follow_up_year": 1
        },
        {
          "phase": "offset_1",
          "start_offset": 1,
          "duration_years": 1,
          "first_follow_up_year": 2
        },
        {
          "phase": "offsets_2_3",
          "start_offset": 2,
          "duration_years": 2,
          "first_follow_up_year": 3
        },
        {
          "phase": "offsets_4_5",
          "start_offset": 4,
          "duration_years": 2,
          "first_follow_up_year": 5
        },
        {
          "phase": "offset_6_plus",
          "start_offset": 6,
          "duration_years": null,
          "first_follow_up_year": 7
        }
      ],
      "description": "Source-offset profile: displacement, +1, +2–3, +4–5, and +6+; displacement is follow-up year 1, so offset +6 begins in follow-up year 7. Annual baseline rates use a constant-hazard rate-to-risk conversion; odds ratios modify annual risk, and survival compounds across phases. The selected baseline age rate is held fixed over the follow-up horizon."
    },
    "place_application": "initial_only",
    "place_counterfactual": "national child-dollar result is the reference"
  },
  "exposure_provenance": {
    "source": "one-worker normalized reference input",
    "method": "scale by the stored warehouse worker-equivalent exposure at read time"
  },
  "place": null,
  "place_mix": [],
  "input_content_sha256": "a771d456f24b73ab4a27e51e83ec07640a0d93114d4ffc968aae925e700d843d",
  "engine_version": "0.4.1",
  "bundle_sha256": "d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed",
  "exposure_input_sha256": "8b4c78f6529f0fbefd8fc3154c9e9b976065d910b4c6e9d55690e36d5c3cdeaa",
  "input_hash": null,
  "engine_sha256": "d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed",
  "adapter_sha256": "5fe4b51a9cebfb247cfcd74c734a2b6cb0eae44fce1073917b01455525c6ae52",
  "outcomes": {
    "excess_deaths": {
      "point": 5305.766801142949,
      "low": 2077.8060674999983,
      "high": 9242.258190333536,
      "unit": "deaths",
      "baseline": {
        "value": 0.004944,
        "annual_probability": 0.004931798548274205,
        "unit": "deaths_per_person_year",
        "citation": "cdc_wonder D76 (Underlying Cause of Death, 1999-2020), Male 45-54 years, pooled 2015-2019: 514314 deaths / 104024440 person-years = 494.4 per 100k; pulled 2026-09-06 via scraper.cli wonder-mortality into warehouse wonder_mortality",
        "population": "US prime-age men (45-54)",
        "notes": "Pre-pandemic window: excludes 2020 (COVID-distorted; 2020 crude rate 601.5/100k). Single-year 2019 = 490.0/100k. Ages 45-54 match the Sullivan & von Wachter prime-age counterfactual population",
        "sex": "Male",
        "age": "45-54 years",
        "years": "2015-2019",
        "cause": "All causes",
        "geography": "US"
      },
      "steps": [
        {
          "link": "earnings_shock->mortality_peak",
          "phase": "displacement",
          "point": 2.6698,
          "low": 2.1144,
          "high": 3.3711,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_offset_1",
          "phase": "offset_1",
          "point": 1.9838,
          "low": 1.3697,
          "high": 2.8732,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_offsets_2_3",
          "phase": "offsets_2_3",
          "point": 1.7315,
          "low": 1.3238,
          "high": 2.2649,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_offsets_4_5",
          "phase": "offsets_4_5",
          "point": 1.2712,
          "low": 0.97,
          "high": 1.6661,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        },
        {
          "link": "earnings_shock->mortality_sustained",
          "phase": "offset_6_plus",
          "point": 1.1354,
          "low": 1.0335,
          "high": 1.2474,
          "citation": "sullivan2009",
          "tier": "canonical",
          "population_scope": "US high-seniority displaced men born 1930-1959",
          "evidence_role": "conditional"
        }
      ],
      "components": {
        "follow_up_years": 20,
        "method": "odds_survival",
        "timing": "source_profile"
      },
      "applicability": {
        "status": "illustrative_reference_calculation",
        "eligible_for_public_headline": false,
        "target_population": null,
        "decision": null,
        "transport_assumptions": [
          "high-tenure male mass-layoff cohort, ages 45–54",
          "Pennsylvania early-1980s response transported to target place and calendar time",
          "fixed baseline age rate over follow-up; cohort aging is not modeled"
        ],
        "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
      },
      "interpretation": "Conditional modeled expected difference; parameter bands are support envelopes, not a confidence interval.",
      "persistence_sensitivity": {
        "available": true,
        "status": "declared_structural_sensitivity",
        "eligible_for_public_headline": false,
        "unit": "deaths",
        "variants": {
          "source_profile": {
            "point": 5305.766801142949,
            "low": 2077.8060674999983,
            "high": 9242.258190333536,
            "evidence_status": "source_profile_with_transport_assumptions",
            "citations": [
              "sullivan2009"
            ]
          },
          "no_sustained_excess": {
            "point": 3786.402313007217,
            "low": 1695.6447729061983,
            "high": 6523.886479860506,
            "evidence_status": "structural_assumption",
            "motivating_citations": [
              "eliasonstorrie2009"
            ],
            "assumption": "Retain source odds through offset +5; set offset +6 onward OR=1.",
            "first_changed_follow_up_year": 7,
            "fixed_late_odds_ratio": 1
          }
        },
        "source_minus_no_sustained_point": 1519.3644881357316,
        "structural_point_range": {
          "low": 3786.402313007217,
          "high": 5305.766801142949,
          "interpretation": "Range of point estimates across these two assumptions; not a confidence interval or a bound on the true effect."
        },
        "shared_inputs": [
          "exposure",
          "resolved mortality baseline",
          "follow-up horizon",
          "source odds through offset +5"
        ],
        "limitations": [
          "No probabilities or model-average weights are assigned to the structures.",
          "A nonsignificant long-run estimate does not establish an exactly zero effect.",
          "The Swedish study differs in population, design, effect scale and follow-up; this hybrid does not reproduce its estimates or substitute its hazard ratios for odds ratios.",
          "The cutoff follows the source profile's offset +6 phase, not the Swedish study's windows; persistence beyond its 12-year follow-up is an assumption in either direction.",
          "Baseline aging and target-population transport remain unresolved in both structures."
        ]
      }
    },
    "child_lifetime_earnings_lost_usd": {
      "point": 88352310050.4712,
      "low": 22948651961.161366,
      "high": 149166237747.54877,
      "steps": [
        {
          "link": "displacement->child_earnings",
          "kind": "direct",
          "citation": "oreopoulos2008",
          "tier": "EXACT",
          "param_point": 0.9076,
          "param_low": 0.844,
          "param_high": 0.976,
          "value_point": 0.9076,
          "value_low": 0.844,
          "value_high": 0.976,
          "causal_role": "direct_displacement_estimate",
          "population_scope": "Canada 39k father-son pairs firm closures",
          "evidence_role": "conditional"
        }
      ],
      "unit": "usd_2024",
      "baseline": {
        "value": 2591418,
        "unit": "usd_2024",
        "citation": "SSA Annual Statistical Supplement 2025, Table 4.B6 (CWHS/Master Earnings File, 1 percent sample): male median earnings by age, 2023 (preliminary) — synthetic career ages 20-64 = 5x(24218+42561+52485+60423+64962+67506+68160+64854)+2x60666+3x56666 = 2517175 usd_2023; CPI-U annual averages 304.702->313.689 (BLS series CUUR0000SA0, pulled 2026-09-06) -> 2591418 usd_2024; warehouse ssa_median_earnings (pulled via ssa-earnings-download)",
        "population": "US male median lifetime earnings",
        "notes": "Derivation declared: the cross-sectional age profile summed over a 45-year working life (ages 20-64) is a synthetic cohort — the sum of age-band medians approximates rather than equals the median of individual lifetime sums; median-of-workers semantics excludes non-working years; 2023 medians are preliminary (SSA replaces them with final data in a later edition)"
      },
      "applicability": {
        "status": "illustrative_reference_calculation",
        "eligible_for_public_headline": false,
        "target_population": null,
        "decision": null,
        "transport_assumptions": [
          "Canadian father-son firm-closure estimate transported to the target families",
          "US male synthetic career earnings convert a relative adult earnings effect to dollars",
          "lifetime dollars are undiscounted; this is not an annual loss"
        ],
        "reason": "Target cohort applicability and transport have not been established for this outcome; display as an illustrative reference calculation."
      },
      "interpretation": "Conditional modeled expected difference; parameter bands are support envelopes, not a confidence interval."
    }
  }
}

Parameter set v1.54 · model v1.54+engine0.4.1+d84162591c94d06c8148c4834ae705ff3f9a015c29955d95d26749834cd136ed+national-reference1

Local connections

County context, public notices, and linked public records.

Community well-being

Food insecurity, SNAP receipt, mental distress, smoking, and overdose mortality in this area. CDC models these from survey data: treat them as local estimates, not headcounts. Bars compare each estimate against population-weighted averages of all reporting areas for the same data year.

Food insecurity

2023

11.2%: 4.0 points below U.S.

Adults receiving SNAP

2023

7.4%: 4.4 points below U.S.

Frequent mental distress

2023

14.5%: 1.5 points below U.S.

Adult smoking

2023

11.1%: 1.0 points below U.S.

Drug overdose deaths

2021

26.5: 5.7 below U.S.

Source: CDC PLACES 2025 release (BRFSS survey year 2023) and NCHS drug poisoning mortality. PLACES values are model-based small-area estimates, not survey counts. Benchmarks are population-weighted averages across all reporting areas.

Medical workforce context

AHRF supply DOL filingsRecordAHRF county supply data and H-1B medical LCAs. Comparisons use the median US county.
MDs per 100k residents579↑ 6.7× median
Active MDs (non-federal)7,286
Nurse practitioners per 100k316↑ 2.3× median
County population1,258,713
Primary care HPSA designations16
H-1B medical workers certifiedhealthcare SOCs (29-* + 31-2*)85943% of BLS
Full medical breakdown

Hennepin County in context

DOL filings CountyRecordH-1B intensity by county across Minnesota. This county is highlighted. Click any county to drill in.
Loading map…
Read the county map County-level H-1B intensity

The map gives geographic context. A county average does not classify every filing, employer, or worker within it.

Employers & occupations

The sponsors and job categories recorded in this county.

Employers (6,606)

DOL filings EmployerRecordRanked by applications in this county.
EmployerFilings
1

Tata Consultancy Services Limited ⚠ Dep

4,990
2

University of Minnesota

2,745
3

Wipro Limited ⚠ Dep

2,439
4

Infosys Limited ⚠ Dep

2,418
5

Accenture LLP

2,400
6

Target Enterprise, Inc.

2,277
7

Cognizant Technology Solutions US Corp. ⚠ Dep

1,671
8

Optum Services, Inc.

1,574

Job categories (291)

  • Software Developers$121.9M · 20.3%
  • Computer and Information Systems Managers$120M · 20.0%
  • Management Analysts$119.5M · 19.9%
  • Accountants and Auditors$83.3M · 13.9%
  • Computer Occupations, All Other$60.1M · 10.0%
  • Electronics Engineers, Except Computer$36.2M · 6.0%
  • Electrical Engineers$32.6M · 5.4%
  • Mechanical Engineers$25.8M · 4.3%
DOL wage offers BLS occupationsSignalOccupation averages need not describe each filing.
Job categoryH-1B vs BLS
15-1252 Software DevelopersH-1B $120.6K vs BLS $136K-11%

5,752 workers · 4,343 filings · $121.9M wage theft

2,259 workers · 911 filings · $120.0M wage theft

13-1111 Management AnalystsH-1B $90.1K vs BLS $101.9K-12%

5,422 workers · 1,271 filings · $119.5M wage theft

13-2011 Accountants and AuditorsH-1B $69.7K vs BLS $83.7K-17%

3,535 workers · 903 filings · $83.3M wage theft

15-1299 Computer Occupations, All OtherH-1B $97.7K vs BLS $116.6K-16%

2,308 workers · 1,906 filings · $60.1M wage theft

700 workers · 295 filings · $36.2M wage theft

17-2071 Electrical EngineersH-1B $88.6K vs BLS $120.6K-27%

876 workers · 607 filings · $32.6M wage theft

17-2141 Mechanical EngineersH-1B $89.6K vs BLS $104.1K-14%

1,155 workers · 777 filings · $25.8M wage theft

Labor condition applications (74,350)

DOL filings BLS occupationsRecordAll recorded outcomes and visa classes. Use the wage badge to inspect an offer against available benchmarks.
Title · Worksite

A negative % sits below the BLS market median; a positive % sits above.

What the filing rows show One application per row

Each row links to the disclosure record. A wage comparison is a screening calculation, not a finding of a wage violation.

WARN notices (3)Public layoff notices: open to inspect
WARN EmployerReviewOpen a notice to inspect its stated effective date and worker count. Coverage varies by state; some states file no public WARN data.

Ideal US Talent Worker OpCo LLC

2026-07-01 · Minneapolis

1,395

Cygnus Home Service, LLC

-- · Minneapolis

--

Cygnus Home Service, LLC

Notice date: 2023-10-25 · Minneapolis

--

Records to inspect

Open the linked public records behind this county's filings.

Immigration law firms (1,279)

DOL filings Law firmRecordNames are shown as recorded.

Federal contracts (12,833)

Federal awards EmployerRecordAmounts are individual award actions, not total contract values.
M. A. MORTENSON COMPANY
Department of Defense · Mar 6, 2026
$610M
OPTUMRX ADMINISTRATIVE SERVICES, LLC
Department of Veterans Affairs · Aug 26, 2026
$159.2M
NORTHROP GRUMMAN SYSTEMS CORPORATION
Department of Defense · Mar 27, 2026
$151.7M
BAE SYSTEMS LAND & ARMAMENTS L.P.
Department of Defense · Apr 1, 2026
$145.8M
OPTUMRX ADMINISTRATIVE SERVICES, LLC
Department of Veterans Affairs · Aug 24, 2026
$137M
OPTUMRX ADMINISTRATIVE SERVICES, LLC
Department of Veterans Affairs · Aug 26, 2026
$106.3M
OPTUMRX ADMINISTRATIVE SERVICES, LLC
Department of Veterans Affairs · Aug 26, 2026
$106.3M
AGILITI HEALTH INC
Department of Health and Human Services · Jun 12, 2026
$56M

Evidence & sources

Scope, methods, and source coverage for this county record.

Public source records and site analysis. We do not attest to accuracy. Read the full disclaimer.

Dataset guides and site methods

  1. [1] Dataset documentation · DOL OFLC. LCA public disclosure record layout (FY2026 Q3). Pages 1–4: application, DOL outcome and dates, requested positions, employer, representatives, worksites and pay unitsThis layout covers determinations issued October 1, 2025 through June 30, 2026. It documents employer-provided application fields and DOL decisions, not USCIS decisions, payroll verification, legal bills or worker-linked moves. Older layouts can differ.Checked 2026-10-17.
  2. [2] Dataset documentation · BLS. OEWS technical notes (May 2025). Scope of the survey; occupational coding; concepts and estimation methodologyDocuments occupation and geographic wage estimates, not an individual worker’s pay. Use the estimate year and geography stated by the site; older releases can differ.Checked 2026-10-17.
  3. [3] XH1B method or registry · XH1B. WARN Notices (mass layoffs): source registry; Calculation and Matching Methods; Reading Public Records and Derived Indicators. Source registry entry: warn; Filing units, annualization, weighting, wage comparisons, and inference limits; Reading records: units, source coverage, wage gaps, entity links, and inference limitsXH1B dataset description: One row per source_notice_id. The definition of a mass layoff and the layoff threshold vary by state. The threshold is typically 50 or more employees.; These are the site's review methods, not validated predictions of wrongdoing. Inspect underlying records and alternative explanations.
  4. [4] Dataset documentation · USAspending / U.S. Treasury. Federal Spending Guide: contract transactions. Pages 3, 5, 9 and 17: transactions, amount fields and recipient identifiersContract downloads contain prime award transactions. XH1B’s use of recipient identifiers for employer links is its own processing step.Checked 2026-10-18.
  5. [5] XH1B method or registry · XH1B. Displacement Model and Assumptions. Eligibility, requested-position weighting, scopes, WARN matching, and counting limitsModel outputs are estimates. A matched layoff notice does not prove that an H-1B worker replaced a laid-off worker.
  6. [6] XH1B method or registry · XH1B. Downstream Research and Methods. Study populations, parameter bounds, baselines, and expected outcomes; linked model card
  7. [7] Dataset documentation · HRSA. Area Health Resources Files: 2024–2025 technical documentation. County User Guide: physicians, Table 10 NPI professions, population estimates and missing values; Technical Documentation: variable years and sourcesClinician categories and variable years differ. County APRN counts use NPI taxonomy; physician active and federal status matter. Release year is not the year of every measure.Checked 2026-10-18.
Questions about the data & methods

How many H-1B filings are in Hennepin County, MN?

71,513 H-1B labor condition applications requesting 148,686 workers have been filed in Hennepin County, MN, per Department of Labor disclosure records.

How many employers have H-1B filings in Hennepin County, MN?

6,462 distinct employers have filed H-1B labor condition applications in Hennepin County, MN. The employer list on this page is ranked by filings and wage impact.

What worker-equivalent exposure does the displacement model estimate for Hennepin County, MN?

The model estimates 184,492 worker-equivalents of displacement exposure in Hennepin County, MN: one per requested worker on a certified H-1B filing, raised where the offered wage sits below the occupation's BLS median, plus government-reported WARN layoffs matched to filings. This is a modeled exposure estimate, not a count of documented job losses; the formula is on the About page.

What is the median H-1B wage in Hennepin County, MN?

$81,536 per year is the median wage offered on H-1B labor condition applications filed for work in Hennepin County, MN. The wage-distribution chart on this page shows the spread around that median.

Who files the most H-1B filings in Hennepin County, MN?

TATA CONSULTANCY SERVICES LIMITED leads with 4,990 filings, about 7% of all Hennepin County, MN filings. Its dossier page carries the full filing, wage, and layoff history.

What share of Hennepin County, MN H-1B filings does DOL deny?

DOL disclosure records show 70,042 certified, 794 denied, 1,455 withdrawn of 72,291 labor condition applications with reported outcomes in Hennepin County, MN. The denial share is 1% across the reported outcomes.

How many WARN layoff notices has Hennepin County, MN recorded?

3 Worker Adjustment and Retraining Notification (WARN) notices. Where a layoff employer then filed H-1B labor condition applications in the same window, the pair is recorded as a displacement event with an evidence score.

When did H-1B use peak in Hennepin County, MN?

Filings peaked in 2019 at 6,464 labor condition applications. The filings-by-year chart on this page shows the full trend since records began.

Which immigration law firms file the most H-1B filings in Hennepin County, MN?

1,279 distinct law firms and agents have filed H-1B applications for employers in Hennepin County, MN. The law-firm table on this page ranks them by filings and by the wage gap their filings carry.

Do Hennepin County, MN H-1B employers hold federal contracts?

12,833 federal contract actions in Hennepin County, MN name employers that also file H-1B labor condition applications. The contracts table links each award to the employer dossier. A shared employer name does not show how award funds were spent.

Where does the Hennepin County, MN H-1B data come from?

Every figure on this page traces to a public government record: DOL OFLC disclosure files (LCA filings, wages, outcomes), BLS OES wage data (occupation medians), state WARN notices, and federal contract awards. The archive is read-only evidence; nothing is crowdsourced or anonymous.