Methodology · v1.3

A bio age you can argue with.

Thier's bio age estimate is decomposed across 13 domains, each emitting a "years older or younger than chronological" signal grounded in peer-reviewed research. Every coefficient is published. Every threshold is line-anchored to the engine source code. If you disagree with a number, you can read the paper it's based on.

13
Domains modelled — fitness, cardiovascular, sleep, body composition, cognitive, physical function, labs, inflammation, clinical, genetic, family history, mental health, lifestyle
100+
Peer-reviewed coefficients, each with the citation inline and a link from the engine source
±0.5y
Day-to-day stability — guaranteed by an EMA smoother (α=0.35) regression-tested on noisy realistic input

The approach in one paragraph

We don't predict mortality. We predict physiological age — the age at which someone with median health metrics would carry the same readings you do. Each of 13 domains emits a "years older or younger than chronological" signal grounded in a published cohort study. Domains compose additively, with safety clamps so no single signal can dominate, and a confidence score so a sparse-data user knows their estimate is provisional. Day-to-day stability is enforced by an exponential moving average (α = 0.35) that's regression-tested to keep variance under 0.5 years on realistic noisy input.

This page is the public version of our internal methodology document. It's published — rather than kept internal — because the alternative is a black-box bio-age number, and health-tech apps that hide their math should not be trusted.

1 · Fitness

VO₂ max — the strongest single signal

Predicted VO₂ max for your age, sex, and weight uses the Jackson non-exercise estimate. Years delta is then −1.61 · (measured − expected) / 3.5, clamped to ±6 years.

Mandsager K et al. Association of Cardiorespiratory Fitness with Long-term Mortality Among Adults Undergoing Exercise Treadmill Testing. JAMA Network Open 2018;1(6):e183605.
A 1-MET (3.5 ml/kg/min) advantage over expected mapped to ~12% lower all-cause mortality; converted to ~1.6 years of physiological-age equivalent.

Steps and active minutes

Step thresholds are split by age 60. Older-adult bands: <2,500 / <4,000 / <6,000 / 6,000–8,000 / >8,000. Younger adults shift up by ~1,000 at each band.

Saint-Maurice PF et al. Association of Daily Step Count and Step Intensity with Mortality Among US Adults. JAMA 2020;323(12):1151-1160.

Cumulative fitness — capacity + behavior

VO₂ measures cardiorespiratory capacity (peak aerobic potential); steps and active minutes measure behavior (habitual movement). They have meaningfully independent contributions.

Stamatakis E et al. Joint associations of objectively-assessed physical activity and cardiorespiratory fitness with all-cause and cardiovascular mortality. BMJ 2019;366:l4570.
Combined high-fitness + high-activity stratum had the largest mortality reduction (HR ≈ 0.45 vs sedentary low-fit). "High-fit / low-active" was substantially worse than "high-fit / high-active".

The engine combines:

DriverRangeWhen it fires
VO₂ max±6yAlways preferred when present
Cycling FTP±6yOnly when VO₂ absent
Steps + active-min±2.5y full / ±1.25y discountedAlways when data present
Self-reported activity±2yOnly when neither capacity nor behavior fires
Zone 2 minutes bonus−0.4y additiveWhen any primary path fired

When both capacity and behavior are present, behavior is discounted by min(0.5, |capacityDelta| / 6.0) — Stamatakis 2019's ~50% overlap. The combined sum is clamped at ±7y.

2 · Cardiovascular & autonomic

Blood pressure

Bands match the ACC/AHA 2017 hypertension guideline. The protective athletic-low band (90–114 / 60–74) was added on the back of the SPRINT trial.

ReadingYears delta
90–114 / 60–74 (athletic-low)−0.3
<120/80 (normal)0
120–129 / <80 (elevated)+0.5
≥130/80 (Stage 1)+1.5
≥140/90 (Stage 2)+3.0
>180/120 (severe)+4.5
Whelton PK et al. 2017 ACC/AHA Guideline for High Blood Pressure in Adults. JACC 2018;71:e127-e248.

Resting heart rate

Bands progress from −1.0y at ≤55 bpm to +3.3y at ~100 bpm.

Saxena A et al. Resting Heart Rate and Mortality. Eur Heart J 2013 — pooled analysis: hazard ratio ~1.09 per 10 bpm above 65.

Heart rate variability (RMSSD)

Hillebrand S et al. Heart Rate Variability and First Cardiovascular Event in Populations Without Known Cardiovascular Disease: meta-analysis and dose-response. Europace 2013;15:742-749.

3 · Sleep & recovery

Sleep duration uses an inverted-U curve peaking at 7–9h, with bands grounded in:

Yin J et al. Relationship of Sleep Duration With All-Cause Mortality and Cardiovascular Events: A Systematic Review and Dose-Response Meta-Analysis of Prospective Cohort Studies. J Am Heart Assoc 2017;6:e005947.

Sleep efficiency (% of time-in-bed actually asleep), bedtime regularity, and time-in-deep-sleep + REM each contribute additional small deltas, capped per-driver and clamped collectively at ±4y.

4 · Body composition

BMI uses the standard underweight / normal / overweight / obese / Stage II / Stage III bands, but with the protective recognition that BMI 25–27 in older adults is associated with lower all-cause mortality. Body fat % bands are sex-specific. Waist-to-height ratio > 0.5 is treated as a separate metabolic risk signal.

