How a possible life is made.
The birth lottery methodology: real population data, a reproducible draw, and the assumptions between the numbers.
Start with a baby, not a flag
Imagine placing one ticket in a bowl for each projected birth in 2026. A country with ten million births contributes ten million tickets. We select a country in proportion to its annual births, then draw the rest of the life. This is different from choosing uniformly among countries, or sampling people who are already alive.
Birth counts come from the UN World Population Prospects 2024 medium scenario, distributed by Our World in Data, including the interim revision described in the saved source metadata. Our 215 matched countries and territories cover about 99.84% of projected world births. We normalize over this included set; unmatched territories are not silently assigned zero births.
What comes from observations
The country sex ratio at birth determines the male/female draw: if the ratio is r male births per female birth, the male probability is r / (1 + r). These source categories do not describe gender identity or the full variation in sex characteristics. The urban population share is used as a proxy for the chance of an urban upbringing; it is not a birth-specific urban rate.
We take the latest non-null World Bank observation within 2015-2024 for each country and indicator. There is no single common observation year. For missing values, we use the median among peers in the same region and income group (at least three observations), then income group, then all countries. Every inferred value has a fallback label and donor-year range.
Survival before storytelling
Infant mortality per 1,000 births sets the probability of dying before age one. Under-five mortality sets cumulative mortality before five. One draw selects infancy, ages one to four, or survival to five, so these risks are not counted twice. Death ages within childhood intervals are simplified uniform draws.
For survivors, a Weibull distribution with shape 5 models years beyond age five. Its scale is calibrated so the combined childhood and adult mean approximates sex-specific life expectancy at birth. Lifespans are capped at 120. This is a simplified mortality curve, not an official life table. It freezes recent period conditions, rather than forecasting medical progress, conflict, migration or climate. Events after death are never added.
School and work are approximate pathways
Primary completion, lower-secondary completion and tertiary gross enrollment are clamped to 0-100% and constrained to a nested sequence. One education draw keeps the pathways consistent. Completion milestones require surviving to ages 12, 16 and 22. Gross rates are imperfect proxies for an individual’s education probability; enrollment is not graduation.
Employment-to-population and agriculture/industry employment shares guide one work scenario from age 18 or 22. Service work is the residual. National adult employment rates do not predict a young person’s job, and the model does not assign prestige to sectors. An income scenario multiplies GDP per capita in PPP international dollars by 0.55, an education factor (0.75, 1 or 1.4) and lognormal variation (sigma 0.65). GDP is output, not wages; the displayed income is illustrative, not measured income.
The clearly fictional parts
Marriage uses an assumed 72% chance and an age drawn from 22-36, provided the life reaches that age. We do not have comparable marriage microdata here. Children are drawn from a Poisson distribution with a mean equal to period fertility, for either sex and independently of marriage. Birth events start between ages 22-33, are spaced 2-4 years apart and stop after 49 or death. This is an intentionally coarse story, not cohort fertility or a model of every family structure.
Personal memories are original fiction. The age-65 change of pace is a narrative marker, not a claim about retirement benefits. Urban/rural residence remains fixed; migration, disability, wealth inheritance, discrimination and within-country inequality are not explicitly modeled. These omissions matter. A simulation can invite perspective without claiming to quantify a human life.
Why a link can replay a life
A 1-64 character seed initializes FNV-1a and Mulberry32. The seed, algorithm version and frozen dataset determine the result; the interface language does not affect the draw. The URL carries seed and v=1. New data or algorithms must use a new version. Unknown versions show an error instead of returning a different life.
The full data, source responses, checksums and derivation script are included in this project. Use the data explorer to inspect individual fields and the source ledger for exact URLs, years, licenses and fallback rules.
A thought experiment with real-world roots.