What the study is built on
11 public sources, 92,422 cleaned records and 63 defined metrics. Retrieval dates are in each source entry.
Sources
S1. H-1B LCA and PERM disclosure data
- Publisher
- US Department of Labor (OFLC)
- URL
- https://www.dol.gov/agencies/eta/foreign-labor/performance
- Retrieved
- 2026-10-11 · covers FY2015-FY2026 (partial)
- Fields used
- employer name; job title; SOC code; offered wage; worksite; case status; PERM employee count, citizenship, education
- License / use
- US government public data. Accessed through the Hugging Face mirror Nason/dol-visas-database (mirror terms per its dataset card, not independently verified)
- Access method
- remote DuckDB query of https://huggingface.co/datasets/Nason/dol-visas-database (src/ingest/h1b_lca.py, perm.py)
- Limitations
- Filings are applications by US employers for foreign-national workers; a proxy for US hiring not headcount. Mirror not re-checked against the original DOL files. FY2026 partial
S2. Federal prime contract awards and subawards
- Publisher
- USAspending.gov (US Treasury)
- URL
- https://api.usaspending.gov
- Retrieved
- 2026-10-11 · covers FY2015-FY2025
- Fields used
- recipient; awarding agency; award value; start date; NAICS; PSC; subaward fields
- License / use
- US government public data
- Access method
- public API, no key (src/ingest/usaspending_awards.py, usaspending_subawards.py)
- Limitations
- Prime and sub awards in the federal system only; recipient search is fuzzy and results are filtered to the firms' legal entity names. Awards are dated by start year
S3. Revenue headcount offices and countries data points
- Publisher
- BCG; Bain; secondary sources (Fortune; InfluenceWatch; Umbrex; Wikidata statements)
- URL
- https://www.prnewswire.com/news/boston-consulting-group-(bcg)/
- Retrieved
- 2026-10-11 · covers 2017-2025 (sparse)
- Fields used
- revenue; headcount; offices; countries
- License / use
- Facts quoted with attribution; each row carries its own URL
- Access method
- hand-compiled (data/manual/firm_scale_points.csv)
- Limitations
- Only BCG publishes revenue and headcount. McKinsey and Bain figures are third-party estimates. Rows are marked verified=yes only if the source page was opened and read
S4. Public website sitemaps (URL paths and last-modified dates only)
- Publisher
- BCG; Bain
- URL
- https://www.bcg.com/google_sitemap-content.xml; https://www.bain.com/en/sitemap.xml
- Retrieved
- 2026-10-11 · covers snapshot Oct 2026
- Fields used
- URL path; lastmod; section; year in path
- License / use
- Sitemap files named in each site's robots.txt; no page content crawled
- Access method
- src/ingest/site_inventory.py
- Limitations
- Counts of published pages are a proxy for emphasis not revenue. McKinsey's site did not respond to automated requests and is not covered. Bain press-release pages are dominated by one region and affected by a site migration
S5. EDGAR full-text search
- Publisher
- US SEC
- URL
- https://efts.sec.gov/LATEST/search-index
- Retrieved
- 2026-10-11 · covers 2015-2025
- Fields used
- filing form; filer; SIC code; filing date
- License / use
- US government public data; SEC fair-access guidance followed (identified user agent; under 10 requests per second)
- Access method
- src/ingest/sec_edgar.py
- Limitations
- A mention is not proof of a client relationship: names also appear in cited studies and director biographies. Industry mix mostly reflects the SEC filer universe
S6. Contracts Finder awarded contract notices
- Publisher
- UK Cabinet Office
- URL
- https://www.contractsfinder.service.gov.uk
- Retrieved
- 2026-10-11 · covers 2015-2025
- Fields used
- supplier; buyer; awarded value; date; CPV
- License / use
- Open Government Licence v3.0
- Access method
- src/ingest/uk_contracts.py (quoted-phrase search windowed by publication year)
- Limitations
- Search API has no pagination (windowed to stay under the result cap). Framework agreements list ceiling values (GBP 50M or more excluded from spend totals). Contracts under the notice threshold are absent
S7. Proactive publication of contracts over CAD 10000
- Publisher
- Government of Canada
- URL
- https://open.canada.ca/data/en/dataset/d8f85d91-7dec-4fd1-8055-483b77225d8b
- Retrieved
- 2026-10-11 · covers 2015-2025
- Fields used
- vendor; department; contract value; date; description
- License / use
- Open Government Licence - Canada
- Access method
- streamed CSV filtered by vendor name (src/ingest/canada_contracts.py); raw file not stored
- Limitations
- Contracts over CAD 10000 only; amendments are reported as listed
S8. AusTender contract notices (OCDS API)
- Publisher
- Australian Government (Department of Finance)
- URL
- https://api.tenders.gov.au
- Retrieved
- 2026-10-11 · covers 2015-2025
- Fields used
- supplier; procuring entity; contract value; date
- License / use
- Creative Commons Attribution (see the API's license field)
- Access method
- weekly windows paged and filtered by supplier name (src/ingest/austender.py)
- Limitations
- Contract notices only, above reporting thresholds; values are as notified
S9. Scholarly works by institution
- Publisher
- OpenAlex
- URL
- https://openalex.org
- Retrieved
- 2026-10-11 · covers 2010-2025
- Fields used
- work; year; type; citations; primary topic
- License / use
- CC0
- Access method
- src/ingest/openalex.py
- Limitations
- Only McKinsey and BCG have institution records; Bain has none. Counts reflect affiliation recording not research output
S10. Wikipedia pageviews API
- Publisher
- Wikimedia Foundation
- URL
- https://wikimedia.org/api/rest_v1
- Retrieved
- 2026-10-11 · covers 2015-07 to 2025-12
- Fields used
- monthly user pageviews of each firm's English article
- License / use
- CC0
- Access method
- src/ingest/attention.py
- Limitations
- Measures public attention not business performance
S11. Entity statements with references
- Publisher
- Wikidata
- URL
- https://www.wikidata.org
- Retrieved
- 2026-10-11 · covers 2017-2026
- Fields used
- revenue; headcount statements and their reference URLs
- License / use
- CC0
- Access method
- src/ingest/wikidata.py
- Limitations
- Statements are community-maintained; used only to locate leads, each carried into S3 as an estimate with its original reference
Dataset coverage
| Clean table | Source | Rows |
|---|---|---|
| lca.csv | S1 | 12,949 |
| perm.csv | S1 | 3,795 |
| awards.csv | S2 | 512 |
| subawards.csv | S2 | 202 |
| firm_scale_points.csv | S3 | 35 |
| site_inventory.csv | S4 | 26,040 |
| bcg_publications.csv | S4 | 4,472 |
| bain_press_releases.csv | S4 | 317 |
| office_pages.csv | S4 | 252 |
| sec_mentions.csv | S5 | 41,154 |
| uk_contracts.csv | S6 | 257 |
| canada_contracts.csv | S7 | 56 |
| austender_contracts.csv | S8 | 210 |
| openalex_works.csv | S9 | 1,675 |
| attention_monthly.csv | S10 | 486 |
| wikidata_facts.csv | S11 | 10 |
| Total source records | 92,422 |
rows across the clean source tables; derived tables (sec_mentions_operating.csv, industry_taxonomy.csv, capability_taxonomy.csv) are excluded.
Scale data points and verification status
These hand-compiled figures feed the scale finding. “Verified” means the source page was opened and the figure confirmed. Open the URL to check any point yourself.
| Firm | Verified | Not verified |
|---|---|---|
| McKinsey | 0 | 7 |
| BCG | 18 | 0 |
| Bain | 2 | 8 |
| Firm | Year | Metric | Value | Basis | Confidence | Verified | Source |
|---|---|---|---|---|---|---|---|
| BCG | 2017 | headcount | 16,000 employees | Reported | high | yes | link |
| BCG | 2018 | revenue | 7.5 USD bn | Reported | high | yes | link |
| BCG | 2018 | headcount | 18,500 employees | Reported | high | yes | link |
| BCG | 2019 | revenue | 8.5 USD bn | Reported | high | yes | link |
| BCG | 2019 | headcount | 21,000 employees | Reported | high | yes | link |
| BCG | 2020 | revenue | 8.6 USD bn | Reported | high | yes | link |
| BCG | 2020 | headcount | 22,000 employees | Reported | high | yes | link |
| BCG | 2022 | headcount | 30,000 employees | Reported | high | yes | link |
| BCG | 2023 | revenue | 12.3 USD bn | Reported | high | yes | link |
| BCG | 2023 | headcount | 32,000 employees | Reported | high | yes | link |
| BCG | 2024 | revenue | 13.5 USD bn | Reported | high | yes | link |
| BCG | 2024 | headcount | 33,000 employees | Reported | high | yes | link |
| BCG | 2025 | revenue | 14.4 USD bn | Reported | high | yes | link |
| BCG | 2025 | headcount | 33,500 employees | Reported | high | yes | link |
| McKinsey | 2018 | headcount | 28,000 employees | Estimate | medium | no | link |
| McKinsey | 2022 | revenue | 12 USD bn | Estimate | low | no | link |
| McKinsey | 2023 | revenue | 16 USD bn | Estimate | medium | no | link |
| McKinsey | 2023 | headcount | 45,000 employees | Estimate | medium | no | link |
| Bain | 2018 | revenue | 3 USD bn | Estimate | low | no | link |
| Bain | 2020 | headcount | 12,000 employees | Reported | medium | no | link |
| Bain | 2023 | revenue | 6 USD bn | Estimate | low | no | link |
| Bain | 2023 | headcount | 19,000 employees | Estimate | low | no | link |
| BCG | 2025 | offices_cities | 100 cities | Reported | high | yes | link |
| BCG | 2025 | countries | 50 countries | Reported | high | yes | link |
| McKinsey | 2023 | countries | 68 countries | Estimate | medium | no | link |
| McKinsey | 2025 | offices_cities | 130 cities | Estimate | medium | no | link |
| Bain | 2020 | offices_cities | 59 cities | Reported | medium | no | link |
| Bain | 2020 | countries | 37 countries | Reported | medium | no | link |
| Bain | 2025 | offices_cities | 67 cities | Reported | high | yes | link |
| Bain | 2025 | countries | 40 countries | Reported | high | yes | link |
| McKinsey | 2020 | revenue | 10.6 USD bn | Estimate | low | no | link |
| Bain | 2021 | revenue | 5.8 USD bn | Estimate | low | no | link |
| Bain | 2017 | headcount | 7,000 employees | Estimate | low | no | link |
| BCG | 2018 | offices_cities | 90 cities | Reported | high | yes | link |
| BCG | 2018 | countries | 50 countries | Reported | high | yes | link |
Metric dictionary
| ID | Definition | Period | Unit | Basis | Filters | Missing data | Source |
|---|---|---|---|---|---|---|---|
| HIRE-001 | Certified H-1B Labor Condition Applications filed by the firm | FY2015-2025 | filings | Proxy | certified filings, FY2015-2025 | none: counted as filed | S1 |
| HIRE-002 | Compound annual growth rate of certified LCA filings between two endpoint years | FY2016-2024 | % per year | Proxy | certified filings; endpoint years only | FY2026 excluded as partial | S1 |
| HIRE-003 | Distinct US worksite states in certified filings | FY2015-2025 | states | Proxy | certified filings, FY2015-2025 | rows without a state are ignored | S1 |
| HIRE-004 | Distinct US worksite cities in certified filings | FY2015-2025 | cities | Proxy | certified filings, FY2015-2025 | rows without a city are ignored | S1 |
| HIRE-005 | Herfindahl-Hirschman index of the firm's position share across worksite states (higher = more concentrated) | FY2015-2025 | index 0-1 | Proxy | certified filings, FY2015-2025 | none | S1 |
| HIRE-006 | Average number of worker positions requested per filing (all filings, any status) | FY2015-2025 | positions per filing | Proxy | all statuses, FY2015-2025 | missing positions treated as 1 | S1 |
| HIRE-007 | Median offered annual base wage | FY2015-2025 | USD | Proxy | certified filings, FY2015-2025; wages outside $30K-$1M dropped | rows with missing or out-of-range wage ignored | S1 |
| HIRE-008 | Share of filings certified | FY2015-2025 | % | Proxy | FY2015-2025 | none | S1 |
| CAP-001 | Share of certified filings in technical occupations (SOC major group 15, computer and mathematical) | FY2015-2025 | % | Proxy | certified, FY2015-2025 | none | S1 |
| CAP-002 | Technical share of certified filings, early period | FY2015-2019 | % | Proxy | certified, FY2015-2019 | none | S1 |
| CAP-003 | Technical share of certified filings, late period (FY2020 skipped as a pandemic transition year) | FY2021-2025 | % | Proxy | certified, FY2021-2025 | none | S1 |
| CAP-004 | Share of certified filings classified as Management Analysts (SOC 13-1111) | FY2015-2025 | % | Proxy | certified, FY2015-2025 | none | S1 |
| WORK-001 | PERM labor-certification filings | FY2015-2026 | filings | Proxy | all years incl. partial FY2026 | none | S1 |
| WORK-002 | Largest US employee count reported by the firm on any PERM filing in the year (filer-defined, unaudited) | FY2024 | employees | Self-reported on filing | FY2016-2024; FY2015 BCG (503) and FY2025+ excluded | filings without a value ignored | S1 |
| WORK-003 | As WORK-002 for FY2016 | FY2016 | employees | Self-reported on filing | FY2016 | filings without a value ignored | S1 |
| WORK-004 | Compound annual growth of WORK-002/WORK-003 endpoints | FY2016-2024 | % per year | Self-reported on filing | endpoint years | none | S1 |
| WORK-005 | Share of PERM cases certified | FY2015-2026 | % | Proxy | all years | none | S1 |
| WORK-006 | Share of PERM cases withdrawn | FY2015-2026 | % | Proxy | all years | none | S1 |
| WORK-007 | Share of sponsored workers who are citizens of India | FY2015-2026 | % | Proxy | all years | filings with blank citizenship excluded from the denominator | S1 |
| WORK-008 | Distinct citizenships among sponsored workers | FY2015-2026 | citizenships | Proxy | all years | blank ignored | S1 |
| WORK-009 | Share of filings stating a Master's minimum education | FY2015-2026 | % | Proxy | all years | blank excluded from the denominator | S1 |
| WORK-010 | Share of filings naming a business major | FY2015-2026 | % | Proxy | all years | blank major excluded from the denominator | S1 |
| WORK-011 | Share of filings naming a quantitative or engineering major | FY2015-2026 | % | Proxy | all years | blank major excluded from the denominator | S1 |
| FED-001 | Federal prime contract awards to the firm | FY2015-2024 | awards | Reported | prime contracts, award start FY2015-2024, value > 0 | zero-value awards excluded | S2 |
| FED-002 | Total value of federal prime contract awards, attributed to start year | FY2015-2024 | USD millions | Reported | prime contracts, award start FY2015-2024, value > 0 | zero-value awards excluded | S2 |
| FED-003 | Median award value | FY2015-2024 | USD millions | Reported | prime contracts, award start FY2015-2024, value > 0 | none | S2 |
| FED-004 | Largest single award | FY2015-2024 | USD millions | Reported | prime contracts, award start FY2015-2024, value > 0 | none | S2 |
| FED-005 | Share of contract value awarded by the Department of Defense | FY2015-2024 | % | Reported | prime contracts, award start FY2015-2024, value > 0 | none | S2 |
| FED-006 | Distinct awarding agencies | FY2015-2024 | agencies | Reported | prime contracts, award start FY2015-2024, value > 0 | none | S2 |
| FED-007 | Federal prime contract awards found for Bain & Company (none found is not proof of no public-sector work) | FY2015-2024 | awards | Reported | prime contracts, award start FY2015-2024, value > 0 | n/a | S2 |
| FED-008 | Federal subawards where the firm is the subcontractor | FY2015-2024 | subawards | Reported | subaward fiscal year FY2015-2024 | none | S2 |
| FED-009 | Total value of federal subawards to the firm | FY2015-2024 | USD millions | Reported | subaward fiscal year FY2015-2024 | none | S2 |
| SCALE-001 | Compound annual growth of reported global revenue | 2018-2025 | % per year | Reported | reported points only | no interpolation | S3 |
| SCALE-002 | Compound annual growth of reported global headcount | 2018-2025 | % per year | Reported | reported points only | no interpolation | S3 |
| SCALE-003 | Compound annual growth of global headcount | 2018-2023 | % per year | Reported | both endpoints required | no interpolation | S3 |
| SCALE-004 | Revenue per employee | 2023 | USD thousand per employee | Estimate | both values required | no interpolation | S3 |
| SCALE-005 | Global revenue | 2023 | USD billion | Estimate | 2023 | none | S3 |
| SCALE-006 | Global headcount | 2023 | employees | Estimate | 2023 | none | S3 |
| SCALE-007 | Number of reported (firm- or regulator-published) scale data points collected | 2017-2025 | data points | n/a | firm_scale_points.csv | n/a | S3 |
| SCALE-008 | Number of scale data points verified by opening the source page | 2017-2025 | data points | n/a | firm_scale_points.csv | n/a | S3 |
| OFFICE-001 | Core city office pages listed in the firm's public sitemap (excludes sub-brand offices; not audited) | snapshot Oct 2026 | city office pages | Proxy | BCG and Bain only; McKinsey site unreachable | McKinsey not covered | S4 |
| OFFICE-002 | Core office city pages in region: Asia-Pacific | snapshot Oct 2026 | city office pages | Proxy | mapped via taxonomy.REGION | unmapped pages ignored | S4 |
| IND-001 | SEC filings (all forms) whose text names the firm | 2015-2025 | filings | Proxy | 2015-2025 | none | S5 |
| IND-002 | Operating-company SEC filings naming the firm (10-K, 8-K, S-1, 20-F, S-4, DRS, 10-Q; excl. funds, blank checks, investment vehicles) | 2015-2025 | filings | Proxy | operating forms, mapped industry | filings with no SIC excluded | S5 |
| IND-003 | Distinct operating-company filers naming the firm | 2015-2025 | filers | Proxy | as IND-002 | none | S5 |
| IND-004 | HHI of industry mix of operating-company filings naming the firm | 2015-2025 | index 0-1 | Proxy | as IND-002 | none | S5 |
| IND-005 | Share of operating filings naming the firm that are by filers in: Consumer, retail and leisure | 2015-2025 | % | Proxy | as IND-002 | none | S5 |
| IND-006 | Pages under the firm's industry section (publication emphasis, not revenue) | snapshot Oct 2026 | pages | Proxy | BCG /industries, Bain /industry-expertise | McKinsey not covered | S4 |
| IND-007 | Pages under the firm's capability/services section (publication emphasis, not revenue) | snapshot Oct 2026 | pages | Proxy | BCG /capabilities, Bain /consulting-services | McKinsey not covered | S4 |
| INTL-001 | UK public-sector contract awards to the firm (Contracts Finder), excluding framework ceilings | 2015-2025 | awards | Reported | award year 2015-2025; value < GBP 50M | frameworks excluded | S6 |
| INTL-002 | Total awarded value, excluding framework ceilings | 2015-2025 | GBP millions | Reported | as INTL-001 | missing values ignored | S6 |
| INTL-003 | Framework-agreement notices at or above GBP 50M (ceiling values, not spend) | 2015-2025 | awards | Reported | value >= GBP 50M | n/a | S6 |
| INTL-004 | Canadian federal contracts over CAD 10K to the firm | 2015-2025 | contracts | Reported | contract year 2015-2025 | none | S7 |
| INTL-005 | Total contract value (including amendments as reported) | 2015-2025 | CAD millions | Reported | contract year 2015-2025 | missing ignored | S7 |
| INTL-006 | Australian federal contract notices to the firm (AusTender) | 2015-2025 | contracts | Reported | signed 2015-2025 | none | S8 |
| INTL-007 | Total notified contract value | 2015-2025 | AUD millions | Reported | signed 2015-2025 | missing ignored | S8 |
| PUB-001 | BCG publication pages dated 2013 in the URL | 2013 | publication pages | Proxy | sitemap snapshot Oct 2026 | undated pages not counted | S4 |
| PUB-002 | BCG publication pages dated 2025 in the URL | 2025 | publication pages | Proxy | sitemap snapshot Oct 2026 | undated pages not counted | S4 |
| PUB-003 | Share of BCG publication pages whose URL slug names AI/GenAI | 2019 | % | Proxy | slug keyword match | pages without AI in slug count as non-AI | S4 |
| PUB-004 | Share of BCG publication pages whose URL slug names AI/GenAI | 2025 | % | Proxy | slug keyword match | pages without AI in slug count as non-AI | S4 |
| PUB-005 | BCG publication pages with an AI term in the slug | 2025 | pages | Proxy | 2025 | none | S4 |
| PUB-006 | Scholarly works with a firm affiliation recorded in OpenAlex | 2010-2025 | works | Reported | 2010-2025 | Bain has no OpenAlex institution record | S9 |
| ATT-001 | Average annual English-Wikipedia pageviews of the firm's article | 2016-2025 | views per year | Attention | user agents, all access | none | S10 |