Methodology
Methodology
q = clamp(u + δ, 1, 999,999) ; age at death = S⁻¹(q)
Source: UN WPP 2024 · WPP2024.1 · rules v1 · engine 1.0.0
Four principles
Published inputs, no invented ones — Country, sex, birth year, family income, urban or rural, schooling, income, and cause-of-death composition all come from UN WPP 2024 or World Bank WDI. Where a value is missing, the game says so or stays silent; it does not fill the gap with a plausible number.
One draw, bounded shift — A single uniform number is drawn at birth and fixed for the life. It is converted to an age through the country's own survival curve. Choices add a shift to that number, capped per country and sex so that a full set of favourable choices moves life expectancy by at most 6 years.
Disclosed, not implied — Every event carries a source reference. Every derived figure carries its formula on the page that shows it. The effect size attached to a decision is the one the cited study found, converted into this country's life table — not a global average applied everywhere.
No claim about any person — The output is a simulated record. It is not a forecast of anyone's life, and it cannot be: it does not know who is playing.
How the age at death is chosen
Each country and sex has a published survival curve for each year from 1950 to 2023, as the share of a birth cohort still alive at each exact age. The life's uniform draw picks a point on that curve; the age at that point is the age at death. If every life used the same curve with no shift, the simulated distribution would match the published one exactly — and it does, to within 0.006 years of life expectancy in the worst of 35,076 tables.
How the shift is bounded
A quantile shift is not a number of years: the same shift is worth more years where mortality is high. We therefore solve, for each country and sex, the shift whose all-favourable effect is exactly 6 years, and cap a life's cumulative shift there. The calibration checks all 74 birth cohorts, not only the reference year, and the worst realised effect is 0.0058 years.
Which decisions carry an effect
Only two options in the released model have a sourced effect on survival: continuing to upper secondary school, and starting to smoke. Every other option changes the record — schooling, income, occupation, family — and moves survival by nothing. An option without a citation ships at zero, enforced at construction time so it cannot be quietly tuned.
δ(option) = 0 unless data/effects.json contains an entry for it
Missing data
The site publishes a coverage count for every indicator. Where a country has no observation within twelve years of a life's year, the game either uses a documented fallback stated on this page, or omits the event. Tobacco prevalence is the clearest case: 166 of 237 locations have a published value, and where there is none the health decision is not offered, because inventing a prevalence would invent a fork.
Value tiers
Tier A — observed in the source for that country and year.
Tier B — the nearest observation within twelve years; the year shown is the observation's own year.
Tier C — a regional median used where a country has no observation. Never shown in a headline and always labelled estimated.
Tier D — no value; the field is omitted rather than zero-filled.
Calibration results
The simulation's output is checked against the published figures rather than asserted to match them. The table below is generated from the built dataset on every release.
World figures on this page are birth-weighted averages of the 237 national values, computed by us from the published series. They are not UN-published world aggregates; the formula for each is stated above.
| Check | Result | Detail |
|---|---|---|
| e0-reconstruction | pass | 35076 tables, max |error| 0.00579 y at BLM M 1999; 0 over 0.05 y |
| birth-weights | pass | 132,110,261 births in 2023 |
| quintiles | pass | 170/237 countries; max |sum−100| 0.100 |
| cause-groups | pass | 185/237 countries have all three cause shares |
| life-tables-complete | pass | 237 countries × 2 sexes × 74 years |
Known limits
It is a period model. One year's death rates are applied to a whole life; a real cohort experiences changing rates. This is the standard simplification and it is what the published tables describe.
Children born after 2023 borrow the 2023 table, because no later one is published. The record does not pretend otherwise.
Income is modelled from GNI per capita and the family's quintile; it is not a household survey. It is a scale, not a salary.
Education uses the country's adult attainment as the anchor for a cohort that has not finished school yet, adjusted by family income. It is an approximation with a documented direction of error.
Family events use the country's fertility rate to set a household's size, not an individual's fertility history.
Cause of death is assigned in three groups only. The data does not support finer precision for an individual, and the site never claims it.
Reproducing a life
A life is fully described by its seed, its stored birth, and the ordered list of its inputs. The transfer code contains exactly that. Given the same dataset version and the same rules version, replaying it produces the same record byte for byte; the app verifies this at every tenth year.
record = play(seed, birth, inputs, dataset, rules)
Questions this page answers
- Why do my choices matter so little?
- Because that is what the evidence supports. Birthplace alone moves life expectancy by decades, while the largest well-measured individual behaviours move it by a few years. A model in which choices dominated would be more flattering and less true.
- Is any of this generated by an AI model at runtime?
- No. There is no model call during play. The text is written in advance and the numbers come from arithmetic on published tables.
- How do I check a number?
- Every country page shows its formula and links to the source table. The full dataset is downloadable as JSON and CSV, with checksums published alongside it.
Methodology
The output is a simulated record. It is not a forecast of anyone's life, and it cannot be: it does not know who is playing.
Data year: 2023