Aging Clocks Catalog · For reports and retests
Age, pace, uncertainty and conflicting results
A number can change because biology changed, the measurement changed, or a different quantity was reported. Start by separating those possibilities.
Study evidence and teaching examples are labeled separately. The matched-platform comparison and CALERIE control trajectory are published study findings with aggregate calculations. The other worked examples use invented inputs. None supplies a commercial product’s individual-change threshold or a retest interval.
First ask whether the numbers measure the same thing
In a hypothetical comparison, suppose a blood age report is 54, a cheek age report is 48, and a pace report is 0.90. Averaging them would combine potentially different targets, tissues and reference populations with a non-age output. Selecting 48 as the “true” result validates nothing. A pace score of 0.8 is not a statement that someone is 20% younger. [M03; M05]
| Quantity | Arithmetic | Interpretation |
|---|---|---|
| Raw clock score | Predicted age = 55 score-years (hypothetical) | The estimator’s output before subtracting chronological age or a fitted reference prediction. |
| Raw age gap | Predicted 55 − chronological 60 = −5 score-years | Difference from calendar age, without a fitted reference adjustment. |
| Reference residual | Predicted 55 − reference prediction 58 = −3 score-years | Departure from the specified fitted relationship at chronological age 60—not the same quantity as the raw gap. |
| Pace output | A longitudinally trained score, such as DunedinPACE, has its own reference calibration. | It is not automatically obtained by subtracting two age predictions. |
Record whether a report gives the raw score, score minus chronological age, a residual from a named age regression, or a pace. Residuals depend on the reference population and fitted relationship; a model name alone does not identify the quantity. [M04; M05; R04]
Different brands do not establish independent confirmation. Tally’s policy documents its acquisition by a TruDiagnostic affiliate on 19 March 2026, under a policy effective 29 April. This is not a September acquisition, and affiliation does not make TruAge’s blood assay and TallyAge’s cheek assay identical. Compare the actual target and pipeline rather than count brands as independent votes. [F01]
Same DNA, different platform: a score can fall
Matched-platform evidence, not a before/after intervention. Tay et al. used the same extracted DNA for EPICv1 and EPICv2 measurements in 16 paired samples per specimen. The screening participants were aged 40–60; 14 were Chinese. The pipeline included EPICv2 missing-value imputation. This comparison measures the combined platform/pipeline difference, not the isolated effect of the array hardware. [R05]
Buffy-coat PCPhenoAge
Same extracted DNA, two EPIC generations. Buffy coat is a white-cell-rich blood fraction. This is the principal-component methylation estimator, not the clinical-laboratory Phenotypic Age formula.
Mean: −1.96 score-years
Reconstructed 95% interval for the mean offset: approximately −2.40 to −1.52 score-years.
A platform/pipeline change can therefore create an apparent reduction without intervening biology. Do not add 1.96 years to other EPICv2 reports. The small cohort, specimen, imputation and laboratory conditions do not support a universal correction or a “two-year error” label. A useful bridge needs paired specimens through both complete pipelines and a held-out check of both bias and remaining disagreement. [R05; R04]
Separate calibration can hide a common offset
Synthetic example: take ages [40, 50, 60, 70], first scores [43, 49, 58, 70], and second scores two units lower for everyone: [41, 47, 56, 68]. Fit a separate score-versus-age regression, with an intercept, to each set.
Raw mean difference: −2
Every second score is two score-years lower. The common offset remains visible in the original units.
Residual mean difference: 0
The second regression absorbs the offset into its intercept. The two sets of residuals are identical by construction.
The identity is simple: if Y₂ = Y₁ + c, separate age regressions absorb c, whether it came from technical bias or a genuine common biological shift. Agreement of the residuals therefore does not validate absolute longitudinal agreement. This is an algebraic illustration, not participant data. Separate and pooled calibration choices are also explicit in the inspected EPIC-comparison analysis code. [R04]
Separate calibration can serve within-cohort association questions; it cannot estimate a cohort-wide shift that it removes. Keep an external or prespecified reference for a longitudinal comparison, preserve the original units, and test any bridge independently. If platform and visit are perfectly confounded without bridge samples, statistical adjustment alone cannot identify their separate effects. [R04; R05]
A score change and a gap change are not the same
| Quantity | First visit | Second visit | Change |
|---|---|---|---|
| Chronological age | 50 | 51 | +1 year |
| Predicted age | 52 | 50 | −2 score-years |
| Raw age gap | +2 | −1 | −3 score-years |
The score fell by 2, while the gap fell by 3 because calendar age also advanced. Neither is automatically a validated pace, a causal treatment effect or years of life gained.
An actual control trajectory: the gap fell while raw age rose
CALERIE study evidence. The methylation analysis included 197 participants, with 69 ad-libitum controls at baseline and visit-specific missingness. Participants were predominantly White, relatively young and healthy. At 24 months, the reported PCGrimAge control age-gap change was −0.26 baseline SD (95% CI −0.37 to −0.14); the baseline scale SD was 2.82 years. The outcome was clock age minus chronological age—not raw clock age. [R09]
| Quantity | Calculation | Meaning |
|---|---|---|
| Control age-gap change | −0.26 × 2.82 = −0.7332 gap-years 95% interval: −1.0434 to −0.3948 | The fitted group gap declined. The normalizer is between-person baseline dispersion, not technical error. |
| Elapsed calendar time | +2 years, assuming a nominal exactly two-year interval | An explicit condition for the arithmetic below, not verification of every participant’s visit date. |
| Implied raw clock-age change | 2 − 0.7332 = +1.2668 score-years | At that nominal interval, raw clock age increased even though the age gap fell. |
The extra decimals show the calculation from rounded inputs, not extra measurement precision. This is neither age reversal nor a universal expected untreated slope. Physiology, calibration and measurement may contribute to the trajectory. The group interval cannot be repurposed as one customer’s error distribution. [R09]
A visible decrease may still be compatible with no change
Assume, only for this hypothetical illustration, independent, unbiased normally distributed error with a standard deviation of 1.5 score-years at each visit, and unchanged conditions. The standard error of the difference is √(1.5² + 1.5²) = 2.121. A rough 95% interval around the observed −2 change is −6.158 to +2.158.
A high intraclass correlation (ICC) does not supply this individual error model. ICC depends on between-person variation; calendar-age mean absolute error describes yet another task. DunedinPACE’s technical and cross-platform results and OMICmAge’s 0.998 ICC from 30 replicates do not establish a universal collection-to-report threshold for a consumer service. [M05; M21]
More generally, Var(e₂ − e₁) = Var(e₂) + Var(e₁) − 2 Cov(e₁, e₂). The familiar √2 multiplier needs equal, independent errors; shared batch error or a version offset changes the problem. The paired-platform SD above must not replace the invented 1.5 in this separate teaching example. Which experiment measures which uncertainty?
A new report is not necessarily a new biological observation
| What changed? | What was actually observed? | What comparison is needed? |
|---|---|---|
| Old specimen, new model | A reprocessed methylation specimen can receive a new age estimate without a new collection. A revised dashboard is not a biological retest. | Preserve model/report release labels; compare both timepoints under compatible processing and evaluate a documented bridge. |
| Old draw, added InnerAge | An InnerAge calculation on an eligible existing draw adds an inference, not a new specimen. | Assess what the score adds beyond the laboratory values already available; distinguish that cost from acquiring another assay. |
| New draw, different marker subset | InnerAge help permits multiple biomarker combinations, including sparse alternatives. Two calculable results need not use the same inputs. | Record the actual measured and used markers, missingness handling, weights/reference and version on both occasions. “Score available” does not establish longitudinal comparability. |
These are interpretation scenarios, not observed customer histories. InsideTracker documents the add-on and input-subset routes; TruDiagnostic describes multiple array platforms and a paired reference resource. Neither description establishes a frozen output-level bridge with applicable residual error for every pair of reports. [F02; F03]
Same ranking can still mean different score-years
Fixed synthetic checks, not customer observations. The denominator and CRP changes below alter computation with no new specimen. They complement the empirical platform comparison; they do not estimate its error or replace collection-to-report uncertainty. Source history and calculations were reviewed on . [D01; D03; D04]
Ranks can stay the same
Holding all other precise BioAge constants fixed, the historical 0.09165 denominator gives 42.8482 on the age-50, CRP-0.1-mg/dL fixture; the restored 0.090165 gives 41.2234. Their difference, about 1.6248 score-years, is not a universal additive correction.
The outputs are linked by a positive rescaling around a fixed intercept. Raw-score ranks and correlation can therefore remain unchanged even when absolute age-years differ. [D03]
The effect depends on concentration
With the same BioAge coefficients and other inputs fixed, replacing ln(CRP) with ln(1 + CRP) adds about 2.5363 score-years at 0.1 mg/dL, but about 0.7331 at 1.0 mg/dL.
This is not a common score rescaling and need not preserve ordering across different CRP values. An offset estimated at one concentration cannot reconcile both paths. [D04]
The algebra behind the two different changes
For a denominator-only change, with c = 141.50225:
A_historical = c + (0.090165 / 0.09165) × (A_restored − c) 0.090165 / 0.09165 ≈ 0.9837970540
Both denominators are positive. If these raw outputs are residualized against the same design with an intercept and then standardized, the affine difference can disappear. That is a property of the transformation—not independent proof of absolute agreement. Raw age gaps and pace are different quantities and must not be substituted.
For the CRP change, C is the numeric concentration in mg/dL:
ΔA = (0.09536762 / 0.090165) × ln(1 + 1/C)
This makes concentration dependence explicit. Units must be resolved before the logarithm; log1p’s added constant also belongs to a specified unit convention. These are deterministic identities on declared computations, not personal uncertainty estimates. [D01; D03; D04]
The original equation and later code history support the retained 0.090165 fixture without certifying every historical study. A revised formula, helper refit or stored-report update needs a computation label; authorized reprocessing under a common version is still not a new biological collection.
Before describing a retest as biological change
- Identify the same quantity.
Match raw score/gap/residual/pace, model version, units, specimen, assay generation, imputation, normalization and reference calibration. Record the actual input subset, fixed versus refitted model, returned output field and reference artifact. Distinguish a new collection from reprocessing an old one. A familiar brand name is not enough.
- Check the measurement conditions.
Compare collection timing and relevant preparation, acute illness or medication changes, processing, shipping, batch and laboratory. Check method changes and paired bridging evidence. A duplicate aliquot does not estimate all variation between visits.
- Find uncertainty for this use.
Seek absolute collection-to-report difference variance, bias and interval-specific untreated trajectories in the reported units. A protein ICC, cross-sectional age error or seller interval is not that evidence.
- Separate change from its cause.
A before/after difference can reflect untreated change, concurrent changes or regression to the mean. Selecting an unusually “old” first result can produce a less extreme second result without improvement.
These proposed checks follow the platform, replicate and control designs, not a validated threshold for every test. [R04; R05; R09; F02]
No numerical regression-to-the-mean correction is justified here without the relevant selection and reliability data. A three- or six-month marketing interval does not demonstrate that individual change can be resolved at that interval. The commercial audit marks what is and is not publicly established.
A unit mistake can look like biology
In the fixed BioAge orig / natural-log CRP clinical Phenotypic Age example, entering CRP in mg/L as if it were mg/dL makes the input ten times too large and shifts the result by 2.43545 score-years, without changing the specimen. Conversion must happen before the natural logarithm; zero/nonpositive CRP cannot be silently logged. The static calculation gives the exact inputs and formula. [M03; T01]
Same invented inputs, different specifications
The fixed-specification comparison yields a 0.5764-score-year Biolearn-minus-BioAge difference for the same synthetic inputs. Separately, supplying ln(1 + CRP) instead of ln(CRP) to the BioAge coefficient expression at CRP = 0.1 mg/dL raises the synthetic result by 2.5363 score-years. The first compares specified formulas; the second changes a specified transformation. Neither is an observed customer error, biological effect, personal uncertainty estimate or universal correction. [F04]
The 29 September audit also ran the exact pinned Biolearn function in isolation on the three inherited fixtures, confirming the earlier scalar outputs. That is implementation parity, not an independently established primary-method expectation or a statement about every service using the name. What each validation layer establishes. [D05]
Risk and treatment claims need another step
An age-scaled risk score is not a personal lifespan forecast. Even a hazard ratio needs baseline risk, horizon and model assumptions. With invented baseline risk 5% and HR 1.5, a proportional-hazards illustration gives 1 − 0.951.5 = 7.405%—not a simple addition of percentage points. This is not a validated clock-specific risk calculator.
Likewise, in a hypothetical trial with mean change −2 in treatment and −1 in placebo, the treatment-versus-placebo change contrast is −1. A significant within-treatment change and a nonsignificant control change do not establish a significant difference between groups. Clinical utility and surrogate validity require evidence beyond that contrast. [M26]
Sources and reading limits
Source labels distinguish primary research, seller documents and implementation notes. Inherited M/T source observations are from 21 September 2026; added R source observations are from 22 September 2026. The platform interval and CALERIE back-conversion are aggregate arithmetic, not raw-data or model replication. F sources add service/preprocessing evidence reviewed on 28 September 2026; the implementation comparisons use fixed invented inputs.
M03. Levine et al. (2018), An epigenetic biomarker of aging for lifespan and healthspan Clinical selection, units/coefficient table, methylation stage and validation passages inspected; no raw-data reanalysis.
M04. Lu et al. (2022), DNA methylation GrimAge version 2 Primary version, training and multi-cohort validation passages inspected; no commercial-version equivalence inferred.
M05. Belsky et al. (2022), DunedinPACE Primary longitudinal target, normalization, technical/cross-platform reliability and relevant validation text inspected; model not executed.
M21. Chen et al. (2026), OMICmAge Published 25 February 2026. Primary development, external validation, replicate, limitation, access and conflict sections; sponsored/company-affiliated work with patent interests.
M26. FDA–NIH BEST: Validated Surrogate Endpoint Official definitions and evidentiary discussion; used as a framework, not a regulatory-status verdict for any aging test.
T01. BioAge R package README and relevant source files inspected, not executed. DESCRIPTION 0.1.0 declares GPL-3; package paper was identified, not independently read.
R04. Zhuang et al. (2025), EPIC-version differences in methylation tools Relevant methods/results and the analysis code inspected, including separate and pooled calibration; code read, not executed. The synthetic constant-offset example is catalog arithmetic, not this study’s participant result.
R05. Tay et al. (2025), DNAm age differences across EPIC versions and specimens Published 23 April 2025. Relevant methods/results/conflicts and Supplementary Table S4 (PDF page 3) inspected. Reconstruction uses rounded S4 aggregates, not individual predictions or raw methylation; the added mean interval is conditional on the assumptions shown beside it. Main-text/S4 SD discrepancies in other rows and a normalization-reference inconsistency remain unresolved; no source preprocessing was independently reproduced. Disclosures include clock-foundation and advisory roles.
R09. Waziry et al. (2023), CALERIE methylation-clock analysis Relevant methods and university-hosted publisher article and supplement, Tables S3/S4 inspected. The control example uses rounded Table S3 group summaries; baseline SD is not technical error. Trial/model-author evidence, not independent consumer-service validation.
F01. Tally privacy policy, effective 29 April 2026. Inspected ownership disclosure: 19 March 2026 acquisition by IE Tally Holdings, LLC, a TruDiagnostic affiliate. Ownership does not establish assay or model identity; no account flow tested.
F02. InsideTracker help on permitted biomarker combinations and existing-test add-ons. Relevant descriptions inspected; proprietary formula and equivalence across subsets not established. Relative update labels are not exact amendment dates.
F03. TruDiagnostic array-platform description. Multiple-platform and paired-reference claims inspected; no independent, output-level bridge or personal error estimate reproduced.
F04. Pinned BioAge coefficient expression, NHANES preparation source and Biolearn mathematical implementation. The 28 September review used text inspection and scalar arithmetic, not package/cohort execution or proof of a historical deployed path. The 29 September follow-up executed only the pinned isolated Biolearn function (D05). The Tools comparison states the exact conditions.
Computational-identity evidence observed . D labels distinguish source history, code inspection and bounded execution; they do not refresh unrelated evidence.
D01. Levine et al. (2018) and Supplementary Data 1. Clinical equations, units, Table S1 and distinction from DNAmPhenoAge inspected; relevant 2018 equations/tables visually checked. No full-precision original execution artifact or independently supplied clinical input/output fixture recovered.
D03. BioAge history: 11 October 2023 change, 2 April 2026 restoration, subsequent revert/reapplication and resulting pinned expression. Diffs establish code chronology. The maintainer’s attribution to Levine is not authenticated correspondence or proof of every historical study’s implementation.
D04. BioAge fixed/generic calculation, NHANES helper and preparation source. Calculation/helper read completely; relevant preparation passages inspected. Source fields and log1p path do not authenticate stored dataset columns. No R helper, survival fit or participant data executed.
D05. Pinned Biolearn hematology function, blob d3df517dce9a2ebe392d5b976c6ba4208b4c72fd. The 1,405-byte source was verified and executed only in isolation on three inherited synthetic cases with NumPy/pandas. The complete package, remote models and empirical workflows were not run. This checks implementation parity, not independent primary-method truth.
Next: See these distinctions in actual studies or inspect the evidence needed for stronger claims.