The Firm File

Method

Every base salary figure on this site is computed from 2,922,613 unique certified H-1B Labor Condition Application filings, taken from 21 quarterly disclosure files published by the US Department of Labor and covering October 2020 to 30 June 2026. No figure is modelled, imputed or estimated. The code that computes them is in the project repository.

The source

The Office of Foreign Labor Certification publishes every Labor Condition Application it decides, quarterly, as a bulk spreadsheet. A filing records the employer, the exact job title, the worksite city, the wage the employer certified it would pay, the wage unit, the prevailing-wage level, and whether the application was certified.

dol.gov/agencies/eta/foreign-labor/performance. The release used here is FY2026 Q3, file LCA_Disclosure_Data_FY2026_Q3.xlsx.

What a filing is, and is not

A certified filing is a legally binding statement of a wage an employer would pay for a named role. That makes it harder to inflate than a self-reported number.

It is not a survey response. It is not proof of a hire: a certified application does not mean the position was filled. And it is not a random sample of the firm, because only sponsored roles appear, which skews the role mix toward positions firms file visas for. The Department of Labor itself warns the files contain data-entry errors.

The three limits that matter most

  1. Base salary only. No bonus, no signing, no carry, no equity. That is roughly 70% of total compensation in consulting and 55% or less in banking, and the gap widens with seniority. It is why the bonus rows on every page say not enough data yet rather than showing a guess, and why submitted offers are the only way to close that gap.
  2. US worksites only. There is no equivalent disclosure file for London, Dubai or Singapore.
  3. Sponsored roles only. A firm that sponsors few visas at a level produces few filings at that level, which is a statement about its visa policy and not about its pay.

How the numbers are computed

Mapping job titles to levels

Firms file under their own titles, so project leader, manager and engagement manager are the same rung at three firms. Each exact lowercased title string is mapped to a level by hand, then cross-checked against the prevailing-wage level on the same filing. A mapping whose observed level falls outside the expected range goes to a review queue and is never published. A title nobody can place with confidence is held back rather than guessed at.

That is why coverage is below 100% for every firm, and why the figure is printed on each firm's page:

FirmEntity countedTitles mapped
Bain & CompanyBain Capital is a different company and is excluded.77.1%
Boston Consulting GroupOne US entity. Technology and data titles are excluded.66.0%
DeloitteDeloitte Consulting LLP only. Audit, tax and shared services entities are excluded.94.5%
Goldman SachsOnly the explicit investment banking title maps. The back office, bank and wealth entities are excluded, and most remaining titles are engineering.0.9%
KPMGKPMG LLP is a blended audit and advisory entity, so this ladder is less purely strategy than the others.96.3%
McKinsey & CompanyOne US entity. Technology, data and AI titles are excluded, so only the generalist consulting ladder is counted.45.5%
Morgan StanleyThe investment banking entity only. Morgan Stanley Services Group is excluded.99.3%
Oliver Wyman59 filings in six years. Thin by nature, not by method.13.6%
PwCThe advisory and consulting entities only. Assurance and tax are excluded.99.6%

Firms and entities dropped, with the reason

EY

49,795 filings over six years, none mappable. The job titles are federal SOC occupation names plus requisition IDs, so there is no consulting ladder in them to read.

Accenture

17,757 filings, none mappable. The titles are packaged-application and computer-systems-analyst grades, which is a technology ladder rather than a consulting one.

Deloitte audit, tax and shared services

Separate legal entities filing under different NAICS codes. Only Deloitte Consulting LLP is counted.

Goldman Sachs back office, bank and wealth entities

They file under the same NAICS code as the investment bank, so the entity name is the only thing separating them. Only the banking entity is counted.

Bain Capital

A different company. It is a private equity firm and shares only the word Bain.

Submitted offers

Bonus, signing and total compensation can only come from the people who received them. Submissions are reviewed by hand before anything is published, nothing publishes below 5 submissions for a role, the top and bottom 5% are trimmed once a role passes twenty, and the count of submissions backed by an offer letter is published separately from the rest. No submission is ever shown as an individual row tied to a person.

Add an offer

Corrections

If a figure here is wrong, the mapping is usually why. The title mapping and the entity mapping are both published in the project repository, so a correction can point at the exact row.

Last updated from the FY2026 Q3 release.