Flegal KM et al. Association of all-cause mortality with overweight and obesity using standard BMI categories: a systematic review and meta-analysis. JAMA 2013;309(1):71-82.

5 · Cognitive

The in-app cognitive battery (reaction time, word recall, spatial memory, symbol match) emits a small (±2y) bonus or penalty, weighted by how much the user's score deviates from age-matched norms. This is a deliberately modest contribution — single-session cognitive scores have high variance.

6 · Physical function

Grip strength, sit-to-stand reps, and balance time. Each is a strong independent predictor of mortality in older adults; in younger users they're smaller signals.

Leong DP et al. Prognostic value of grip strength: findings from the Prospective Urban Rural Epidemiology (PURE) study. Lancet 2015;386(9990):266-273.
Each 5kg decrement in grip strength was associated with a 16% increase in all-cause mortality.

7 · Lab biomarkers (AI-aggregated)

When users upload a lab report (PDF or photo), an AI vision pass extracts the values and routes each to its named coefficient (see §9). When the report is unparseable, a fallback "labs flag" reads the user's self-reported summary and emits a small penalty.

8 · Inflammation (hsCRP)

High-sensitivity CRP is the single inflammation marker in the model.

Ridker PM. A Test in Context: High-Sensitivity C-Reactive Protein. JACC 2016;67(6):712-723.
hsCRP <1 mg/L low risk; 1–3 mg/L average; >3 mg/L elevated; >10 mg/L acute-process flag (excluded from chronic-disease estimation).

9 · Lab markers — structured per-marker

Each lab marker has its own threshold table. Below: the highest-leverage signals.

ApoB

Sniderman AD et al. Apolipoprotein B Particles and Cardiovascular Disease: A Narrative Review. JAMA Cardiol 2019;4(12):1287-1295.
ApoB outperforms LDL-C as a CV-risk predictor; targets <80 mg/dL standard, <60 mg/dL aggressive.

HbA1c

Selvin E et al. Glycated Hemoglobin, Diabetes, and Cardiovascular Risk in Nondiabetic Adults. NEJM 2010;362:800-811.

Lp(a)

Genetic, single-test. >50 mg/dL adds +1.5y; >100 mg/dL +3y. Tsimikas S et al. A Test in Context: Lipoprotein(a). JACC 2017;69(6):692-711.

Vitamin D, fasting glucose, GGT, eGFR, ALT/AST, ferritin

Each has its own band table, each with the citation inline in the engine source.

10 · Genetic (APOE ε4)

When a user uploads 23andMe / AncestryDNA raw data, the engine reads APOE ε4 status. e3/e3 baseline; e3/e4 +0.6y; e4/e4 +1.8y. This is a small, capped contribution — APOE is correlative, not deterministic.

Liu C-C et al. Apolipoprotein E and Alzheimer disease: risk, mechanisms and therapy. Nat Rev Neurol 2013;9:106-118.

11 · Family history (parental longevity)

Self-reported parental ages of death. Each parent who lived >85 contributes −0.4y; each who died <60 contributes +0.5y. Capped at ±2y.

Sebastiani P et al. Families enriched for exceptional longevity also have increased health-span. Front Public Health 2013;1:38.

12 · Mental health

PHQ-9 (depression), GAD-7 (anxiety), and PSS-10 (perceived stress) — each user-administered in-app. Major depression is associated with ~+1.7y physiological age; severe anxiety adds another small layer; high perceived stress is a separate signal.

Han LKM et al. Contributing factors to advanced brain aging in depression and anxiety disorders. Translational Psychiatry 2021;11:402.

13 · Clinical flags

Smoking (active +5y; quit-3y +2y; quit-5y +0.5y), Type 2 diabetes (+3y), CVD (+4y), and severe BP (>180/120) each surface as clinical flags with a "seek prompt review" message — at these levels, the algorithm should not silently average the data into a score.

Composite, caps, and smoothing

Domains compose additively, with two safety mechanisms:

  1. Per-domain caps. No single domain can move bio age more than ±6–8 years (varies by domain). Prevents one outlier signal from dominating.
  2. Total clamp. Final delta clamped to ±18 years off chronological. Beyond that, the model is reporting noise.

Day-to-day stability is enforced by an exponential moving average (α = 0.35) that's regression-tested on noisy realistic input. The smoother lives in BioAgeSmoother.swift and is mirrored on the server as a Postgres RPC for cross-platform parity.

Confidence & uncertainty

Every reading carries a confidence score (0–1) computed from how many domains had data. Sparse-data users see a "provisional" badge on their bio age until enough domains light up. The confidence breakdown is visible in the in-app Bio Age Breakdown sheet, alongside the per-domain contribution chart.

What this isn't

  • Not a mortality prediction. Mortality models (e.g. Klemera-Doubal, PhenoAge) train on death-event data; we don't.
  • Not a methylation clock. Methylation clocks (Horvath, GrimAge) measure DNA methylation directly. This model uses behavioral, physiological, and biomarker proxies.
  • Not a disease diagnosis. A high bio age doesn't mean you have a condition; it means signals are pointing in a direction worth understanding.
  • Not personalised therapy. Recommendations are population-level. For anything clinically significant, see a doctor.

Methodology v1.3, last revised 2026-05-08. The full document — every coefficient, every Swift line anchor, every citation — is published in the Thier repository.

See your number.

All thirteen domains, your per-domain contribution chart, and the trajectory it's forming. Free for the first seven days.