Demographic data model
Every demographic projection is built from the same base reference tables, one coherent choice of which vintage of each to use, plus optional fine-tuning. This page is the methodology reference: the tables, every input and button in the tool, what the outputs mean, and where the data comes from. Country-specific data sets live on each country’s page; a step-by-step walkthrough is in How to model demography.
The base tables
Section titled “The base tables”| Table | Dimensions | Value column | Unit | Used by |
|---|---|---|---|---|
population_base |
age 0–100 × sex (M/F) | count |
persons | demography (start) |
fertility |
age 0–100 | asfr_per_1000 |
births per 1000 women | demography |
mortality |
age 0–100 × sex | qx |
annual death probability | demography |
migration |
age 0–100 × sex | net_migration |
persons per year | demography |
recipient_share |
age 0–100 × sex | share |
fraction 0–1 | pensions (later) |
The first four are the four demographic variables: the starting population
and the three yearly flows — births (fertility), deaths (mortality) and net
migration. recipient_share is coverage for the pensions model, not demography.
Format requirements
Section titled “Format requirements”- CSV, long format, one row per cell, header row.
- Ages 0–100 inclusive; age 100 is a closed terminal group.
- Sex coded
M/F; array order male, then female. - No gaps or NaN — an incomplete table is rejected at load time.
The schema is identical for every country, so adding a country means supplying these tables — nothing in the engine changes.
Inputs and controls (the Inputs tab)
Section titled “Inputs and controls (the Inputs tab)”Each parameter is a boxed block with a + / − collapse toggle; collapsed, it
shows a one-line summary so many scenarios stay compact.
- Model — projection period.
Start from(year, ≥ the population dataset’s base year) andForecast N years → horizon. A confidence badge grades the horizon: ≤25 yr high, 26–50 moderate, 51–75 low, >75 indicative only. - Population. Dropdown of population datasets (the start-of-projection age–sex structure).
- Fertility / Mortality / Migration. A dataset dropdown, plus a fine-tuning trend (see below). Migration’s dropdown carries preset time paths (e.g. the national statistics office’s projection variants) instead of a single set.
- Show projections button (each block) — opens a read-only preview (below).
- Scenario name and Add scenario — runs the projection and adds the result to the chart and the scenario list.
Fine-tuning (trend then plateau)
Section titled “Fine-tuning (trend then plateau)”Each flow variable can follow a “trend then plateau” path via its checkbox: the coefficient changes by ±X% per year for N years, then holds constant. Unchecked (or 0) leaves it flat.
- Mortality is enabled by default and improves 0.5%/yr for 10 years, then plateaus — a conservative stand-in for ongoing mortality improvement.
- Fertility and migration are stable unless enabled.
- Choosing a preset migration scenario (already dynamic) auto-clears its trend; you can re-enable it to multiply the preset.
Previewing assumptions (Show projections)
Section titled “Previewing assumptions (Show projections)”The right panel shows the assumption before running:
- Population — an age–sex pyramid with total / male / female summary.
- Fertility / mortality / migration — the age curve of the set. If a trend is
active, a faint dotted curve shows where it lands by the horizon, with a
one-line “was → became” summary (life expectancy
e0for mortality,TFRfor fertility, net total for migration). - Distribution / Total-by-year toggle (fertility, mortality, migration): the second view plots the summary over time — migration’s net total per year (revealing how a preset scenario ramps down), fertility’s TFR by year, mortality’s e0 by year.
Projection method
Section titled “Projection method”Population evolves year by year: each cohort ages and survives by qx, births are
added at age 0 (asfr × female population, split by the sex ratio at birth), and
net migration is applied. By default coefficients are held flat; the trend
adjustment scales them per year as above.
Outputs and their use
Section titled “Outputs and their use”Main chart (Inputs/Outputs) — the population forecast: one line per visible scenario (the “fan of forecasts”), with a table of each scenario’s data set, horizon and adjustments.
Outputs tab (controls on the left, chart on the right, ⬇ CSV export):
- Age-sex structure — the population pyramid, animated across the whole projection (play / slider) or a Compare of two chosen years. Shows ageing and the shifting shape of the population.
- Cohorts — population of any age band (presets 0–15, 16–64, 65+, 75+, 80+ or a custom range) by sex, one line per visible scenario. The 16–64 vs 65+ split is the core of old-age dependency and pension pressure.
History and life expectancy
Section titled “History and life expectancy”The History tab shows the historical data behind a country (only where it is available):
- Life expectancy —
e0(ore_xat any chosen age) from 1908, per sex. Tick Add model projections to overlay each scenario’s projected life expectancy (base mortality × its trend) as dotted lines — past and modelled future on one timeline. A year From/To range sets the horizontal scale. - Historical mortality — heatmap —
qxby age × year (colour, real-qx colourbar), with optional iso-qx isolines and age guides (65/80); sex Female / Male / Both. - qx at ages —
qxat 65, 80 and a custom age over time (log axis). - Deaths — age-sex tree — an animated pyramid of historical deaths.
- Healthy life expectancy (HALE) — WHO HALE at birth and at 60 with 95% uncertainty bands, per sex.
Data sources
Section titled “Data sources”| Source | Used for |
|---|---|
| Human Mortality Database | mortality qx, life tables, historical deaths |
| WHO Global Health Observatory | Healthy life expectancy (HALE) |
| INE (Spain) | population, fertility, migration + projections |
| Rosstat (Russia) | population, fertility, mortality, migration |
Which vintages feed the baseline for each country, and the extra series shipped, are listed on the country pages.