The Record
This site is generated from committed canonical JSON built from the United Nations World Population Prospects 2024 release and UN DESA International Migrant Stock 2024. The Register records the count and keeps provisional signals out of canonical figures.
United Nations World Population Prospects
2024 Revision, Online Edition
POP/DB/WPP/Rev.2024/GEN/F01/Rev.1
Open sourceUnited Nations International Migrant Stock
2024 Revision · POP/DB/MIG/Stock/Rev.2024
232 WPP country or area records matched. Working-age migrant share is not published in this source revision.
Open source237 countries or areas checked
Identity check: population change approximately equals births minus deaths plus net migration, and natural change equals births minus deaths. Population breaches: 0. Natural-change breaches: 0. Tolerances: 0.5% of population, floor 0.5 thousand; natural change 0.001 thousand.
Identity review register
237 WPP Country/Area rows are tracked by ISO alpha-2, ISO alpha-3, and UNSD M49 statistical area code. The source registry records the UNSD M49 authority separately from the WPP demographic release. All 237 rows are accepted in the human-reviewed country registry.
Source release browser
Each public metric points back to one of these release records. The release identifier, retrieval time or review marker, checksum register, transform chain, and formula version together define the source-backed Register snapshot.
| Source | Release | Retrieved / reviewed | License |
|---|---|---|---|
| United Nations World Population Prospects wpp2024 | 2024 Revision, Online Edition POP/DB/WPP/Rev.2024/GEN/F01/Rev.1 5 source files · raw file release | 2026-06-25T11:25:03+00:00 | CC BY 3.0 IGO |
| United Nations International Migrant Stock migrant_stock_2024 | 2024 Revision POP/DB/MIG/Stock/Rev.2024 1 source file · raw file release | 2026-06-24T20:03:42+00:00 | CC BY 3.0 IGO |
| World Bank Indicators API world_bank_checks | World Development Indicators, API v2 live API snapshot 2 source files · raw file release | 2026-06-24T20:22:53+00:00 | CC BY 4.0 |
| United Nations Statistics Division M49 unsd_m49 | current current 0 source files · fileless identity registry registry artifact: pipeline/registry/countries.yaml canonical identity artifact: data/canonical/identity-review.json | registry-reviewed UNSD M49 is treated as the reviewed country/area identity authority. The pipeline does not download a raw M49 packet; it records the active authority row from sources.yaml, the human-reviewed registry, and the canonical identity-review artifact. WPP Country/Area rows hydrate the canonical Register. The human-reviewed registry accepts ISO alpha-2, ISO alpha-3, and M49 identifiers against the UNSD M49 statistical-code authority before rows are treated as reviewed. | UNSD statistical standard |
Metric provenance
Formula rows list the public global metrics and the country metric contract. Country rows below use Japan as a representative artifact; canonical QC requires the same metric provenance keys across every country or area record.
| Scope | Metric | Source | Formula | Transform |
|---|---|---|---|---|
| country | derived.crossoverYear | wpp2024 | first-deaths-exceed-births-v1 | pipeline.derive.wpp |
| country | derived.generationalShrink | wpp2024 | tfr-over-replacement-v1 | pipeline.derive.wpp |
| country | derived.halvingTimeYears | wpp2024 | negative-growth-halving-time-v1 | pipeline.derive.wpp |
| country | derived.migrantShare | migrant_stock_2024 | migrant-stock-share-v1 | pipeline.derive.wpp |
| country | derived.peakYear | wpp2024 | peak-year-max-population-v1 | pipeline.derive.wpp |
| country | derived.stage | wpp2024 | stage-framework-v1 | pipeline.derive.wpp |
| country | derived.stageSince | wpp2024 | stage-framework-v1 | pipeline.derive.wpp |
| country | derived.vanishingPoint.currentRate | wpp2024 | population-over-annual-loss-v1 | pipeline.derive.wpp |
| country | derived.vanishingPoint.generational | wpp2024 | tfr-over-replacement-v1 | pipeline.derive.wpp |
| country | derived.workingAgePeakYear | wpp2024 | working-age-peak-year-max-population-v1 | pipeline.derive.wpp |
| country | display.births | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| country | display.deaths | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| country | display.medianAge | wpp2024 | wpp-direct-v1 | pipeline.derive.wpp |
| country | display.naturalChange | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| country | display.netMigration | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| country | display.oldAgeDependencyRatio | wpp2024 | wpp-direct-v1 | pipeline.derive.wpp |
| country | display.population | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| country | display.populationChange | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| country | display.tfr | wpp2024 | wpp-direct-v1 | pipeline.derive.wpp |
| country | display.workersPer65Plus | wpp2024 | wpp-direct-v1 | pipeline.derive.wpp |
| country | series.ageStructure | wpp2024 | single-age-sex-pyramid-anchor-v1 | pipeline.derive.wpp |
| country | series.rows | wpp2024 | wpp-direct-v1 | pipeline.derive.wpp |
| global | series.rows | wpp2024 | wpp-direct-v1 | pipeline.derive.wpp |
| global | shrinkingAggregate.countries | wpp2024 | negative-total-change-sum-v1 | pipeline.derive.wpp |
| global | shrinkingAggregate.iso2 | wpp2024 | negative-total-change-sum-v1 | pipeline.derive.wpp |
| global | shrinkingAggregate.netLossPerYear | wpp2024 | negative-total-change-sum-v1 | pipeline.derive.wpp |
| global | world.displayPopulation | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| global | world.peakPopulation | wpp2024 | thousands-to-people-v1 | pipeline.derive.wpp |
| global | world.peakYear | wpp2024 | peak-year-max-population-v1 | pipeline.derive.wpp |
Checksum register
Raw upstream files are not committed. The public canonical snapshot records retrieval timestamps, byte sizes, and SHA-256 checksums for source packets used to hydrate the Register.
| Source | File | Retrieved | SHA-256 |
|---|---|---|---|
| wpp2024 | wpp2024_demographic_indicators_compact 26,142,942 bytes | 2026-06-25T11:25:03+00:00 | 98e34d9b65b5...8055ae6d |
| wpp2024 | wpp2024_population_select_age_groups_both_sexes 154,707,192 bytes | 2026-06-25T11:25:03+00:00 | d4c0feedcf8f...23767e18 |
| wpp2024 | wpp2024_dependency_ratios_both_sexes 55,290,594 bytes | 2026-06-25T11:25:03+00:00 | 19e785ebc6bf...6ca2b17c |
| wpp2024 | wpp2024_population_single_age_male 212,442,460 bytes | 2026-06-25T11:25:03+00:00 | 6de949eb0d6b...a351dfb1 |
| wpp2024 | wpp2024_population_single_age_female 212,544,004 bytes | 2026-06-25T11:25:03+00:00 | d9c962d7e0be...a2955b6e |
| migrant_stock_2024 | undesa_2024_ims_destination 541,936 bytes | 2026-06-24T20:03:42+00:00 | 894fe0637f64...c236ce82 |
| world_bank_checks | SP.POP.TOTL 262,803 bytes | 2026-06-24T20:22:53+00:00 | 985ad9f179b7...d837a74f |
| world_bank_checks | SP.DYN.TFRT.IN 282,874 bytes | 2026-06-24T20:22:53+00:00 | f13094c56383...09b0f0ab |
Pipeline transform register
Canonical JSON was generated from checked-out commit 95ac67dfd891 with fingerprint 64c58ff6af83...82d7fb92. The fingerprint is computed from the pipeline modules, config, sources.yaml, and identity registry input.
transformGitCommit records the checked-out git commit at generation time. pipelineFingerprint is computed from the current pipeline modules, config, and source and identity registry inputs, and is authoritative when canonical artifacts are generated from a worktree that is committed together with pipeline edits.
| Source | Transform chain |
|---|---|
| wpp2024 | pipeline.acquire.wpp -> pipeline.normalize.wpp -> pipeline.validate.wpp -> pipeline.derive.wpp |
| migrant_stock_2024 | pipeline.acquire.wpp -> pipeline.normalize.migrant_stock -> pipeline.validate.migrant_stock -> pipeline.derive.wpp |
| world_bank_checks | pipeline.acquire.world_bank -> pipeline.normalize.world_bank -> pipeline.validate.world_bank |
| unsd_m49 | pipeline.derive.wpp -> pipeline.registry.review |
Pipeline state register
The canonical snapshot carries schema version 1, generated at 2026-06-27T00:38:38+00:00. Its sourceFingerprint is f1f36be7455f...84fa63ab and its pipelineFingerprint is 64c58ff6af83...82d7fb92. The build metadata endpoint exposes the same fingerprints for deploy-time checks.
Revision notes are encoded as source release identifiers and file checksums. A Layer 1 refresh that changes these fingerprints produces a reviewable canonical diff before any deploy step can run.
| Source | Revision | Version | Files |
|---|---|---|---|
| migrant_stock_2024 | POP/DB/MIG/Stock/Rev.2024 | 2024 Revision | 1 |
| unsd_m49 | current | current | 0 |
| world_bank_checks | live API snapshot | World Development Indicators, API v2 | 2 |
| wpp2024 | POP/DB/WPP/Rev.2024/GEN/F01/Rev.1 | 2024 Revision, Online Edition | 5 |
Canonical artifact inventory
The static site is hydrated from committed JSON artifacts generated by the pipeline. These files are reviewable git diffs; raw source packets remain outside the repository.
| Artifact | Coverage |
|---|---|
| data/canonical/global.json | world series and shrinking aggregate |
| data/canonical/country/{iso2}.json | 237 country or area records |
| data/canonical/rankings/ledger.json | 62 shrinking Ledger rows |
| data/canonical/rankings/fertility.json | 237 fertility rows |
| data/canonical/rankings/migrantShare.json | 232 migrant-stock matches |
| data/canonical/rankings/vanishingPoint.json | 57 current-rate rows |
| data/canonical/stages.json | 1,596 transition-log rows |
| data/canonical/pipeline-state.json | 4 source states; sourceFingerprint f1f36be7455f...84fa63ab |
| data/canonical/checks/worldBank.json | 216 population checks |
| data/signals/dispatches.json | 0 published, 235 quarantined |
World Bank WDI cross-checks
216 population rows and 216 fertility rows matched WPP countries or areas. Warnings record large source deltas; they do not overwrite canonical WPP figures.
Open API sampleSource licenses
United Nations, Department of Economic and Social Affairs, Population Division (2024). World Population Prospects 2024, Online Edition. License recorded by the pipeline: CC BY 3.0 IGO.
United Nations International Migrant Stock 2024. License recorded by the pipeline: CC BY 3.0 IGO.
World Bank World Development Indicators cross-checks are used under CC BY 4.0 and do not overwrite canonical WPP figures.
Open data attribution READMECanonical before provisional
Layer 1 is source-backed canonical JSON. Layer 2 dispatches are designed as provisional reports and must not write into country records until reconciled.
A phenomenon, not a verdict
Some readers will regard population decline as crisis; others will read it as relief. The Register takes no position. It keeps the count, labels projections, and separates decline, fertility, natural change, migration, and total population change.
Observers are labels, not authorities
Observer remarks are deterministic margins generated from Register facts and quality-control results. They do not appear inside charts, do not use data colors, and do not tell the reader what to conclude.
The Annex is separate
The Annex is the future commentary room for AI persona threads. Those threads are not part of the record, will carry model-attribution chips, and must be curated before publication. Annex material cannot write to canonical Register data.