Heart Rate Inaccuracies

Hello 

I’ve owned my Garmin VivoActive 4s for over a year now but I believe my question relates to any model as it’s more about how Garmin calculates average heart rate in the Connect app 

I am trying to get a better sense of my average HR on a day to day basis. I don’t know what algorithm Garmin uses to calculate average resting HR but it appears to me wildly innacurate. Not sure if videos can post here but I took a video to clearly show the numbers and hardly any even met the threshold of what my supposed resting HR is. 

It’s important that I have a more accurate way to calculate my average. 

can anyone please offer some recommendations. I believe the numbers themselves, my watch is accurately capturing HR… it’s about the average 

thanks 

  • I may have found the answer but I don’t love it. Apparently it’s not a true average, they take the lowest average over 30 min. How on earth is that a good way to measure a daily average? 

    • Resting Heart Rate: This value is for the current day. Daily RHR is calculated using the lowest 30 minute average in a 24 hour period.

  • Apparently it’s not a true average, they take the lowest average over 30 min. How on earth is that a good way to measure a daily average? 

    To be clear there's two concepts here, relating to resting heart rate:

    - Daily resting heart rate (what you see when you tap "1d" in the Connect heart rate page in your video): your resting heart rate for a single day. This is what's calculated "using the lowest 30 minute average in a 24 hour period."

    It's not meant to be a "daily average", it's the single resting HR value for that day. It's the same concept as the resting heart rate that you would manually measure right after you wake up.

    - Average resting heart rate (what you see when you tap "7d"): this is the average of the daily resting heart rate, for the past 7 days. Garmin uses this value for various things, like calculating intensity minutes and determining HR zones based on HRR%.

  • I’ve owned my Garmin VivoActive 4s for over a year now but I believe my question relates to any model as it’s more about how Garmin calculates average heart rate in the Connect app 

    I am trying to get a better sense of my average HR on a day to day basis.

    Otoh, I think you're looking for "average heart rate" (for a single day), which would be the actual average of all the HR values for that day. But the Connect app doesn't show you that.

    For the 1d view, it shows you:

    - resting heart rate

    - high heart rate

    For the 7d view, it shows you:

    - 7-day average resting heart rate

    - 7-day average high heart rate

  • If you really want to calculate your average heart rate for a single day, you could export your heart rate data (one day at a time), import it into Excel and calculate it yourself.

    https://forums.garmin.com/apps-software/mobile-apps-web/f/garmin-connect-web/406439/can-i-download-detailed-heart-rate-data-from-https-connect-garmin-com/1911304#1911304

    Downsides are:

    - you need to use the Connect website

    - you probably need to use a computer

    - Connect only records / exports 1 data point for every two minutes

    - you can only export data for one day at a time

  • Thanks. I’ll see if I’m able to do that. Does excel do the calculation for you? 

    very disappointing Garmin doesn’t have a way to see this data. It’s misleading to just take a snippet of the lowest 30 min average 

  • It’s misleading to just take a snippet of the lowest 30 min average 

    Just to confirm, you are looking for a literal "daily average heart rate", meaning the average of all heart rate values during a single day, right? That's what it sounds like to me.

    Connect does not show a daily average heart rate in any way, shape or form.

    The "lowest 30 min average" is used for calculation of resting heart rate, which is a completely different concept than daily average heart rate. Resting heart rate is your heart rate while you're awake but you're not doing anything (like exercising or being stressed). Examples:

    - you go to the doctor's office, they attach electrodes to your chest, and ask you to lie down and stay still for a couple of minutes while they measure your resting heart rate.

    - you wake up in the morning. while you're still in bed, you count heart beats for 15 seconds and multiply the number you get by 4. this is your resting heart rate

    - you're just sitting around doing nothing, and you measure your heart rate. this is pretty much your resting hr

    https://en.wikipedia.org/wiki/Heart_rate#Resting_heart_rate

    The basal or resting heart rate (HRrest) is defined as the heart rate when a person is awake, in a neutrally temperate environment, and has not been subject to any recent exertion or stimulation, such as stress or surprise.

    ...

    The available evidence indicates that the normal range for resting heart rate is 50–90 beats per minute (bpm)

    So as you can see, a resting heart rate of 66 is completely normal.

    Does excel do the calculation for you? 

    No. Basically:

    -  You use Excel, Numbers or Google Sheets to open the exported HR file

    - The file has a column of HR data

    - You have to manually type in a formula to take the average of the HR data

    Honestly, if you haven't ever used Numbers, Excel, or Google Sheets before, it might be tough. Even the process of exporting HR data that I linked earlier is fairly technical

  • Thanks. Yes, that is what I'm seeking, a true average although I was wanting more of an accurate resting HR. It would be helpful if the app could capture a more accurate resting heart rate like the iwatch apparently does. My 66 is wildly inaccurate since it only happened once during a 30 min frame of sleeping. I'm familiar with the terms, it is because I have a medical condition that I am seeking more accurate HR numbers. 

  • I'm familiar with the terms, it is because I have a medical condition that I am seeking more accurate HR numbers. 

    I initially figured you were, given your username haha, but I wasn't 100% sure, because your post went from talking about average HR to (average) resting HR and back to average HR.

    The thing about the "true average" (daily average HR) is that Garmin doesn't claim to calculate it at all, which is why this statement was confusing to me: "about how Garmin calculates average heart rate in the Connect app". That's why when you followed that up with "average HR on a day to day basis" and  "average resting HR", it was unclear whether you meant two separate things or one thing.

    You also said this: "It’s important that I have a more accurate way to calculate my average."

    But again, Garmin doesn't calculate daily average HR, and they don't claim to.

    Again, what Garmin shows in Connect is:

    - (1d) resting HR and high hr

    - (7d) 7d average resting HR and 7d average high hr

    So if you really want to know your daily average HR, I think the only way is to export the data and calculate it yourself. But this isn't exactly user friendly.

    Yes, that is what I'm seeking, a true average although I was wanting more of an accurate resting HR.

    But of course the daily average HR ("true average") and resting HR are two completely different things, which is why it's confusing to me that you talk about them in the same breath, like this:

    "I am trying to get a better sense of my average HR on a day to day basis. I don’t know what algorithm Garmin uses to calculate average resting HR but it appears to me wildly innacurate."

    Obviously you know that "(daily) average HR" and "resting HR" are two different things, but the above quote reads like you are suggesting "average HR" and "average resting HR" are the same thing.

    And to be clear, Garmin doesn't directly calculate "average resting HR". It calculates a daily resting HR (using an algorithm), and it calculates the 7d average (by taking the average of the daily resting HR for the past 7 days). The daily resting HR is not meant to be a "daily average" (regardless of the fact that the algorithm uses 30 minute averages to calculate it), it's meant to be the single resting HR for that day.

    My 66 is wildly inaccurate since it only happened once during a 30 min frame of sleeping

    To be clear, if Garmin shows 66 for your resting HR, that means it was the lowest 30 minute average for the 24 hour period (as you quoted).

    This doesn't mean 66 was only measured once, it means that for the entire day, Garmin calculated a rolling 30 minute average [*] for your HR, and 66 was the lowest calculated value. Your heart rate averaged 66 for an entire 30 minutes.

    [*] at any given point in time, this value is the average over the last 30 minutes

    Again, I realize this isn't exactly a standard way of calculating resting HR. As a layman, I can see a few problems with this:

    - since Garmin takes the lowest 30 minute average during the entire 24-hour period, the value it calculates might be too low, since it includes the time when you're asleep. (As far I know, resting HR is supposed to be measured when you're awake)

    - since Garmin takes a 30 minute average, maybe the value it calculates might be too high, since the standard ways of measuring resting HR involve measuring HR for a much shorter period of time?

    idk, maybe those two things cancel out? I don't know the scientific basis for Garmin's algorithm, tbh. I would think it would be better if Garmin excluded HR during sleep, but what do I know?

    I am curious what algorithm you think would be better. It's also not clear to me whether you think 66 is too high or too low for you.

    Since you mentioned "iwatch" (I assume you mean Apple Watch), this is what Apple does:

    https://support.apple.com/en-gb/120277

    Apple Watch also calculates a daily resting rate and walking average by correlating background heart rate readings with accelerometer data when sufficient background readings are available.

    So it looks like Apple Watch calculates resting HR by measuring your HR when you're not moving.

    And someone posted this last year:

    https://developer.apple.com/forums/thread/759878

    Are you referring to data measured by Apple Watch?

    If so then my understanding (as of iOS 17 & WatchOS 10) is:

    1. Apple Watch records the users Heart Rate roughly every 4-6 minutes throughout the day when on the users wrist and not in low power mode
    2. These Heart Rate readings go to 10’s per minute during a Workout
    3. Apple Watch only generates one Resting Heart Rate value per day
    4. This single Resting value is updated during the day if needed rather than additional values being saved to Apple Health

    To answer your question on querying the data that makes up a Resting Heart Rate value, I don’t think this is specifically possible. Essentially Apple have created an algorithm which uses the raw Heart Rate data to generate the Resting Heart Rate value, this algorithm is not public to my knowledge, and it has also changed over the years (for example, it used to incorporate all HR data throughout the day, now it ignores HR measured during Sleep)

    At least Apple Watch excludes HR during sleep, if this person can be believed.

    But Garmin does has the advantage that it measures HR multiple times per second, 24/7, unlike Apple Watch which supposedly measures HR once every 5 seconds. (Both Garmin and Apple record HR data far less frequently)

    https://www.garmin.com/en-US/blog/health/garmin-smartwatches-measure-heart-rate-every-second/

    Since you did mention Apple Watch, I don't think Apple Watch records daily average HR either. It records resting HR and walking average, though.