Skip to content

Rerun the analysis yourself

Everything on this site is regenerated from the repository. These steps need no private knowledge.

1. Prerequisites

  • Python 3.14 (the versions in requirements.txt are pinned against it) and Node.js 20 or later.
  • Internet access only for step 2 (re-downloading raw data). The committed raw extracts let you skip it.

2. Obtain the data

The repository includes the raw extracts used for the published numbers in data/raw/. To download them again from the public sources:

make ingest

This is slow, calls public APIs and can return slightly different totals if an agency has amended records. The Canadian contracts file is about 640 MB; python -m src.ingest.canada_contracts path/to/contracts.csv accepts a copy you have already downloaded.

3. Set up the environment

git clone https://github.com/dranzer-17/management-consulting-benchmark.git
cd management-consulting-benchmark
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

4. Run the pipeline

make reproduce   # clean, metrics, figures, sources, website data, validation

5. Run the validation and tests

make check       # data validation only
make test        # validation plus every registered claim

6. Regenerate charts and tables

Tables are written to outputs/tables/ and static charts to outputs/figures/ by make reproduce. The website’s own charts are drawn from the exported JSON.

7. Launch the website locally

cd web
npm install
npm run dev      # http://localhost:3000

8. Known limitations and manual steps

  • Scale figures are hand-compiled. data/manual/firm_scale_points.csv is entered by hand from linked sources, so that step cannot be automated. Most McKinsey and Bain points are unverified.
  • One third-party mirror. H-1B and PERM extracts are read from a public Hugging Face mirror of Department of Labor files, which has not been re-checked against the originals.
  • Registry data drifts. Re-downloaded totals can differ slightly from the published ones.
  • Not covered: McKinsey’s website cannot be read by automated requests; the Power BI dashboard and slide deck are not built.