← Back

Data & Methodology

All data, code, and results used in this project are freely available for download, verification, and reuse. We believe in full transparency — every number on this site can be traced back to these source files.

100 TFR scenarios (0.1 to 10.0) computed with 10M trajectories each — 1 billion total trajectories on 8× NVIDIA A100 GPUs.

Simulation Results

tfr_sweep_global.json(443 KB)

Complete TFR sweep — 100 scenarios (TFR 0.1 to 10.0 in 0.1 steps) × 10M trajectories each = 1 billion total. Contains p5/p25/p50/p75/p95 percentiles and the probability of falling below 1M people at every 5-year step from 2029-2499. The public hero uses the most interpretable 0.5-5.0 range; extreme high-TFR values above 5.0 in the raw file should be treated as illustrative stress tests.

Download
scenario_results_verified.json(3.8 KB)

Six legacy fixed-TFR scenario projections (10M trajectories each). Contains timeline data points and threshold crossing dates (e.g. year population drops below 1B). The current site exposes 8 named scenarios; the three per-country additions (No Recovery, Continued Trends, Baby Boom) live in country_table.json and globe_gpu_pop.json.

Download
country_table.json(650 KB)

Per-country data for the Country Atlas table. UN 1800-2100 historical/projected, TFR 1950-2100, and GPU projections under all 8 named scenarios at horizon years 2050, 2075, 2100, 2129, 2149, 2199, 2249, 2299, 2349, 2499. Country entries include p5/p50/p95; bloc entries (EU, BRICS, etc.) include only p50 — see methodology for why.

Download
globe_gpu_pop.json(190 KB)

Per-country median population paths feeding the interactive globe — all 8 scenarios × 192 countries × 9 horizon years.

Download
globe_tfr_paths.json(670 KB)

Per-country TFR trajectories under each scenario, used to colour the globe by fertility level over time.

Download
globe_suspect.json(<1 KB)

Coherence-audit flags. Lists any country whose median exceeds 50% of its scenario world total — UI renders these with an amber asterisk. Currently empty (0 violations across 13,824 entries).

Download
reproducibility_test.json(16 KB)

Reproducibility analysis — each scenario run 5 independent times with different random seeds. Reports coefficient of variation (CV) at each time point. Maximum CV: 2.55% at one outlier point due to histogram bin resolution; all others 0.00%.

Download
country_projections.csv(12 KB)

Per-country population projections (192 sovereign nations) at years 2024-2300 under UN medium variant. CSV format, values in millions.

Download
country_projections_full.json(38 KB)

Extended country data including language, religion, and population projections. JSON format.

Download

Per-Country Data

countries/{slug}.json(~350 KB each)

Per-country TFR sweep — 100 TFR scenarios (0.1-10.0) with p5/p25/p50/p75/p95 percentiles at every 5-year step. 192 files, one per country. Powers the interactive TFR slider on country pages.

Download
economic/{slug}.json(~120 KB each)

Per-country economic scenarios — estimated dependency ratios from demographic relationships, plus illustrative GDP projections (Barro convergence model) and fiscal pressure index under 13 TFR scenarios. 192 files.

Download

Source Data (Third Party)

un_wpp_2024_demographics.csv(3.9 MB)

UN World Population Prospects 2024 — demographic indicators for 237 countries (2024-2101). Includes TFR, life expectancy, CBR, CDR, net migration. Original source: population.un.org/wpp

Download
owid_historical.json(65 KB)

Historical population by country (1800-1949) from Our World in Data, sourced from Gapminder/Maddison Project. Estimates use modern borders. Original source: ourworldindata.org/population

Download

Source code

The full simulation engine, scenario scripts, data pipeline, and source data live in the public GitHub repository: github.com/alexpwrd/humanityforecast (MIT licensed). Includes population_real.py, population_multigpu.py,population_tfr_sweep.py, and the new per-country scenario scripts (population_no_recovery.py, population_continued_trends.py,population_baby_boom.py) with reproducible results in data/results/.

# Requirements: Python 3.10+, PyTorch 2.x with CUDA

# Hardware: NVIDIA GPU with 24GB+ VRAM (single GPU) or 8× A100 (full sweep)

git clone https://github.com/alexpwrd/humanityforecast

cd humanityforecast/simulation && pip install -r requirements.txt

python population_real.py --validate # Match UN within 1.6%

python population_tfr_sweep.py # 100 TFR × 10M trajectories

python population_no_recovery.py --n-traj 10M # Per-country scenario

License

All simulation code, results, and derived data are released under the MIT License. Source data from UN, OWID, Pew Research, and CIA Factbook retain their original licenses. UN WPP data is public domain. OWID data is CC-BY. Pew Research data requires attribution.