How ILAI estimates biological age
How the ILAI Clock and PhenoAge contribute to ILAI’s biological-age estimate, its range and the factors behind it.
Why a range, not just a number
A biological-age estimate is more useful with context: the range around it, the results that shaped it and the changes since the previous draw. ILAI presents these together so clinicians can interpret the number alongside the patient’s record.
The ILAI Clock
The ILAI Clock is ILAI's proprietary engine. It reads the body system by system, drawing on the patient's lab history and accounting for the quality of each test. On the ILAI tab, "Built from" shows which systems pushed the estimate up and which pulled it down, so the number can be traced back to the record rather than taken on trust.
Blended with PhenoAge
PhenoAge (Levine et al., Aging, 2018) is a published model that estimates biological age from nine routine blood markers and chronological age: albumin, creatinine, glucose, C-reactive protein, lymphocyte percentage, mean corpuscular volume, red-cell distribution width, alkaline phosphatase and white-cell count.
ILAI implements it with care where implementations commonly go wrong:
- The published constants. PhenoAge = 141.50 + ln(−ln(1 − M)) / 0.090165, where M is the ten-year mortality score. The divisor that reproduces the original cohort is 0.090165; the figure 0.0920 also circulates. Because the log term is negative, the larger divisor gives a higher age: for a PhenoAge near 52 the term is about −8.07, and −8.07 × (1/0.090165 − 1/0.0920) ≈ −1.8, so the wrong divisor reads about 1.8 years high there; the gap is about 2.0 years at a PhenoAge of 40 and 1.6 at 70. ILAI uses 0.090165.
- Unit checks. Every input is checked against a plausible range before conversion, so a result reported in unexpected units raises an error instead of silently producing a wrong age.
- Same-draw inputs. Values that must be read together, such as a lymphocyte percentage derived from two counts, are taken from the same draw.
The ILAI Clock and PhenoAge are combined into one underlying calculation, not averaged as two ages: the PhenoAge gap is converted to a hazard ratio (e^(0.082 × gap)) and mixed with the engine's multiplier in log space, weighted 9 PhenoAge inputs against the engine's own inputs. Biological age, estimated life expectancy and estimated healthspan are derived from the same underlying model. The displayed range reflects the sources of variation described below. It does not capture every source of model uncertainty and does not predict an individual's lifespan.
Which results count
Every lab result keeps its lab and its test method. Results from clinical laboratories count for more than results from at-home panels, and a marker with no recent result is left out rather than guessed; the range widens to reflect what's missing.
Where the range comes from
Every marker varies naturally within the same person. ILAI uses published biological-variation data to carry that variation through to the estimate, so the range reflects the spread you would expect if the same person were drawn again next week. It is not a prediction interval for an individual's lifespan.
What is shown
| Field | Demo patient |
|---|---|
| Biological age | 48.1 |
| Likely range | 47.1–49.1 |
| ILAI Clock alone | 47.0 |
| PhenoAge alone | 51.0 |
| Swing since last draw | ±1.1 yr |
| Trend | No clear trend yet |
"No clear trend yet" is shown whenever the swing between draws is larger than the move. A trend is only claimed from stored results, and a change of method replays the history so the trend never mixes methods.
How to interpret the estimates
Biological age, estimated life expectancy and estimated healthspan are modelled estimates, not clinical diagnoses. The healthspan levers shown beside them ("+1.7 yr") are library estimates scaled by adherence, not output of the ILAI Clock. Provisional assumptions (for example, a coronary calcium score of zero or an Lp(a) of 20 until measured) are listed as input notes on the card and are not counted as inputs.
Practices evaluating ILAI can ask us for the full methods document.