How to Test Your Biological Age Without Fooling Yourself
A biological age test returns a number in years, but that number is the output of a regression model rather than a direct measurement of your body’s condition. Most consumer tests predict chronological age or mortality risk from DNA methylation at a few hundred CpG sites. The single figure they report carries somewhere between one and five years of technical noise depending on the clock and the laboratory. The useful thing you can do with such a test is to measure yourself repeatedly on the same assay, at the same lab and with the same preprocessing. Then look at the slope over time. A single result read in isolation tells you almost nothing that a good blood panel and your chronological age do not already tell you.
What follows is an account of what these tests measure, which ones we would run, and how to compute the results yourself from raw data.
What the assay is
Before evaluating any clock, it helps to understand the measurement it sits on top of, because most of the disagreement between tests originates there. The dominant technology is the Illumina Infinium methylation array, available as EPIC v1 (~866k probes) and EPIC v2 (~935k probes), run on bisulfite-converted DNA from whole blood or buffy coat. Each probe reports a beta value between 0 and 1, which is the fraction of DNA molecules methylated at that CpG site. A clock is then a linear model over a subset of those beta values, usually selected by elastic net regression, plus an intercept and sometimes a nonlinear age transform.
Three generations of clocks exist, and because they were trained on different targets, they disagree with one another 12:
- First generation, trained on chronological age. Horvath (2013) uses 353 CpGs across multiple tissues and achieves a median absolute error of around 3.6 years. Hannum (2013) uses 71 CpGs in whole blood. These predict your birth certificate well and correlate only modestly with health outcomes.
- Second generation, trained on outcomes. PhenoAge (Levine 2018) regresses methylation onto a composite of nine clinical biomarkers plus age. GrimAge regresses onto plasma protein levels and smoking pack-years, and then onto time-to-death. These beat first-generation clocks on mortality and morbidity prediction 3.
- Pace-of-aging clocks. DunedinPACE was trained on the rate of change in 19 organ-system biomarkers across two decades of the Dunedin birth cohort, so it returns a rate (about 1.0 = one biological year per calendar year) rather than an age.
The mechanism underneath all of this remains an open question. Methylation changes at clock CpGs track cell-composition shifts, stochastic drift, and regulatory changes at bivalent and polycomb-target promoters. The field has not settled how much of the signal reflects causal aging as opposed to a readout of it 43. Immune cell composition alone is enough to move several clocks, since the fraction of naive versus memory T cells shifts systematically with age 5.
Which clock we would run
Given that the generations answer different questions, we run several clocks and report them separately. We never average them, since averaging blends incompatible training targets into a number that means nothing. Our ordering is as follows.
- DunedinPACE, as the primary longitudinal metric. Because it reports a rate, it answers “how fast right now” rather than “how old cumulatively.” Its test-retest reliability is the best of the commonly available clocks, with an intraclass correlation reported around 0.96.
- PC-clocks (Higgins-Chen 2022), which are principal-component versions of Horvath, Hannum, PhenoAge, and GrimAge. Projecting onto principal components before applying the clock weights removes most of the probe-level technical noise. This matters because the original PhenoAge and Hannum clocks have test-retest ICCs that can fall below 0.9 on replicate samples drawn from the same blood tube, which means a year-over-year change of two years can be pure measurement error. The PC versions push ICC above 0.95 without changing what the clock is predicting.
- GrimAge, or PC-GrimAge, for mortality-associated signal. Note that a large share of its performance comes from the smoking and plasma-protein surrogates it was trained on.
We would skip any product that reports a single “your biological age is 41” with no clock name, no confidence interval, and no access to raw data. There is no way to check such a result or to compare it against a later one.
Computing it yourself from IDATs
If you want an auditable result, you need the underlying files. Ask your provider for the raw .idat files along with the sample sheet. There are two per sample, _Grn.idat and _Red.idat. If they will not release IDATs, the test is not something you can audit.
The processing can be done in R:
library(sesame)
sesameDataCache()
betas <- openSesame("idat_dir/", prep = "QCDPB", func = getBetas)
# QCDPB: mask low-quality probes, dye bias correction, pOOBAH detection p, noob background
We use openSesame with pOOBAH masking rather than minfi’s preprocessFunnorm for single-sample work, because funnorm needs a batch of samples to normalize across and you typically have only one. Check the detection-p failure rate as a quality gate: more than about 5% masked probes indicates degraded DNA or a bad conversion, and in that case you should re-run the sample rather than interpret it.
The next step is estimating cell composition, which you want in hand regardless of which clock you score, since blood cell fractions influence the methylation profile directly:
library(FlowSorted.Blood.EPIC)
cf <- projectCellType_CP(betas[IDOLOptimizedCpGs, ], IDOLOptimizedCpGs.compTable)
With betas and cell fractions in hand, you can score the clocks themselves:
# dnaMethyAge: Horvath, Hannum, PhenoAge, DunedinPACE, and more
library(dnaMethyAge)
methyAge(betas, clock = "PCPhenoAge")
methyAge(betas, clock = "DunedinPACE")
The other option is biolearn in Python, which we prefer if you are already working in a pandas workflow. Both packages will silently impute missing clock CpGs from a reference mean, so count how many of the clock’s CpGs are genuinely present in your matrix. EPIC v2 dropped and renamed probes, which means a Horvath run on v2 data may be imputing 20 or more of its 353 sites. That is a real source of between-lab disagreement, and one that no consumer report mentions.
Targeted assays are an alternative worth knowing about. Small panels read by pyrosequencing or MALDI-TOF mass spectrometry cover a handful of loci such as ELOVL2, FHL2, C1orf132 and similar. They reach accuracy comparable to array clocks at a fraction of the cost. That matters if you want to sample quarterly rather than annually 6.
Biological age from a blood panel
Methylation is not the only route to a biological age estimate, and it is not the cheapest. You can compute a defensible figure today from a standard blood draw. Levine’s phenotypic age uses albumin, creatinine, glucose, C-reactive protein (log-transformed), lymphocyte percent, mean cell volume, red cell distribution width, alkaline phosphatase, white blood cell count, and chronological age, fitted through a Gompertz proportional-hazards model to 10-year mortality and then re-expressed in years. The BioAge R package implements it, along with the Klemera-Doubal method, which finds the age whose biomarker profile best matches yours in a reference population.
Two failure modes are worth guarding against. The first concerns units. The published coefficients expect albumin in g/L and creatinine in µmol/L, along with glucose in mmol/L and CRP in mg/dL before the log transform. Feeding in US-conventional units without converting them produces a plausible-looking number that is wrong by a decade. The second concerns CRP, which is an acute-phase reactant. A cold, a hard training block or a dental infection in the preceding week will move your phenotypic age by years. Draw fasted, rested, and not within two weeks of an illness.
One boundary is worth drawing clearly. Anything in that panel that falls outside the reference range is a clinical question rather than a wellness metric, and it belongs with a physician rather than with a clock.
How accurate is it
Claims about accuracy become much easier to evaluate once you separate two distinct properties. Accuracy against chronological age is high and uninteresting, with a mean absolute error of 2 to 4 years being routine. Accuracy against biological condition has no gold standard, so it is evaluated by association with mortality and incident disease. There second-generation clocks do outperform first-generation ones, though effect sizes at the individual level are modest 78. Precision is a third property and the one that matters most for personal tracking: it is what you get if you split one blood tube and run it twice, it determines whether your year-over-year change means anything, and consumer reports never publish it. Ask for it.
Several confounders will move a clock without anything interesting having happened to you. Cell composition shifts are one, since an infection changes your neutrophil-to-lymphocyte ratio and therefore your methylation profile. Array batch, bisulfite conversion efficiency, and DNA input mass are others. BMI, smoking, alcohol, sleep, and diet all show associations with pace-of-aging measures, with smoking by far the largest and most reproducible 8. Observational cohorts report smaller associations for specific dietary exposures, for example habitual tea consumption and attenuated biological aging in two Chinese cohorts 9. These are population-level associations drawn from observational data, and they do not predict what will happen to your own number.
Intervention evidence remains thin. Multidomain trials combining exercise, nutrition, cognitive training, and sleep are only now using epigenetic aging as a prespecified endpoint 10.
A protocol that gives you something usable
If you intend to track a clock over years, the design of the sampling matters more than the choice of clock. The following protocol is what turns a noisy estimate into a quantity you can reason about.
- Use the same lab, the same array version, and the same tissue (whole blood or buffy coat) every time.
- Draw two tubes per visit and run them as separate samples. The difference between them is your noise floor, and any longitudinal change smaller than that is not signal.
- Collect at least three time points before you believe a trend, since two points will always define a line through noise.
- Keep the IDATs, so that you can re-score old samples when better clocks ship, which happens roughly annually.
- Record cell fractions, CRP, recent illness, and recent hard training alongside each result.
- Report PC-clock values and DunedinPACE separately, together with the count of imputed CpGs.
Follow that and the number becomes a tracked quantity with a known error bar. Take the single-draw consumer version instead and what you have bought is a noisy estimate of the age you already know.
Questions people also ask
How accurate is a biological age test? Against chronological age, first-generation clocks achieve median errors of about 3 to 4 years 2. Against your actual physiological state there is no reference standard, so accuracy is assessed by how well a clock predicts mortality and disease incidence in cohorts, where second-generation clocks perform better than age-trained ones 3. Individual-level precision is the weaker link, since replicate samples from a single blood draw can differ by a year or more on some clocks.
How do I find out my body’s age? There are two practical routes. You can order an EPIC array methylation test that releases raw IDAT files and score it with dnaMethyAge or biolearn, or you can draw a standard chemistry and CBC panel and compute phenotypic age with the BioAge R package. The blood panel is cheaper, faster, and interpretable line by line.
What is a good body age? There is no clinical threshold. The interpretable quantities are age acceleration and pace of aging. Age acceleration means clock age minus chronological age taken as a residual within a cohort, and a pace of 1.0 means one biological year per calendar year. Comparing your raw clock output to a friend’s, run at a different lab with different preprocessing, is meaningless.
What slows aging the most? In observational data, not smoking has the largest and most consistent association with slower epigenetic aging. Body composition, physical activity, and sleep follow 8. Trials testing whether changing these changes clock output are ongoing rather than settled 10.
What are five simple tests that tell me how my body is aging? Grip strength, VO2max or a submaximal equivalent, gait speed, fasting glucose with HbA1c, and a lipid and inflammation panel. Each is directly measured, cheap and repeatable, and each is backed by decades of outcome data. Run them alongside any clock, not instead of thinking about it.
Woolf Software 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
-
Calen P. Ryan. “Epigenetic clocks”: Theory and applications in human biology. American Journal of Human Biology, 2020. https://doi.org/10.1002/ajhb.23488 ↩
-
Daniel J. Simpson, Tamir Chandra. Epigenetic age prediction. Aging Cell, 2021. https://doi.org/10.1111/acel.13452 ↩ ↩2
-
Adam Li, Zane Koch, Trey Ideker. Epigenetic aging: Biological age prediction and informing a mechanistic theory of aging. Journal of Internal Medicine, 2022. https://doi.org/10.1111/joim.13533 ↩ ↩2 ↩3
-
Yongpan An, Qian Wang, Ke Gao, et al. Epigenetic Regulation of Aging and its Rejuvenation. MedComm, 2025. https://doi.org/10.1002/mco2.70369 ↩
-
Miriam G. Jasiulionis. Abnormal Epigenetic Regulation of Immune System during Aging. Frontiers in Immunology, 2018. https://doi.org/10.3389/fimmu.2018.00197 ↩
-
Noémie Gensous, Claudia Sala, Chiara Pirazzini, et al. A Targeted Epigenetic Clock for the Prediction of Biological Age. Cells, 2022. https://doi.org/10.3390/cells11244044 ↩
-
Runyu Liang, Qiang Tang, Jia Chen, et al. Epigenetic Clocks: Beyond Biological Age, Using the Past to Predict the Present and Future. Aging and disease, 2024. https://doi.org/10.14336/ad.2024.1495 ↩
-
Mildred Min, Caitlin Egli, Ajay S. Dulai, et al. Critical review of aging clocks and factors that may influence the pace of aging. Frontiers in Aging, 2024. https://doi.org/10.3389/fragi.2024.1487260 ↩ ↩2 ↩3
-
Yi Xiang, Hao Xu, Hongxiang Chen, et al. Tea consumption and attenuation of biological aging: a longitudinal analysis from two cohort studies. The Lancet Regional Health - Western Pacific, 2024. https://doi.org/10.1016/j.lanwpc.2023.100955 ↩
-
Siyang Lin, Fang Wang, Min Huang, et al. Multidomain intervention for delaying aging in community-dwelling older adults (MIDA): study design and protocol. Annals of Medicine, 2025. https://doi.org/10.1080/07853890.2025.2496409 ↩ ↩2