This page explains exactly how the Longevity Score and each dial age are calculated, where the reference ranges come from, and what the method deliberately does not claim. If a number here ever surprises you, this is the page that should let you work out why.
Scored inputs use calculator ranges informed by the book and other model choices. Laboratory reference intervals and clinical decision thresholds serve different purposes and vary with the laboratory and the person.
A calculator range is not a diagnosis or an individual treatment target, and it does not establish where risk is lowest. Some inputs are shown for context and do not affect the score.
Each scored marker is assigned a value from 0 to 4 against its calculator range. Some, such as TSH and ferritin, use two-sided curves; a few use age and sex percentiles. Homocysteine, vitamin D and morning cortisol are context only and do not contribute to any dial.
Bone-density T-scores count only for men aged 50 or older and women who explicitly select postmenopause. For everyone else, including people who select HRT without separately recording postmenopausal status, they are shown for context and do not affect the score. Discuss scan site and interpretation with a clinician.
Those marker scores combine into a dial score as a weighted mean, using fixed per-marker weights that reflect how strongly each predicts outcomes for that system. Systolic blood pressure carries far more of the vascular dial than resting heart rate does.
The dial score is converted to a biological age by an age-proportional offset, so an identical panel produces the same relative result at 30 and at 70. An earlier fixed-offset scheme was replaced because it clamped young, healthy users to an artificial floor.
Everything above in full, so a result can be reproduced by hand. A test runs this calculation against the engine on every build and fails if the two disagree, which is the only reason to believe the description matches the code.
1. Score each eligible marker. Scored markers generally return a value from 0 to 4 by interpolation between breakpoints; some use age- and sex-specific percentiles. Context-only and conditionally suppressed inputs do not contribute.
2. Average them, by weight. avg = Σ (wᵢ / Σw) × scoreᵢ, where wᵢ is that marker's weight and the sum runs only over markers you actually entered. Weights renormalise over what is present, so a blank is excluded rather than counted.
3. Convert the average to an offset fraction. The lookup table is [0.30, 0.15, 0.02, −0.15, −0.30] indexed by the whole part of the average, interpolated linearly between entries. An average of 4 gives −0.30; an average of 0 gives +0.30.
4. Scale by age. rawOffset = age × fraction. This is what makes the result proportional: a perfect panel takes 30% off your age whether you are 30 or 70.
5. Shrink toward your real age if the dial is thin. offset = rawOffset × n / (n + 1), where n is the number of scored markers in that dial. One marker keeps half the offset, three keep 75%, eight keep 89%. A single marker is not enough evidence to claim a system is a decade younger than you are.
6. Bound it. dial age = clamp(round(age + offset), max(12, round(age × 0.65)), round(age + 25)).
7. Combine the dials. composite = Σ (dialAgeₖ × Wₖ / ΣW) over the dials that have data, using the unrounded dial ages, rounded once at the end.
A 45-year-old man entering three vascular markers: systolic 118, diastolic 76, resting heart rate 58.
Those score 3.70, 3.86 and 4.00, with weights 0.45, 0.25 and 0.15. The weighted average is 3.7992.
The whole part is 3, so the fraction interpolates between −0.15 and −0.30 at 79.92% of the way: −0.2699.
rawOffset = 45 × −0.2699 = −12.14 years. Three markers means shrinkage of 3/4 = 0.75, giving −9.11 years.
round(45 − 9.11) = 36, inside the bounds of 29 and 70. The vascular dial reads 36. The engine returns 36.
Each dial shows a range around its age, calculated as 3 + 5/√n + 2σ bounded to between 4 and 12 years, where σ is the spread of the marker scores within that dial.
It widens when you have entered few markers, and when the markers you entered disagree with each other. It is a measure of how much the inputs agree, not a statistical confidence interval — there is no sampling distribution behind this estimate, and presenting one would imply a rigour the method does not have.
The eight dial ages combine into one composite using fixed weights: structural 20%, vascular 18%, metabolic 16%, atherogenic 14%, inflammatory 12%, organ 8%, cognitive 8%, hormonal 4%. These sum to exactly 1.0, and a test enforces that.
The composite is built from each dial's unrounded age and rounded once at the end, so small genuine changes are not lost to rounding.
Blank values are excluded from scoring. They are never treated as zero, and never treated as normal.
A dial with no entered markers is dropped entirely and the remaining dial weights renormalise over what is actually present, so a partial panel produces an honest score rather than one padded with assumptions.
A dial with very few markers is shrunk toward your chronological age, because a single marker is not enough evidence to claim a system is a decade older or younger than you are.
When the scoring engine version changes, saved sessions with their original inputs are recalculated using the new version and the user is notified. Legacy sessions without original inputs retain their previous results and are identified separately.
It is not an epigenetic clock. It does not measure DNA methylation, and it is not comparable to a laboratory epigenetic age test.
It is not clinically validated as a diagnostic instrument or a prediction of individual health outcomes, and it has not been through regulatory review. It is an educational and personal-tracking tool.
It cannot see anything you have not measured. A good score on a thin panel means the panel was thin, not that you are well.
Some thresholds are drawn from the 8 Dials of Longevity framework; others are model choices or extensions informed by published research and clinical context. Not every range is a direct quotation from the book.
The recent hs-CRP, fasting insulin, urine albumin, GGT and TSH scoring revisions, including the insulin and GGT breakpoints, have been clinically reviewed. Intermediate bands are model interpolation choices, not clinical categories.
The prior vitamin D scoring range and the roles of homocysteine and morning cortisol have also been clinically reviewed; all three are currently context only. CIMT is an optional scored extension.
Scoring changes are versioned. Stored sessions are rescored from their raw values when the engine updates, so your history stays internally consistent rather than mixing results from different scoring generations.
Where a session predates stored raw values, it is flagged as legacy and excluded from trend comparisons rather than silently compared against newer results.
A computed score can be reproduced; a generated one cannot. That distinction is the reason this method is published and versioned rather than inferred fresh each time — see how this compares with asking a chat model, including where a chat model is the better tool.
Calculate your Longevity Score free →Choose a question. Answers come from this site, and nothing you open is sent anywhere.
Chronological age counts birthdays. Biological age estimates how old your body appears to be functioning, based on measurable biomarkers. Two people born the same year can differ by a decade or more in vascular stiffness, insulin signalling or cardiorespiratory fitness. Biological age makes that gap explicit — and unlike your birthday, it can move in either direction.
Each biomarker you enter is scored against longevity-optimised reference ranges and grouped into one of eight dials. Every dial produces its own biological age, and those are combined using fixed weights into a single composite, then expressed as a Longevity Score from 0 to 100. The weighting reflects how strongly each system predicts healthspan: structural and vascular carry the most, hormonal the least.
No. The short form contains a subset of scoring inputs plus context-only fields, and you can leave any of them blank. It is not a recommendation to obtain tests. Missing values are excluded from the calculation — never treated as zero or as 'normal'. A dial with no scored data is dropped entirely and the remaining weights renormalise.
Some inputs can be measured without bloodwork. Blood pressure needs a home cuff and waist-to-height needs a tape measure. Wearable estimates vary; the floor-based sitting-rising test carries a fall risk and should only be attempted if safe.
Both terms describe what this tool does, and which one fits depends on what you are asking. "Anti-aging" is the term most people search, and loosely means anything aimed at slowing or reversing age-related decline — this tool fits that description if you score your dials and act on what you find. "Healthspan calculator" is the more precise term: healthspan is the number of years lived without serious chronic disease or disability, and that cannot be measured directly, so this tool scores eight systems that each function as an early-warning proxy for it. Either way, the method is the same: real biomarkers, published thresholds, no vanity-metric framing.
Several popular tools ask only about habits — exercise days, sleep hours, smoking, diet quality — and return a single precise-looking age. We looked at the research behind that approach and chose not to build it. Published studies do show real, individually-measured links between specific habits and epigenetic age acceleration, but those effect sizes come from different study populations, different DNA-methylation clocks and different measurement units. Adding them together into one number is not something the underlying research actually supports — it produces a precise-looking result built on an imprecise method. Our dials use direct physiological measurements instead: a real blood pressure reading, a real VO₂ max, a real ApoB value. Several dials score from home-measurable data alone with no quiz-guessing involved — see what you can measure without a blood test, above.
Standard reference ranges describe what is common in a general population, which now includes a great deal of metabolic dysfunction. They are tuned to flag disease, not to identify what is optimal for a long healthspan. A fasting insulin of 20 µIU/mL sits inside most labs' normal range and is strongly associated with insulin resistance. This tool uses longevity-optimised thresholds instead, so a flag here means room for optimisation — not a diagnosis.
For understanding a single result, do — a frontier chat model is genuinely good at that, often clearer than most medical sites, and it handles markers no fixed tool covers. The limitation is different from the one most people assume. A language model produces a plausible response rather than a computed one, so the same panel can score differently on different days. That is fine when exploring an idea and disqualifying when measuring change, because you cannot tell how much of a difference is you and how much is the method. Use both: a chat model to understand, a fixed instrument to track.
Biomarker values, assessment history and visit-preparation drafts are stored in your browser. The visit draft is separate from assessment exports and share links; copying or printing it can leave a copy outside the browser. There are no user accounts or third-party tracking. We keep anonymous usage totals on our own server, such as how many people reached a results screen on a given day; browsers sending Do Not Track or Global Privacy Control are not counted. Optional lab-report upload and AI coach features send data to Anthropic. Optional retest reminders send an email address, date and reminder label to our service and email provider. See our privacy policy for details.
No. It is an educational and personal-tracking tool. The estimates are not clinically validated and must not replace evaluation by a qualified healthcare professional. If a result concerns you — particularly kidney markers, blood pressure or ApoB — take it to a doctor rather than acting on it alone.