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
- 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.
- US worksites only. There is no equivalent disclosure file for London, Dubai or Singapore.
- 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
- Deduplicate on case number first. The archived quarterly files partially restate each other, which inflates the raw row count by 10.5%. Skipping this step overstates every sample size.
- Keep only certified, full-time, H-1B filings.
- Annualise the wage from its stated unit, which is one of hourly, weekly, bi-weekly, monthly or yearly.
- Drop anything outside 30,000 to 2,000,000 USD.Mostly data-entry errors.
- Percentiles are over filings, never weighted by positions. One filing can cover many positions. Weighting by positions would let a single large filing set the median, so both counts are published and only one is used.
- No cell is published below 5 filings. Pages show not enough data yet instead. An honest gap is better than a thin number, and it is the strongest reason to submit one.
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:
| Firm | Entity counted | Titles mapped |
|---|---|---|
| Bain & Company | Bain Capital is a different company and is excluded. | 77.1% |
| Boston Consulting Group | One US entity. Technology and data titles are excluded. | 66.0% |
| Deloitte | Deloitte Consulting LLP only. Audit, tax and shared services entities are excluded. | 94.5% |
| Goldman Sachs | Only the explicit investment banking title maps. The back office, bank and wealth entities are excluded, and most remaining titles are engineering. | 0.9% |
| KPMG | KPMG LLP is a blended audit and advisory entity, so this ladder is less purely strategy than the others. | 96.3% |
| McKinsey & Company | One US entity. Technology, data and AI titles are excluded, so only the generalist consulting ladder is counted. | 45.5% |
| Morgan Stanley | The investment banking entity only. Morgan Stanley Services Group is excluded. | 99.3% |
| Oliver Wyman | 59 filings in six years. Thin by nature, not by method. | 13.6% |
| PwC | The 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.
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.