[1] 100
This vignette introduces the micromort package, which provides tools for understanding and visualizing risks.
A micromort is a unit of risk representing a one-in-a-million chance of death. More precisely, it’s a microprobability of death — a one-in-a-million chance of a specific event (death) occurring.
| Term | Definition | Example |
|---|---|---|
| Microprobability | 1-in-a-million chance of any event | 1 micromort = microprobability of death |
| Micromort | 1-in-a-million chance of death, per event | Skydiving: 8 micromorts per jump |
CRITICAL: When comparing micromort values, ensure the period is the same. For example:
| Activity | Micromorts | Period | Comparable? |
|---|---|---|---|
| Scuba diving | 5 | per dive | Per-event |
| Scuba diving | 164 | per year | Per-year (assumes ~33 dives/year) |
| Skydiving | 8 | per jump | Per-event |
The “per year” figure (164) conflates frequency with risk-per-event. A diver doing 5 dives/year vs 50 dives/year faces very different annual risk.
Many activities have selection effects. For example:
These figures answer: “Given that someone completed this activity, what was their death risk?” Not: “What would happen if a random person attempted this?”
[1] 100
Using plot_risks(), we can see the relative magnitude of different activities on a logarithmic scale. The plot is split into COVID-19 and Other risks to make comparisons easier:
For interactive exploration with hover details and category filtering, use plot_risks_interactive():
While micromorts measure sudden death, microlives measure the impact of chronic habits on your life expectancy. A microlife represents a 30-minute change in life expectancy per day of exposure.
A useful way to think about microlives: we all “use up” 48 microlives per day just by living (24 hours = 48 × 30 minutes). Unhealthy habits accelerate this consumption, while healthy habits slow it down.
A smoker who smokes 20 cigarettes per day uses up an additional 10 microlives, which can be interpreted as rushing towards death at 29 hours per day instead of 24. Conversely, someone with excellent lifestyle habits might effectively live at only 22 hours per day.
Healthcare bonus: Modern healthcare and healthier lifestyles give us a “payback” of approximately 12 microlives per day — our expected death is moving away from us even as we age.
| Factor | Microlives/day | Interpretation |
|---|---|---|
| Smoking 1 cigarette | -1 | Lose 30 min life expectancy |
| Being 5kg overweight | -1 | Lose 30 min/day |
| 20 min moderate exercise | +2 | Gain 60 min life expectancy |
| 2+ hours TV daily | -1 | Sedentary behavior |
| 5+ servings fruit/veg | +2 | Healthy diet |
Heavy smoker (20/day): -20 microlives/day (life lost)
Moderate exercise: 2 microlives/day (life gained)
5kg overweight: -1 microlife/day (life lost)
Micromorts (acute, per-event risk) and microlives (chronic, per-day attrition) measure different phenomena, but can be approximately converted using expected value theory.
Key relationship: 1 micromort ≈ 0.7 microlives
Assumptions for this conversion: 1. Remaining life expectancy = 40 years (use lle(prob, life_expectancy = ...) to adjust for any age; see also daily_hazard_rate()) 2. Death occurs immediately upon the event (worst case) 3. Linear approximation (valid for small probabilities)
Mathematical derivation:
Why common_risks() uses microlives = micromorts × 0.7:
The conversion allows comparing a single risky event (like one skydive at 8 micromorts) to chronic daily habits (like smoking at -10 microlives/day). However, the approximation breaks down when:
| Metric | Unit Definition | Scope | Sign |
|---|---|---|---|
| Micromort | 1-in-a-million probability of death | Per discrete event (1 surgery, 1 flight) | Always ≥ 0 |
| Microlife | 30 minutes of life expectancy change per day | Per day of exposure/habit | + = gain, − = loss |
The Value of a Statistical Life (VSL) is the monetary value used to justify safety spending. It is NOT the value of an individual life, but the aggregate willingness to pay for small risk reductions.
Example: If a safety feature costs $50 and saves 1 life in 100,000 people (10 micromorts), is it worth it? Cost per micromort saved = $50 / 10 = $5. If VSL = $10M, then 1 micromort = $10. Since $5 < $10, it is cost-effective.
$ 10 per micromort
Interestingly, two UK government agencies arrive at similar valuations for micromorts and microlives:
| Agency | Metric | Value | Per Unit |
|---|---|---|---|
| NICE (NHS) | 1 QALY | ~£30,000 | £1.70 per microlife |
| Dept of Transport | Value of Statistical Life | £1,600,000 | £1.60 per micromort |
This near-equivalence (£1.60 ≈ £1.70) provides empirical support for the theoretical conversion: 1 micromort ≈ 1 microlife in policy terms.
£ 1.6 per micromort
This consistency suggests that policy decisions affecting acute risks (transport safety) and chronic risks (healthcare interventions) can be compared on a common scale.
Loss of Life Expectancy (LLE) estimates the average time lost from a lifespan due to a specific risk. It converts abstract probabilities into a tangible duration — answering “how much life does this cost me on average?”
Formula: LLE = probability of death × remaining life expectancy
For a 1-in-a-million risk (1 micromort), assuming 40 years remaining life:
LLE = 1/1,000,000 × 40 years × 525,960 min/year ≈ 21 minutes
| Activity | Micromorts | LLE per exposure | Equivalent time cost |
|---|---|---|---|
| Chest X-ray | 0.1 | ~2 minutes | Making a cup of tea |
| Skydiving (1 jump) | 8 | ~3 hours | Watching a long film |
| General anaesthetic | 10 | ~3.5 hours | A half-day at work |
| Motorcycle ride (250 miles) | 40 | ~14 hours | A night’s sleep + commute |
| BASE jumping (1 jump) | 430 | ~6 days | A short holiday |
LLE depends critically on remaining life expectancy. The same 10-micromort surgery “costs” different amounts depending on age:
| Age | Remaining LE | LLE from 10 micromorts |
|---|---|---|
| 20 | ~60 years | 5.3 hours |
| 40 | ~40 years | 3.5 hours |
| 60 | ~22 years | 1.9 hours |
| 80 | ~9 years | 0.8 hours |
Use lle(prob, life_expectancy = ...) to calculate for any age. See also daily_hazard_rate() for converting age-specific mortality into micromorts per day.
Micromorts and microlives focus on mortality. But many conditions (like the common cold) cause significant quality of life loss without being fatal. Complementary metrics capture this morbidity burden.
Measures years of life adjusted for quality. 1 QALY = 1 year of perfect health. See the NICE Methods Guide for how QALYs are used in health technology assessment.
Measures disease burden as the sum of two components. Defined by the WHO Global Burden of Disease study.
For fatal diseases like COVID-19, YLL dominates. For non-fatal conditions like the common cold, YLD dominates.
| Metric | Unit Definition | Scope | Sign | Best For |
|---|---|---|---|---|
| Micromort | 1/1,000,000 death probability | Per discrete event (surgery, flight, climb) | ≥ 0 (probability) | Comparing single risky activities |
| Microlife | 30 min life expectancy change per day | Per day of chronic exposure | + gain / − loss | Daily lifestyle interventions |
| QALY | 1 year at perfect health (quality=1.0) | Per treatment/intervention | ≥ 0 | Cost-effectiveness in healthcare |
| DALY | 1 year lost to disease (YLL + YLD) | Per condition/population | ≥ 0 (burden) | Global health prioritization |
| QALD | 1 day at perfect health | Per illness episode | ≥ 0 | Short-term morbidity (colds, flu) |
The cancer_risks() function provides mortality data stratified by cancer type, sex, and age group:
Family history impact: The family_history_rr column shows relative risk increase with a first-degree relative’s diagnosis. For example, prostate cancer risk increases 2.5× with family history.
The vaccination_risks() function quantifies micromorts avoided through vaccination:
The conditional_risk() function compares risk factors between optimal (“hedged”) and suboptimal (“unhedged”) states:
The hedged_portfolio() function calculates total life expectancy gain from adopting all optimal lifestyle choices:
Interpretation: A fully “hedged” individual (non-smoker, regular exercise, healthy diet, vaccinated, etc.) can expect to gain significant additional life expectancy compared to an “unhedged” baseline.
Conditional risk analysis isn’t limited to chronic lifestyle factors. Some acute risks show extreme age-conditioning that makes population averages misleading.
Example: Falling out of bed kills ~450 Americans per year (CPSC). The population average is 1.36 micromorts/year — but the CDC age-stratified data reveals a 2,500-fold difference across age groups:
| Age group | Sex | Fall deaths per 100,000/year | Micromorts per night of sleep |
|---|---|---|---|
| Under 65 | Both | ~0.4 | 0.004 |
| 65-74 | Male | 24.7 | 0.68 |
| 65-74 | Female | 14.2 | 0.39 |
| 85+ | Male | 373.3 | 10.2 |
| 85+ | Female | 319.7 | 8.8 |
An 85-year-old man going to bed faces ~10 micromorts per night — comparable to riding a motorcycle 60 miles (10 micromorts/trip) or a single dose of ecstasy (13 micromorts/dose). For someone under 65, the same activity carries 0.004 micromorts per night — essentially zero.
This pattern recurs across many “exotic” risks:
The lesson: always ask “conditional on what?” before comparing micromort values across populations or activities. For a deeper treatment of how confounding variables distort risk data, including Simpson’s paradox and stratification strategies, see the Confounding Variables vignette.
A micromort value is only meaningful when paired with a clear exposure denominator — Deaths ÷ Exposures = Probability. Many widely-cited risk figures fail this test: unknown denominators (how many bee sting exposures per year?), misleading population averages (bed falls: 0.004 mm/night under-65 vs 10.2 mm/night age 85+ male), or fabricated numerators (the “150 coconut deaths/year” myth).
For the full treatment — denominator failures, inclusion criteria, cross-validation methods, and worked examples — see the Data Reliability vignette. For how confounding variables (age, geography, health profile) reshape risk rankings, see Confounding Variables.
Why do people fear flying (0.05 micromorts per flight) more than driving to the airport (1–3 micromorts)? David Ropeik’s Risk: A Practical Guide for Deciding What’s Really Safe and What’s Really Dangerous (2002) identifies a set of psychological factors that systematically distort risk perception away from statistical reality.
Ropeik’s key factors:
These factors explain a persistent pattern in this package’s data: the activities people worry about most are rarely the ones with the highest micromort counts.
Consider the cancer example from cancer_risks(): cancer accounts for roughly 25% of UK deaths, yet surveys consistently rank it as the most feared cause of death — ahead of cardiovascular disease, which kills more people (Ropeik 2010). The chronic_disease_risks() data confirms that cardiovascular daily micromorts exceed cancer daily micromorts in every country in the dataset.
The practical goal of the micromort package is to help calibrate intuition against evidence. Ropeik’s framework suggests three strategies:
Anchor on familiar risks. When evaluating a new risk, compare it to something you already accept. The quiz vignettes do exactly this — presenting pairs like “one skydive vs. 2.5 days of UK cardiovascular risk” to build intuitive anchors.
Separate frequency from dread. A risk that feels terrifying (shark attack: 0.001 micromorts/beach visit) may be statistically negligible compared to a risk that feels mundane (driving: 0.3 micromorts per 100 km). The atomic_risks() function puts both on the same scale.
Account for chronic accumulation. Ropeik emphasises that people consistently underestimate slow, cumulative risks relative to dramatic one-off events. The combined_quiz_pairs() function is designed to make this comparison explicit: one acute micromort event vs. the equivalent number of days of chronic exposure.
For further reading, see Slovic’s The Perception of Risk (2000) and Fischhoff et al.’s foundational psychometric work (1978), which provide the empirical basis for Ropeik’s framework.
The micromort package helps translate abstract probabilities into concrete units for better decision-making. By comparing acute risks (micromorts), chronic risks (microlives), and quality-of-life metrics (QALYs, DALYs), individuals and policymakers can make more informed choices about risk trade-offs.
The new conditional risk functions enable:
sessionInfo()
R version 4.6.1 (2026-06-24)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 26.04 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so; LAPACK version 3.12.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
time zone: Etc/UTC
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] DT_0.34.0 targets_1.12.0 micromort_0.2.0
loaded via a namespace (and not attached):
[1] tidyr_1.3.2 plotly_4.12.0 sass_0.4.10 generics_0.1.4
[5] digest_0.6.39 magrittr_2.0.5 evaluate_1.0.5 grid_4.6.1
[9] RColorBrewer_1.1-3 fastmap_1.2.0 rprojroot_2.1.1 jsonlite_2.0.0
[13] processx_3.9.0 backports_1.5.1 secretbase_1.3.0 ps_1.9.3
[17] httr_1.4.8 purrr_1.2.2 viridisLite_0.4.3 crosstalk_1.2.2
[21] scales_1.4.0 lazyeval_0.2.3 codetools_0.2-20 jquerylib_0.1.4
[25] cli_3.6.6 rlang_1.2.0 units_1.0-1 cachem_1.1.0
[29] yaml_2.3.12 otel_0.2.0 tools_4.6.1 dplyr_1.2.1
[33] ggplot2_4.0.3 base64url_1.4 buildtools_1.0.0 vctrs_0.7.3
[37] R6_2.6.1 lifecycle_1.0.5 htmlwidgets_1.6.4 pkgconfig_2.0.3
[41] callr_3.8.0 pillar_1.11.1 bslib_0.11.0 gtable_0.3.6
[45] data.table_1.18.4 glue_1.8.1 Rcpp_1.1.1-1.1 xfun_0.59
[49] tibble_3.3.1 tidyselect_1.2.1 sys_3.4.3 knitr_1.51
[53] farver_2.1.2 htmltools_0.5.9 igraph_2.3.3 rmarkdown_2.31
[57] maketools_1.3.2 compiler_4.6.1 prettyunits_1.2.0 S7_0.2.2 micromort 0.1.0 | Git 94d93d2 | R 4.5.2 | Built 2026-04-18 12:20:56