I'm trialing different apps at the moment that use Apple Watch data as raw data and calculate rMSSD HRV to indicate recovery status. Surprisingly, I get quite different results from all of them, despite the same raw data and "entire sleep" as setting (where possible). So now I'm trying to understand what the differences in algorithms roughly are and which one is the most reliable. Could you give a few more details on how Bevel calculates the HRV during "Entire Sleep"?
  • Does awake time during sleep also count or is it filtered out?
  • How aggressively are spikes/noise filtered out?
Is there anything else that I'm missing that could explain these big differences?
If this only had an impact on the absolute values and not the trends, I wouldn't care so much. But as one can see in the graphs below, the trends are also sometimes affected. If the value in one of the apps goes up from one day to the next, one can't assume for sure that that's the case in the other apps as well.
It also doesn't seem to be the case that the values from one app are consistently higher (or lower) than the ones from other apps. (Although Livity tends to be the lowest and PeakWatch tends to be the highest, whilst Bevel and Athlytic tend to be similar.)

Photo Viewer

View photos in a modal