A data package providing curated, cross-sectional snapshots of micromort (acute risk) and microlife (chronic risk) values from authoritative sources including Wikipedia, CDC MMWR, IHME GBD 2023 via OWID, and academic literature.
120 activity IDs across 193 atomic risk rows. 35+ chronic factors. 6-country disease mortality + risk factors from GBD 2023. 3 interactive quizzes. Closeread scrollytelling. REST API.
Explore
Load the Datasets
library(micromort)
# Load acute risks (micromorts per event)
acute <- load_acute_risks()
nrow(acute)
#> [1] 104
# Load chronic risks (microlives per day)
chronic <- load_chronic_risks()
nrow(chronic)
#> [1] 38Acute Risks (Micromorts per Event)
# Top 10 riskiest activities
acute |>
dplyr::select(activity, micromorts, category, period) |>
head(10)
#> # A tibble: 10 × 4
#> activity micromorts category period
#> <chr> <dbl> <chr> <chr>
#> 1 Mt. Everest ascent 37932 Mountaineering per ascent
#> 2 Himalayan mountaineering 12000 Mountaineering per expedi…
#> 3 COVID-19 infection (unvaccinated) 10000 COVID-19 per infect…
#> 4 Spanish flu infection 3000 Disease per infect…
#> 5 Matterhorn ascent 2840 Mountaineering per ascent
#> 6 Living in US during COVID-19 (Jul 2020) 500 COVID-19 per month
#> 7 Living (one day, age 90) 463 Daily Life per day
#> 8 Base jumping (per jump) 430 Sport per jump
#> 9 First day of life (newborn) 430 Daily Life per day
#> 10 COVID-19 unvaccinated (age 80+) 234 COVID-19 11 weeks (…Chronic Risks (Microlives per Day)
# Factors that reduce life expectancy
chronic |>
dplyr::filter(direction == "loss") |>
dplyr::select(factor, microlives_per_day, category) |>
head(10)
#> # A tibble: 10 × 3
#> factor microlives_per_day category
#> <chr> <dbl> <chr>
#> 1 Smoking 20 cigarettes -10 Smoking
#> 2 Smoking 10 cigarettes -5 Smoking
#> 3 Untreated hypertension -4 Cardiovascular
#> 4 Being male (vs female) -4 Demographics
#> 5 Being 15 kg overweight -3 Weight
#> 6 Type 2 diabetes (poorly controlled) -3 Cardiovascular
#> 7 Being 10 kg overweight -2 Weight
#> 8 4th-5th alcoholic drink -2 Alcohol
#> 9 Sitting 8+ hours/day -2 Sedentary
#> 10 High LDL cholesterol (untreated) -2 CardiovascularVisualize
plot_risks(common_risks() |> dplyr::filter(micromorts >= 1))
Risk comparison in micromorts (log scale). Bars show death probability per event. COVID-19 and other risks shown in separate panels for clarity.
Analyse
Compare Lifestyle Interventions
compare_interventions(list(
"Quit 10 cigarettes/day" = list(factor = "Smoking 10 cigarettes", change = -1),
"Lose 5kg" = list(factor = "Being 5 kg overweight", change = -1)
))
#> # A tibble: 2 × 7
#> intervention factor original_ml_per_day change net_ml_per_day annual_days
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 Quit 10 cigarett… Smoki… -5 -1 -5 -38
#> 2 Lose 5kg Being… -1 -1 -1 -7.6
#> # ℹ 1 more variable: lifetime_years <dbl>Calculate Baseline Risk by Age
daily_hazard_rate(35)
#> # A tibble: 1 × 9
#> age sex daily_prob micromorts micromorts_lower micromorts_upper
#> <dbl> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 35 male 0.00000296 3 2.7 3.3
#> # ℹ 3 more variables: microlives_consumed <dbl>, precision_note <chr>,
#> # interpretation <chr>Lifestyle Tradeoffs
lifestyle_tradeoff("Smoking 2 cigarettes", "20 min moderate exercise")
#> # A tibble: 1 × 6
#> bad_habit bad_ml_per_day good_habit good_ml_per_day units_needed
#> <chr> <dbl> <chr> <dbl> <dbl>
#> 1 Smoking 2 cigarettes -1 20 min moder… 2 0.5
#> # ℹ 1 more variable: interpretation <chr>Country-Level Disease Risk
# Compare disease burden: UK vs Nigeria
common_risks(profile = list(country = "NG")) |>
dplyr::filter(grepl("mortality risk", activity)) |>
dplyr::select(activity, micromorts)
#> # A tibble: 4 × 2
#> activity micromorts
#> <chr> <dbl>
#> 1 Daily CVD mortality risk (Nigeria) 7.33
#> 2 Daily cancer mortality risk (Nigeria) 2.79
#> 3 Daily LRI mortality risk (Nigeria) 1.77
#> 4 Daily diarrheal mortality risk (Nigeria) 0.88Quizzes
| Quiz | Instant (static JS) | Shinylive (30-60s load) | Local |
|---|---|---|---|
| Which Is Riskier? | Play | Play | launch_quiz() |
| Microlife Quiz | Play | Play | launch_chronic_quiz() |
| Rank the Risks | Play | Play | ranking_quiz_questions() |
All quizzes have score submission + percentile ranking via Google Forms. Static JS versions load instantly; Shinylive versions use WebR (30-60s load).
# Generate geography-specific quiz pairs
geography_quiz_pairs(countries = c("UK", "NG"), seed = 42)Install
R-Universe (Recommended)
install.packages("micromort", repos = "https://johngavin.r-universe.dev")GitHub
devtools::install_github("JohnGavin/micromort")API
Launch the REST API for programmatic access:
launch_api()
# Swagger docs at http://localhost:8080/__docs__/Core endpoints (30 total — full reference):
| Endpoint | Returns |
|---|---|
GET /v1/risks/acute |
Acute risks (micromorts) |
GET /v1/risks/chronic |
Chronic risks (microlives) |
GET /v1/risks/cancer |
Cancer mortality by type/sex/age |
GET /v1/analysis/equivalence |
Risk equivalence lookup |
GET /v1/convert/hazard-rate?age=35 |
Daily hazard rate |
Concepts
Micromort (Acute Risk)
A micromort = one-in-a-million probability of death per event. Skydiving: ~8 micromorts per jump.
Architecture
See the Architecture vignette for detailed diagrams.
Data Sources
| Source | Type | Data |
|---|---|---|
| Wikipedia: Micromort | Encyclopedia | ~50 acute risks |
| Wikipedia: Microlife | Encyclopedia | ~20 chronic risks |
| micromorts.rip | Database | ~45 acute risks |
| CDC MMWR | Government | COVID vaccine data |
| Spiegelhalter (2012) BMJ | Academic | Microlife framework |
| SEER Cancer Statistics | Government | Cancer mortality by type/sex |
| IHME GBD 2023 via OWID | Academic | Disease + risk-factor mortality by country |
Glossary
| Acronym | Definition |
|---|---|
| DALY | Disability-Adjusted Life Year (YLL + YLD) |
| LLE | Loss of Life Expectancy (minutes) |
| QALY | Quality-Adjusted Life Year |
| VSL | Value of Statistical Life (~$10M USD) |
References
- Howard RA (1980). “On Making Life and Death Decisions.” Societal Risk Assessment.
- Spiegelhalter D (2012). “Using speed of ageing and ‘microlives’.” BMJ 345:e8223.
- Blastland M, Spiegelhalter D (2013). The Norm Chronicles.
License
MIT. See LICENSE.
