Which Epigenetics Testing Kit Is Worth Buying
Buy the kit that returns your raw intensity files. Everything else about an epigenetic age test is downstream of that one requirement. If a vendor runs an Illumina Infinium MethylationEPIC array and gives you the IDAT files, you can compute the clocks on your own preprocessing, with your own quality control. That covers Horvath, Hannum, PhenoAge, DunedinPACE and any clock published next year. If the vendor returns only a PDF with a number on it, you have bought a number. You cannot check it, reprocess it, or compare it to anything measured elsewhere.
That is the whole decision. Below is the reasoning, the specifics of what to ask for, and how to do the analysis once the files land.
What to require of any kit
Three things, in order of importance.
First, raw data. For an array that means the pair of .idat files per sample (Grn and Red), plus the sample sheet with the chip barcode and position. For a sequencing-based assay it means FASTQ or BAM files and the amplicon panel definition. Ask before you pay, and ask in writing.
Second, platform and version, named explicitly. EPIC v1 (roughly 850,000 probes) and EPIC v2 (roughly 935,000 probes) are not interchangeable for clock work. A number of legacy clock CpGs were dropped or re-identified on v2, so a clock trained on 450k content will have missing predictors. Most implementations silently impute those with a training-set mean, which quietly biases your estimate.
Third, sample handling you can repeat. Whole blood in EDTA, same tissue and same tube type every time. Buccal swabs and blood give different methylation ages, and models have to be trained per tissue rather than transferred across them 1. If you want a trend line over five years, you need the pre-analytics to be boring and identical.
Why the clock menu is the least interesting part of the product page
Vendors compete on how many “organ ages” or “system ages” they report. Those panels are mostly linear combinations of the same underlying beta matrix. Once you hold the betas, the marginal cost of computing another clock is a function call. The interesting differences between products are the ones nobody advertises. These include bisulfite conversion chemistry, DNA input mass and array version, plus the normalization pipeline and whether replicates were run at all.
Preprocessing is not a detail. A systematic comparison across common pipelines on EPIC data showed that the choice of normalization changes the resulting methylation age estimate, and that agreement between pipelines varies by clock 2. Two labs can run the same blood draw and report ages several years apart without either doing anything wrong. That is why the raw files matter more than the report.
Array or targeted sequencing
Arrays are the right default. The EPIC array covers the CpGs that the published clocks were trained on, which means you can run those clocks as specified instead of on a substituted proxy set. You also get cell-composition estimation for free, which you need in blood.
Targeted assays are a real alternative and worth understanding. Small panels measured by pyrosequencing or amplicon sequencing can predict chronological age in blood with error in the range reported for full arrays, using a handful of CpGs rather than hundreds of thousands. Simplified whole-blood assays built on a small CpG set have been validated in adults 3, and a three-site signature from the earliest work already tracked age across tissues 4. Targeted approaches have since been extended with barcoded amplicon sequencing and digital PCR readouts designed for higher throughput 5. Later work improved the scalability and sequencing quality of such assays, which is what makes them practical for repeat testing 6.
Two caveats. Pyrosequencing readouts differ between models and between labs, and a head-to-head evaluation of six blood-based age predictors by pyrosequencing found that performance depends heavily on the assay and the model pairing 7. And a 10-CpG panel cannot be re-analyzed with next year’s clock. You are locked into the panel you bought.
We use arrays for baseline and any longitudinal series, and treat targeted assays as a cheap way to add intermediate points when the CpG set is fixed and the lab is the same.
Processing the IDATs
Here is the pipeline we run. R, sesame for preprocessing, then clocks.
library(sesame)
sesameDataCache()
# prep string: quality mask, channel inference, dye bias, pOOBAH, noob
betas <- openSesame("idats/", prep = "QCDPB", func = getBetas)
# how many probes failed detection per sample
colSums(is.na(betas))
Check the failure counts first. If a sample has tens of thousands of NA probes after pOOBAH, the DNA input or conversion was poor and the clock output is not trustworthy. Do not proceed to interpretation on a bad array.
Then cell composition, because whole-blood methylation is a weighted average of leukocyte types:
library(EpiDISH)
data(centDHSbloodDMC)
frac <- epidish(beta.m = betas, ref.m = centDHSbloodDMC, method = "RPC")$estF
Granulocyte and CD8 naive fractions move with acute illness and with recent exertion. A jump in estimated age between two draws is often a shift in cell fractions rather than a change in anything durable. Record the fractions alongside every estimate.
Then the clocks:
library(methylclock)
age <- DNAmAge(betas, clocks = c("Horvath", "Hannum", "Levine", "skinHorvath"))
Horvath’s multi-tissue clock uses 353 CpGs, Hannum’s blood clock 71, and Levine’s PhenoAge 513. Before you read the output, count how many of each clock’s CpGs are present in your matrix. If more than a few percent are missing, the imputation is doing visible work and the estimate should be labeled as approximate.
DunedinPACE, a pace-of-aging score rather than an age, runs from its own package and requires its CpG set to be largely present. It is the output we watch most closely in a longitudinal series, because a rate estimate is more informative than a single age point.
Measuring your own noise floor before you interpret anything
This is the step almost every consumer product skips, and it is the difference between a hobby and a measurement.
Split one blood draw into two tubes and have both run, ideally on the same chip. The difference between the two reported ages is your technical noise for that lab, that platform, and that pipeline. Any future change smaller than that difference means nothing. For most single-sample array clocks the replicate spread is on the order of years, which is why principal-component versions of the clocks were developed specifically to reduce it.
Also pick one interval and hold it. Six or twelve months, in the same season and the same fasting state. Use the same lab and the same array version. Validation work on methylation biomarkers for aging and disease research is cross-sectional in design, so the within-person trajectory is the part you are generating yourself 8. Treat your series as an experiment you are running on n=1 and keep the protocol fixed.
What the number can and cannot tell you
An epigenetic age estimate is a regression output. It predicts chronological age well and carries some additional signal about health status, and that is the extent of the claim. It is not a diagnosis, it does not identify a cause, and no clock has been shown to respond to an intervention in a way that predicts an individual’s outcome. If a blood panel or a clinical symptom is what prompted the test, that belongs with a physician. A methylation score is not the place to take it.
What the data is good for is a baseline you keep. Raw IDATs from 2026 remain analyzable with clocks published in 2031. A PDF does not.
Questions people also ask
Which biological age test is the most accurate? Accuracy against chronological age is not the interesting axis, since all the major blood clocks land within a few years and the differences between them are smaller than the differences between preprocessing pipelines 2. Prefer the test that returns raw data and ran a replicate.
Is a cheek swab as good as blood? No, and they are not comparable to each other. Age models must be trained separately for blood, buccal cells and other tissues, because the informative CpGs and their slopes differ 1. Pick one tissue and stay with it.
Can I compute biological age from my whole-genome sequence? Not directly. Standard WGS reads sequence, not methylation state, so bisulfite or enzymatic conversion is required. Genome and methylome are complementary layers that you hold alongside each other.
Are small CpG panels good enough? For predicting age in blood, often yes, and modern amplicon versions are cheap and scalable 56. The limitation is that you cannot re-run a future clock on a fixed panel, and results shift between labs and readout chemistries 7.
Footnotes
-
Anna Woźniak, VISAGE Consortium, Antonia Heidegger, et al. Development of the VISAGE enhanced tool and statistical models for epigenetic age estimation in blood, buccal cells and bones. Aging, 2021. https://doi.org/10.18632/aging.202783 ↩ ↩2
-
Lisa M McEwen, Meaghan J Jones, David Tse Shen Lin, et al. Systematic evaluation of DNA methylation age estimation with common preprocessing methods and the Infinium MethylationEPIC BeadChip array. Clinical Epigenetics, 2018. https://doi.org/10.1186/s13148-018-0556-2 ↩ ↩2
-
Laura Vidal-Bralo, Yolanda Lopez-Golan, Antonio Gonzalez. Simplified Assay for Epigenetic Age Estimation in Whole Blood of Adults. Frontiers in Genetics, 2016. https://doi.org/10.3389/fgene.2016.00126 ↩
-
Carmen M. Koch, Wolfgang Wagner. Epigenetic-aging-signature to determine age in different tissues. Aging, 2011. https://doi.org/10.18632/aging.100395 ↩
-
Yang Han, Julia Franzen, Thomas Stiehl, et al. New targeted approaches for epigenetic age predictions. BMC Biology, 2020. https://doi.org/10.1186/s12915-020-00807-2 ↩ ↩2
-
Benjamin Mayne, David Chandler, Christopher Noune, et al. Increased scalability and sequencing quality of an epigenetic age prediction assay. PLOS ONE, 2024. https://doi.org/10.1371/journal.pone.0297006 ↩ ↩2
-
Antoine Daunay, Laura G. Baudrin, Jean-François Deleuze, et al. Evaluation of six blood-based age prediction models using DNA methylation analysis by pyrosequencing. Scientific Reports, 2019. https://doi.org/10.1038/s41598-019-45197-w ↩ ↩2
-
Songnian Hu, Chao Ying, Jinhua Xue, et al. Validation of DNA methylation biomarkers for aging and disease research: A cross-sectional observational study. Aging Advances, 2026. https://doi.org/10.4103/agingadv.agingadv-d-25-00039 ↩
Pothos builds longitudinal molecular profiles of individuals: whole-genome sequencing, single-cell RNA sequencing, and plasma proteomics, delivered as a detailed report, every data file, and stored cells. Build your profile.