How biological age is calculated in SuperAge | complete guide
See how SuperAge calculates wearable-derived Fitness Age and separate PhenoAge and KDM estimates from blood tests, with current weights and limitations.
You’re 45 years old according to your ID, but different physiological models may produce different age estimates. That gap can highlight modifiable health signals, but no app can reveal one perfect “true age.”
SuperAge currently presents complementary estimates rather than merging every signal into one hidden number:
- Fitness Age uses normalized Apple Health-derived signals across five weighted domains.
- PhenoAge uses a defined panel of nine blood biomarkers plus chronological age.
- KDM biological age uses a separate blood-based method and can run when at least five of its nine supported inputs are available.
The app lets you compare these results. PhenoAge and KDM do not currently modify Fitness Age.
In this article:
- What is biological age
- The 5 health domains
- Cardiovascular health (28%)
- Physical activity (24%)
- Body composition (18%)
- Recovery and sleep (15%)
- Lifestyle (15%)
- Blood-based ages: PhenoAge and KDM
- How scores are combined
- The confidence score
- How to improve the underlying signals
- Frequently asked questions
Quick answer
SuperAge’s continuously updated Fitness Age combines available signals across five domains: cardiovascular health, activity, body composition, recovery and sleep, and lifestyle. An optional blood-glucose observation can contribute inside Body Composition when supplied through the normalized health-data pipeline.
Blood-test panels entered or imported in the app do not modify Fitness Age. They are used to calculate separate PhenoAge and KDM results. There is currently no blood-panel adjustment of ±3–5 years—or any other fixed adjustment—to Fitness Age.
Key facts
- Biological age -> means -> a model-dependent estimate, not one universal measurement.
- Fitness Age -> uses -> five weighted domains from normalized health and wearable signals.
- Blood tests -> produce -> separate PhenoAge and KDM estimates shown alongside Fitness Age.
- Blood glucose -> has -> a nominal local weight of 0.15 inside Body Composition when observed.
- Other lab biomarkers -> have -> no Fitness Age weights in the current model.
- Confidence -> describes -> input coverage in Fitness Age; it is not a probability that the age is correct.
- Best use -> track -> trends over time and discuss medical questions with a clinician.
Related SuperAge guides
- Biological age vs Fitness Age: what is the difference?
- PhenoAge and KDM: two blood-based biological age methods
- Epigenetic clocks explained: Horvath, GrimAge, DunedinPACE
- Biological age vs metabolic age: what is the difference?
What is biological age?
Biological age is an estimate of physiological state relative to chronological age. Different models examine different signals and can legitimately return different results for the same person. A wearable-derived fitness model, a blood-chemistry method, and a DNA-methylation clock are not interchangeable.
That is why SuperAge labels its outputs instead of presenting them as one definitive age. Fitness Age emphasizes frequently updated fitness and lifestyle signals. PhenoAge and KDM provide periodic blood-based views. SuperAge does not currently run a DNA-methylation test.
These estimates are most useful as trends and conversation aids, not diagnoses. A change may reflect a real shift, a different mix of available inputs, normal day-to-day variation, or measurement error.
The 5 health domains
Fitness Age evaluates five domains. The default domain weights are:
| Domain | Default weight |
|---|---|
| Cardiovascular health | 0.28 |
| Physical activity | 0.24 |
| Body composition | 0.18 |
| Recovery and sleep | 0.15 |
| Lifestyle | 0.15 |
Only domains with scorable observations take part in the overall average. If a domain is missing or explicitly excluded, its weight is not silently converted into a zero score; the remaining domain weights are normalized over the domains that are present.
Within each domain, the same principle applies:
domain score =
sum(metric score × local weight)
/ sum(local weights for observed metrics)
This distinction matters. A local weight such as 0.15 does not automatically mean 15% of the final Fitness Age and does not correspond to a fixed number of years.
Current implementation boundary: The values below describe SuperAgeCore 0.4.0 and the current app integration, which uses the
compatibilityV1score-to-age mode. The versioned public methodology is the source of truth.
Cardiovascular health (28%)
The cardiovascular domain scores each available observation on a 0–100 curve and then normalizes across the observations present.
| Metric | Nominal local weight |
|---|---|
| VO2 max | 0.42 |
| Blood pressure | 0.20 |
| Maximum heart rate | 0.18 |
| Respiratory rate | 0.10 |
| Walking heart rate average | 0.10 |
| Average heart rate | 0.05 |
| Oxygen saturation | 0.05 |
VO2 max (local weight 0.42)
VO2 max is the maximum amount of oxygen your body can use during intense exercise, measured in milliliters per kilogram per minute. It has the largest local weight in this domain.
SuperAgeCore uses age- and sex-specific decade bands anchored to the FRIEND Registry reference standards, interpolating from minimum through acceptable, good, and excellent ranges. The core consumes the value supplied by the host app; it does not infer VO2 max from walking speed or other signals.
Blood pressure (local weight 0.20)
The blood-pressure curve assigns 100 below 120/80 mmHg, then uses successively lower score bands below 130/85, 140/90, and 160/100. Higher readings receive the lowest fixed band. An age adjustment is applied within this metric curve.
These wellness-score boundaries are not a diagnosis or treatment recommendation. Clinical interpretation depends on repeat measurements, context, risk, and professional guidance.
Other cardiovascular inputs
- Maximum heart rate (0.18): compared with the Tanaka reference,
208 − 0.7 × age, with proportional bands below the reference. - Respiratory rate (0.10): the top band is 12–16 breaths per minute, with lower scores farther from that range.
- Walking heart rate average (0.10): evaluated against age-banded target and acceptable upper bounds.
- Average heart rate (0.05): the top band is 55–65 bpm. This is distinct from resting heart rate, which belongs to Recovery.
- Oxygen saturation (0.05): the top band begins at 97%. Altitude, symptoms, and sensor quality still matter.
Physical activity (24%)
Daily movement is represented by a mix of volume, exercise, standing, and functional-mobility signals.
| Metric | Nominal local weight |
|---|---|
| Daily steps | 0.35 |
| Active energy | 0.30 |
| Exercise time | 0.25 |
| Six-minute walk distance | 0.18 |
| Flights climbed | 0.10 |
| Stand hours | 0.08 |
| Stair ascent speed | 0.04 |
| Stair descent speed | 0.04 |
The local weights total more than 1 because several inputs are opportunistic. They are normalized over whichever supported metrics are actually observed.
Main activity curves
- Steps (0.35): age targets are 8,000, 7,200, 6,300, and 5,400 daily steps for ages through 30, 31–50, 51–65, and 66+ respectively. Reaching the target maps to a base score of 80; the top base score requires at least 130% of the target.
- Active energy (0.30): age- and sex-specific targets range from 320 kcal/day for the youngest male reference band and 230 for the youngest female band to 165 and 120 for the oldest bands.
- Exercise time (0.25): daily minutes are converted to a weekly value, with 150 or more minutes receiving the top score.
- Flights climbed (0.10): targets are 12, 10, 8, and 6 flights across the same age bands.
Opportunistic mobility inputs
Six-minute walk distance, stand hours, and stair ascent and descent speed contribute when available. Ordinary walking speed is not a Fitness Age input in SuperAgeCore 0.4.0.
When a declared mobility context makes a gait-derived instrument unobservable, the core removes it rather than treating absence as poor performance.
Body composition (18%)
Body Composition uses BMI, body-fat percentage, lean mass index, and—when supplied—blood glucose.
| Metric | Nominal local weight |
|---|---|
| BMI | 0.50 |
| Body fat when BMI is present | 0.35 |
| Body fat when BMI is absent | 0.60 |
| Lean mass index when BMI and body fat are present | 0.15 |
| Lean mass index otherwise | 0.25 |
| Blood glucose | 0.15 |
BMI (local weight 0.50)
BMI is weight in kilograms divided by height in meters squared. The core’s healthy curve is 18.5–25 through age 65 and 20–27 after 65, with smooth penalties outside the range.
BMI does not distinguish fat from muscle, so it is interpreted alongside other available composition signals. Metabolic age is a separate concept.
Body-fat percentage
The current age- and sex-specific reference ranges are:
| Age | Male reference | Female reference |
|---|---|---|
| 20–30 | 8–19% | 16–24% |
| 31–50 | 11–22% | 18–27% |
| 51–65 | 13–25% | 21–30% |
| 66+ | 15–28% | 23–33% |
Body fat has local weight 0.35 when BMI is available and 0.60 when it is not.
Lean mass index
Lean mass index is calculated as lean mass in kilograms divided by height in meters squared. Its reference target is 18 for the male curve and 14 for the female curve, adjusted with age. The local weight is 0.15 when BMI and body fat are both present and 0.25 otherwise.
Maintaining muscle is important for reducing the risk of sarcopenia and frailty.
Blood glucose (local weight 0.15)
This is the only blood-related input currently accepted by Fitness Age. Its curve scores 70–110 mg/dL at 100, 60–69 or above 110 through 125 at 82, 50–59 or above 125 through 140 at 60, and applies a bounded penalty outside those bands.
The 0.15 value is normalized against whichever Body Composition inputs are observed. It is neither 15% of the final Fitness Age nor a fixed adjustment in years. No other lab biomarker currently has a Fitness Age weight.
Recovery and sleep (15%)
Recovery combines sleep, HRV, resting heart rate, and optional wrist-temperature deviation.
| Metric | Nominal local weight |
|---|---|
| Sleep score, duration, or fallback | 0.50 |
| Heart rate variability | 0.30 |
| Resting heart rate | 0.20 |
| Sleeping wrist-temperature deviation | 0.15 |
Sleep (local weight 0.50)
When a positive host-provided sleep score exists, the core uses it directly. Otherwise sleep duration is scored around 7–9 hours through age 65 and 7–8 hours after 65, with a floor of 30 outside the range.
The public core includes a compatibility fallback of 75 when another recovery signal exists but sleep is missing and sleep has not been disabled. The current SuperAge app disables the sleep metric when it has no usable sleep observation, so that fallback is not used in that case.
HRV (local weight 0.30)
Heart rate variability is an individual and device-dependent recovery signal. The core uses age targets of 45, 38, 32, 27, and 22 milliseconds for ages 20–30, 31–40, 41–50, 51–60, and the remaining band. It scores the ratio to the applicable target and then applies the documented age adjustment.
HRV trends are generally more informative than comparison with another person’s single reading. See the complete guide to HRV.
Resting heart rate (local weight 0.20)
Resting heart rate belongs to Recovery, not the Cardiovascular domain. The top curve band is 40–60 bpm, followed by progressively lower bands. A change can reflect fitness, sleep, stress, illness, medication, hydration, or measurement conditions.
Sleeping wrist-temperature deviation (local weight 0.15)
The absolute deviation is scored highest through 0.15 °C, then progressively lower through 0.30, 0.45, and 0.60 °C. It is an optional trend signal, not a diagnosis or a direct core-body-temperature reading.
Lifestyle (15%)
Lifestyle combines one explicit behavior with movement-derived and gait-quality signals.
| Metric | Nominal local weight |
|---|---|
| Smoking status | 0.20 |
| Movement regularity | 0.18 |
| Activity consistency | 0.16 |
| Walking steadiness | 0.16 |
| Sedentary score | 0.10 |
| Walking asymmetry | 0.10 |
| Walking double support | 0.10 |
| Time in daylight | 0.10 |
Smoking status maps to 100 for a non-smoker and 30 for a smoker. Movement regularity is derived from step count. Activity consistency and the sedentary score are derived from steps and active energy; the core does not examine a multi-day streak or directly measure sitting time for these two scores.
Walking steadiness, asymmetry, double support, and daylight contribute only when observed. As elsewhere, the domain divides by the total local weight actually present.
These signals are designed for wellness trends. For example, quitting smoking can improve several underlying health measures, but the app does not claim a universal fixed number of biological years gained or lost.
Blood-based ages: PhenoAge and KDM
Blood-test panels do not currently form a Fitness Age domain and do not apply a ±3–5-year refinement. SuperAge uses eligible lab results to calculate PhenoAge and KDM biological age as separate outputs.
| Output | Current inputs | Availability in the app | Changes Fitness Age? |
|---|---|---|---|
| PhenoAge | Albumin, creatinine, glucose, CRP, lymphocyte percentage, MCV, RDW, alkaline phosphatase, WBC, plus chronological age | All nine biomarkers are required | No |
| KDM | Albumin, alkaline phosphatase, BUN, creatinine, CRP, HbA1c, total cholesterol, lymphocyte percentage, systolic blood pressure | At least five of the nine supported inputs are required | No |
| Fitness Age glucose input | Normalized blood-glucose observation | Used when available through the health-data pipeline | Yes, with local Body Composition weight 0.15 |
PhenoAge
Clinical PhenoAge is based on the published Levine and Liu methodology. In the current app, the result is available only when all nine required biomarkers can be matched. It has its own calculation and confidence result.
KDM
The Klemera–Doubal Method models biological age from age-related biomarker relationships. SuperAge’s current blood-focused implementation supports the nine inputs shown above, uses sex-specific parameters, and requires at least five inputs. KDM has its own completeness and confidence logic.
Read the dedicated PhenoAge and KDM guide for a deeper comparison.
What is not integrated today
HbA1c, CRP, lipids, liver markers, and the other blood-panel results have no Fitness Age weights today. Additional biomarkers can make a separate PhenoAge or KDM result available or more complete according to that algorithm’s rules, but they do not raise the Fitness Age confidence score merely because more lab values were entered.
SuperAge is evaluating a future blood-based modifier for Fitness Age. It is not implemented in the current model, so there is no weighting table or year-shift formula to disclose yet. Any future output-changing integration should be versioned and documented when it ships.
How scores are combined
Each observed metric is mapped to a 0–100 score. The core first normalizes metric scores within each domain, then normalizes the present domain scores:
overall score =
sum(present domain score × sanitized domain weight)
/ sum(present sanitized domain weights)
For example, if all five domains are present:
Cardiovascular: 85 × 0.28 = 23.80
Activity: 72 × 0.24 = 17.28
Composition: 68 × 0.18 = 12.24
Recovery: 80 × 0.15 = 12.00
Lifestyle: 90 × 0.15 = 13.50
Overall score: 78.82
If one of those domains were absent, the denominator would use only the weights of the remaining domains.
Age-aware reference curves
SuperAge does not apply one global “age leniency” multiplier to turn the overall score into a higher score. Age is handled inside particular metric curves: some use age-specific targets, some use an age adjustment, and some do not. This prevents the false impression that, for example, every score of 70 automatically becomes 80 after a certain birthday.
Score → Fitness Age conversion
The current SuperAge app uses the versioned compatibilityV1 mapping. With p representing distance from score 50:
if score >= 50:
p = (score - 50) / 50
age difference = -(2p + 8.5p²)
if score < 50:
p = (50 - score) / 50
age difference = 3.75p
The resulting age is bounded by chronological-age group and never displayed below 18. For valid adult ages, the compatibility caps allow at most 5–10 years younger and 4–5 years older, depending on age group. A small smoothing adjustment applies only when confidence is between 0.5 and 0.9, peaking at 0.7.
For developers integrating the public package, the default evidenceFirst mode is different: it maps score 50 to chronological age and scores 0 and 100 symmetrically toward +10 and −10 years, subject to the minimum display age. Both modes are documented in the versioned methodology.
The confidence score
Fitness Age confidence is an algorithmic measure of input coverage. It is not a probability of medical accuracy, and it does not mean a result can be “fully trusted.”
In the current app’s compatibility mode:
domain completeness = present domain count / 6
confidence =
domain completeness × 0.60
+ weighted data quality × 0.40
The divisor of six is a legacy compatibility constant, even though the public model has five domains.
The data-quality component checks the presence of steps, active energy, exercise time, and sleep. It uses 0.85 for observed components and defaults to 0.70 when none are present. Confidence then receives these increments when the corresponding input exists:
| Observed input | Confidence increment |
|---|---|
| VO2 max | +0.08 |
| Resting heart rate | +0.04 |
| HRV | +0.04 |
| Complete blood-pressure pair | +0.03 |
Unknown or intersex biological sex multiplies confidence by 0.92 because the current reference curves select a binary table. If at least two selected focus domains score above 80, confidence is multiplied by 1.05. The final value is clamped to 0.10–1.00.
The app labels confidence as High at 0.90 or above, Medium from 0.70 to below 0.90, and Low below 0.70.
The core does not directly score sample recency, historical stability, device certification, or the count of blood biomarkers. Host apps are responsible for sampling windows and data-quality filtering before supplying normalized inputs. PhenoAge and KDM expose their own separate confidence or completeness information.
How to improve the underlying signals
Fitness Age is most useful when it points to a domain worth investigating—not when it becomes a goal to game. Focus on sustainable behaviors and trends.
Cardiovascular health
- Build aerobic exercise gradually and consistently.
- Use VO2 max as a trend, not a diagnosis.
- Confirm repeated high blood-pressure readings with a healthcare professional.
Physical activity
- Increase steps or other applicable movement progressively from your own baseline.
- Combine aerobic activity with strength and balance work.
- Break up long inactive periods in ways compatible with your mobility and health.
Body composition
- Avoid optimizing BMI alone; consider body composition, strength, nutrition, and clinical context.
- Favor sustainable changes that preserve lean mass.
- Discuss persistent abnormal glucose readings with a clinician.
Recovery and sleep
- Keep a consistent sleep schedule when possible.
- Compare HRV and resting heart rate with your personal baseline.
- Treat abrupt, sustained changes as context to investigate rather than a score to chase.
Lifestyle
- If you smoke, professional cessation support can materially improve health outcomes.
- Favor repeatable daily movement over occasional extreme activity.
- Use gait and daylight signals only where the underlying measurement is applicable.
How SuperAge uses these estimates
SuperAge is designed as a trend dashboard, not a medical diagnosis. Fitness Age highlights patterns across the five domains. PhenoAge and KDM add distinct blood-based perspectives when their required inputs are available.
The app shows these estimates side by side so you can compare them without pretending they are the same model. A difference between them is not necessarily an error: each method measures a different set of signals and has different limitations.
Frequently asked questions
Can my estimated age be higher than chronological age?
Yes. Fitness Age can be higher when the available domain scores map above chronological age. PhenoAge or KDM can also be higher based on their respective blood-based formulas. These are model outputs, not a diagnosis, and they should be interpreted with input coverage and trends.
How long does it take to see improvements?
There is no guaranteed timetable or fixed year reduction. Sleep and recovery signals can change quickly; cardiorespiratory fitness and body composition generally move over longer periods. Measurement variability can also move the estimate before a physiological change is established.
Does SuperAge use Apple Watch data?
The app can read supported Apple Health data with permission, including signals supplied by Apple Watch and other compatible sources. SuperAgeCore itself does not import HealthKit, request permission, store personal data, or infer missing measurements; it calculates from normalized values supplied by the host app.
Can I improve after 60?
Many underlying signals—fitness, strength, blood pressure, glucose regulation, sleep, and smoking status—can remain modifiable later in life. The algorithm uses age-aware reference curves for selected metrics, not a blanket bonus applied to the final score.
Why can SuperAge differ from another app?
Different products may use different inputs, reference curves, missing-data rules, weights, and score-to-age mappings. SuperAge publishes the deterministic Fitness Age core and its methodology so those choices can be inspected.
How accurate are these calculations?
Fitness Age, PhenoAge, and KDM are statistical wellness estimates, not definitive measurements or clinical diagnoses. Their limitations include sensor error, missing inputs, population-reference assumptions, short-term variability, and factors the models do not include.
Their practical advantage is repeatability: the same defined rules can help organize signals and follow trends. Compare like with like—Fitness Age with its own history, and each blood-based method with its own prior results.
How do blood tests work in SuperAge?
Blood-test sessions populate separate PhenoAge and KDM calculations when their input requirements are met. They do not currently feed a combined Fitness Age modifier. Within Fitness Age, blood glucose is the only blood-related input and has nominal local weight 0.15 inside Body Composition when available through the normalized health-data pipeline.
Start monitoring your health trends today
SuperAge helps organize frequent fitness signals and periodic blood-based estimates without treating them as one interchangeable number.
With SuperAge you can:
- Follow Fitness Age and its five domain scores over time.
- See which supported inputs are present and how confident the Fitness Age calculation is.
- Enter or import eligible blood results for separate PhenoAge and KDM estimates.
- Compare wearable-derived and blood-based views side by side.
- Use trends to guide questions, habits, and conversations with healthcare professionals.
It’s not about obsessing over a number. It’s about making the model’s inputs, boundaries, and changes understandable.
Ready to track your trends? Download SuperAge and start building a clearer picture over time.
Last updated: August 18, 2026. This article is reviewed regularly for scientific and technical accuracy.
References
- SuperAgeCore 0.4.0 — Fitness Age methodology
- Levine et al. / Liu et al. (2018) — A new aging measure captures morbidity and mortality risk across diverse subpopulations
- Correction to the clinical PhenoAge formula (2019)
- Klemera and Doubal (2006) — A new approach to the concept and computation of biological age
- Kwon and Belsky (2021) — BioAge toolkit for blood chemistry and organ-function data
- FRIEND Registry — Reference standards for cardiorespiratory fitness
- Tanaka et al. (2001) — Age-predicted maximal heart rate revisited
- WHO 2020 guidelines on physical activity and sedentary behaviour
- National Sleep Foundation duration recommendations in population research