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.txtare 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.csvis 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.