cs.LGMar 14, 2026

Benchmarking Open-Source PPG Foundation Models for Biological Age Prediction

Authors: N. Brag

Organizations: Independent Researcher

Abstract

A task-specific model trained on 212,231 UK Biobank subjects to predict vascular age from PPG (AI-PPG Age) fails on a different clinical population: predictions collapse to a narrow 38-67 year range regardless of true age. Meanwhile, a general-purpose foundation model with no age-related training objective achieves lower error on the same data. We investigate why this happens and what it means for PPG-based biological age prediction. We evaluate three open-source PPG models (Pulse-PPG, PaPaGei-S, AI-PPG Age) on 906 surgical patients from PulseDB, using frozen embeddings with Ridge regression and 5-fold cross-validation. Pulse-PPG reaches MAE = 9.28 years, beating both AI-PPG Age in linear probe mode (9.72) and HR/HRV combined with demographics (9.59). Adding demographic features brings the best result down to MAE = 8.22 years (R2 = 0.517, r = 0.725). The predicted age gap correlates with diastolic blood pressure after adjusting for chronological age (r = -0.188, p = 1.2e-8), consistent with what Apple reported for their proprietary PpgAge model. The remaining gap with Apple (MAE 2.43) appears driven by dataset size (906 vs 213,593 subjects) and population differences rather than model architecture, as our learning curve shows no plateau. Code is publicly available.

Figures & tables

Explore similar work

CardsList
  1. PPG-Bench: A Unified Benchmark for PPG Foundation Models

    Oct 9, 2026Arvasu Kulkarni, Mahir Jain, Aditya Ray Mishra +2PhotoplethysmographyTime-Series Foundation Models

  2. Deriving Health Metrics from the Photoplethysmogram: Benchmarks and Insights from MIMIC-III-Ext-PPG

    Mar 23, 2026Mohammad Moulaeifard, Philip J. Aston, Peter H. Charlton +1Clinical PredictionPhotoplethysmography

  3. Attractor Image-Based Deep Learning of Arterial Pulse Waves for Age Classification

    Aug 12, 2026Sara Vardanega, Patrick Segers, Philip Aston +3