top of page

Extracting HRV from Apple Watch's ECG

A technical overview with sample tests to validate the methodology

Apple watch is one of the most popular consumer devices after perhaps the iPhone and it's ECG data has been validated to be reliable and accurate with various studies validating the same.

While the watch captures raw data pretty well, there is no direct way to get HRV data from it. To extract HRV from it, we need to use the raw data it captures and extract HRV information from it which involves multiple steps.

It requires the following steps:-
- Raw data export from Healthkit to third-party app
- Analysing the raw data

How to capture HRV?

First, we need to import ECG data from the Health kit.

Sample signal-

As can be seen, there are clear peaks obtained in the signal, the distance between two peaks is known as R-R interval, which translates to interbeat period or the distance/time between two successive heartbeats.

By measuring the time between two successive peaks, R-R interval for that particular time period can be obtained.

For example: if the time between two peaks is 1000 milliseconds, Heart rate will be 60 beats per minute. 500 ms will be 120 bpm, 750 ms will be 90 bpm and so on. Shorter the R-R interval, faster the heart beats, and vice-versa.

Sufficient data is available from the healthkit along with timestamps to do the required calculation.

Testing & Validation

We used the Gold standard of consumer chest strap:- Polar H10 to compare the HRV signals we extracted from Apple watch. Polar H10 gives real time HRV data: R-R interval. While we've been doing the testing for months with 1000+ samples, below is one small sample test.

Methodology:- We did simultaneous readings on the Apple watch and Polar H10 and compared their HRV data.

Polar H10 was connected to our test app with its SDK.

Different testers were used to do the readings on. Four separate readings of 4 healthy individuals with no known health ailment.

Subject 1 Age-23, weight-60 kg, height-175cm, Male. Watch- series 5, os-9.3.1

Subject 2 Age-29, weight-74 kg, height-172cm, Male. Watch- series 5, os-9.3.1

Subject 3 Age-22, weight-58 kg, height-169cm, Male. Watch- series 5, os-9.3.1

Subject 4 Age-30, weight-80 kg, height-179cm, Male. Watch- series 5, os-9.3.1

The results plotted on a Bland-Altman plot






As can be seen, the deviation is 1.54% to 2.92%, this means the data is highly correlatable and gives us the confidence to deploy the method in a published app.

Maintaining data accuracy:-

In our extensive sample testing, we noticed that the Apple watch labels poor quality data and also labels 'inconclusive data'. During our tests with our algorithms for HRV, those sessions labeled by Apple watch as poor quality genuinely were of poor quality and hard to extract clean data from.

This means such sessions should be discarded and never be considered, in a published app, this data labeling from Apple shall be used informing the user clearly to discard such a session.

While we have our own data quality check algorithms which have proven very robust, having Apple's own data quality labeling is an added bonus and shall be incorporated.


The high correlation of data with the widely considered gold standard of consumer HRV devices along with our own and as an added bonus, Apple Watch's robust data labeling system gives us great confidence to deploy the method in a published app.

17 views0 comments


bottom of page