What an Online Biological Age Test Measures
Most things sold as an “online biological age test” are one of three things: a questionnaire that regresses your self-reported habits onto a mortality table, a DNA methylation assay scored with a published clock, or a blood panel fed into a Klemera-Doubal or PhenoAge equation. The questionnaires tell you what you already told them. The methylation and blood-chemistry clocks measure something real, but the number they return has a test-retest error on the order of years, and the useful output is not the age value at all. It is the residual: your predicted age minus your chronological age, tracked on the same assay over time. If you want a defensible biological age number, run a blood-chemistry clock on a standard panel you can repeat cheaply, and treat any single methylation age as a noisy point estimate.
The three families of tests, and what each is regressed against
First-generation epigenetic clocks (Horvath 2013, Hannum 2013) were trained to predict chronological age from CpG methylation beta values. They are very good at that, and that is the problem: a perfect chronological-age predictor carries no information about health. What you care about is the error term, called age acceleration, and the error term in a chronological-age clock is dominated by technical noise plus whatever biology happens to correlate with it.
Second-generation clocks fixed the training target. PhenoAge was trained on a composite of nine clinical biomarkers plus age. GrimAge was trained on plasma-protein and smoking-pack-year surrogates, then on time-to-death. DunedinPoAm went further and trained on the rate of change in 18 organ-system biomarkers measured longitudinally in the Dunedin cohort at ages 26, 32, 38, so the output is a pace of aging (biological years per chronological year) rather than an age 1. These predict morbidity and mortality better than the first generation, and a recent methodological pass showed that refitting with better feature selection and cohort design improves prediction of both chronological and biological age over the original models 2.
Third, the survey calculators. A questionnaire that asks your smoking status, BMI, exercise minutes, and sleep hours can predict mortality reasonably well, because those variables predict mortality. It cannot tell you anything you did not enter. If your BMI drops and the number improves, you have learned that the model has a BMI coefficient. Face-photo “age estimators” are worse: they estimate perceived age from skin texture, which is mostly sun exposure and photo lighting.
Precision is the thing nobody quotes
Illumina EPIC arrays give per-CpG beta values with meaningful technical variance. Because clocks are linear combinations of a few dozen to a few hundred CpGs, that variance propagates. Reported test-retest standard deviations for the common clocks on split samples run roughly 1 to 5 years depending on the clock, with the multi-CpG second-generation clocks generally tighter than small-probe-count clocks. Principal-component versions of the clocks (PC-Horvath, PC-PhenoAge, PC-GrimAge) were built specifically to attenuate this, and the review literature on applying these clocks in population settings is explicit that measurement reliability, tissue source, and cell-composition confounding all need handling before an individual number means anything 3.
Practical consequences:
- A single methylation age that comes back 4 years above your chronological age is inside the noise band for many assays. Do not act on it.
- Two tests from different vendors will disagree, sometimes by a decade, because they use different clocks, different arrays or amplicon panels, and different normalization.
- Whole-blood samples carry cell-composition signal. Neutrophil-to-lymphocyte shifts from a mild infection move estimates. Either get a CBC drawn the same day and adjust, or deconvolve cell fractions from the methylation data itself.
There are also small, targeted alternatives. Amplicon sequencing of a handful of CpGs in ELOVL2 gives an age estimate in saliva and blood at far lower cost than an array, and has been characterized across health and disease states 4. Fewer probes means cheaper and it means more sensitive to per-probe noise. The same methylation-clock machinery generalizes far beyond humans, including age estimation in wild mice from faecal DNA 5, which tells you the biology is real and the engineering is what limits you.
What we would run, and how
Start with blood chemistry. It is cheap, standardized across labs, repeatable quarterly, and the equations are open.
The BioAge R package implements Klemera-Doubal biological age, PhenoAge, and homeostatic dysregulation on NHANES-trained coefficients, and lets you retrain on your own reference sample 6. Minimal path:
install.packages("devtools")
devtools::install_github("dayoonkwon/BioAge")
library(BioAge)
# Your panel, one row per draw, NHANES variable names:
# albumin (g/dL), lymphocyte pct, mcv (fL), glucose_fasting (mg/dL),
# rdw (%), creat (mg/dL), crp (mg/dL), alp (U/L), wbc (1000 cells/uL),
# sbp (mmHg), totchol, hba1c, uap, bun, ...
kdm <- kdm_calc(mydata, biomarkers = c("albumin","lymph","mcv","glucose",
"rdw","creat","crp","alp","wbc"))
phen <- phenoage_calc(mydata, biomarkers = c("albumin_gL","lymph","mcv","glucose_mmol",
"rdw","creat_umol","lncrp","alp","wbc"))
Watch the units. PhenoAge as published takes albumin in g/L, creatinine in µmol/L, glucose in mmol/L, and log-CRP in mg/L. Feeding US conventional units straight in is the single most common way to get a biological age that is off by twenty years. Sanity check: for a healthy 40-year-old, PhenoAge should land within roughly 10 years of 40. If you get 12 or 78, your units are wrong.
Fasting state matters. Glucose and CRP both move. Standardize: 12-hour fast, morning draw, no hard exercise for 48 hours (CRP and creatinine both respond), same lab.
If you want a methylation clock alongside it, request IDAT files, not just a PDF. Then:
library(minfi); library(sesame)
sdfs <- openSesame("idats/", func = NULL)
betas <- openSesame(sdfs) # pOOBAH masking + noob + dyeBias
# cell composition from the betas themselves
library(FlowSorted.Blood.EPIC)
cf <- projectCellType_CP(betas[IDOLOptimizedCpGs,], IDOLOptimizedCpGs.compTable)
Then score with the published coefficient tables, or use methylclock / the Horvath online calculator. Regress your clock residual on cf columns before you interpret anything.
Interpreting the residual
The number worth watching is one you compute yourself: predicted age minus chronological age, on a fixed assay, across at least three timepoints spanning a year or more. A slope is interpretable. A single value mostly is not.
Effects that are real at the population level and plausibly visible in an individual: obesity accelerates epigenetic aging in middle-aged adults but the association attenuates in the elderly 7. Chronic caregiving stress is being systematically reviewed as an exposure against these clocks 8. Even grandparental educational attainment shows up as age acceleration two generations down 9. Those are cohort-scale effect sizes of one to a few years. Against a test-retest SD of one to five years, a single draw cannot resolve them.
The broader omics view is that no single clock is the answer. Proteomic and transcriptomic clocks capture organ-specific aging trajectories that methylation misses, and combining modalities gives both better prediction and interpretable structure about which systems are drifting 10. That is the direction we would build in: plasma proteomics for organ-level signal, methylation for the long-horizon integrator, blood chemistry for the cheap repeatable anchor.
If a clock puts you well outside your age band and you also have abnormal individual markers (CRP, HbA1c, creatinine, ALP), the individual markers are the actionable part, and they belong in front of a physician. A composite age score is not a diagnosis and should not be treated as one.
Questions people also ask
Can I do a biological age test at home? You can collect the sample at home. Saliva or a finger-stick dried blood spot mails to a lab that runs the assay. The collection is the easy part. Quality depends on the lab’s array, its normalization, and whether it returns raw data. Choose vendors that ship IDATs or FASTQs.
How much does it cost to test your biological age? A blood-chemistry clock costs whatever a CMP, CBC, CRP, and HbA1c cost, often under $100, and the math is free. Consumer methylation clocks run roughly $200 to $500 per test. Repeated testing is the expense, and repeated testing is what makes the number mean anything, so budget for three tests rather than one.
What is the best biological age calculator? For a single free number from data you already have, PhenoAge or Klemera-Doubal via the BioAge package. For mortality prediction, GrimAge or DunedinPACE on a properly normalized EPIC array. Skip the questionnaires.
Why do two tests give me different ages? Different training targets, different probe sets, different normalization pipelines, different tissues. Vendor A’s chronological-age clock and vendor B’s mortality-trained clock are not measuring the same quantity, so their disagreement is expected, not a bug in either.
Oak builds longitudinal molecular profiles of individuals: whole-genome sequencing, RNA sequencing, proteomics, blood biomarkers, and continuous glucose data, integrated into one model of you. Build your profile.
Footnotes
-
Daniel W Belsky, Avshalom Caspi, Louise Arseneault, et al. Quantification of the pace of biological aging in humans through a blood test, the DunedinPoAm DNA methylation algorithm. eLife, 2020. https://doi.org/10.7554/elife.54870 ↩
-
Elena Bernabeu, Daniel L. McCartney, Danni A. Gadd, et al. Refining epigenetic prediction of chronological and biological age. Genome Medicine, 2023. https://doi.org/10.1186/s13073-023-01161-y ↩
-
Cynthia D.J. Kusters, Steve Horvath. Quantification of Epigenetic Aging in Public Health. Annual Review of Public Health, 2025. https://doi.org/10.1146/annurev-publhealth-060222-015657 ↩
-
David Cheishvili, Sonia Do Carmo, Filippo Caraci, et al. EpiAge: a next-generation sequencing-based ELOVL2 epigenetic clock for biological age assessment in saliva and blood across health and disease. Aging, 2025. https://doi.org/10.18632/aging.206188 ↩
-
Eveliina Hanski, Susan Joseph, Aura Raulo, et al. Epigenetic age estimation of wild mice using faecal samples. Molecular Ecology, 2024. https://doi.org/10.1111/mec.17330 ↩
-
Dayoon Kwon, Daniel W. Belsky. A toolkit for quantification of biological age from blood chemistry and organ function test data: BioAge. GeroScience, 2021. https://doi.org/10.1007/s11357-021-00480-5 ↩
-
Tapio Nevalainen, Laura Kananen, Saara Marttila, et al. Obesity accelerates epigenetic aging in middle-aged but not in elderly individuals. Clinical Epigenetics, 2017. https://doi.org/10.1186/s13148-016-0301-7 ↩
-
Lena J Lee, Elisa Son, Gisela Butera, et al. Caregiving stress and biological aging measured by epigenetic clocks: protocol for a scoping review. BMJ Open, 2025. https://doi.org/10.1136/bmjopen-2024-095895 ↩
-
Agus Surachman, Elissa Hamlat, Anthony S. Zannas, et al. Grandparents’ educational attainment is associated with grandchildren’s epigenetic-based age acceleration in the National Growth and Health Study. Social Science & Medicine, 2024. https://doi.org/10.1016/j.socscimed.2024.117142 ↩
-
Jarod Rutledge, Hamilton Oh, Tony Wyss-Coray. Measuring biological age using omics data. Nature Reviews Genetics, 2022. https://doi.org/10.1038/s41576-022-00511-7 ↩