Variability Index For Heart Rate

Here is (perhaps) a “back to basics” question. Mostly for fun.

Is there a way to calculate what would be the Variability Index (VI) of heart rate over a given duration, similar to what is done with power? Is there even a need? I think the need would be generally the same as power variability index. Perhaps the “zero value” would be the floor value of what is recorded during the session.

Caution: I’m not talking about Heart Rate Variability (HRV), which is a separate, well-defined, and generally accepted metric.

Perhaps this is a well-known measurement under a different name?

You could calculate the SD of HR for each ride.

1 Like

@old_but_not_dead_yet Interesting. Simple, too. Doesn’t even require a new name :man_shrugging::joy::man_shrugging:

I’m not already getting this on and have just overlooked it, right? @davidtinker

1 Like

Nope it’s not there :slight_smile: I did a quick Google and didn’t find anything on the topic.

1 Like

Start to finish did this and posted in 2 minutes while on a work call:

First tempo interval from yesterday’s ride.


Made a copy of power std deviation chart and substituted heartrate for power. These are the formulas:

  • High: avg(heartrate)+stddev(heartrate)
  • Low: avg(heartrate)-stddev(heartrate)

Hope that helps. Let me know if you want to see something.

Edit: reading your edit. May edit based on the edit. Stand by, Enterprise.

@bbarrera I missed the Standard Deviation on the first read through. Yes, this is what I’m talking about. Nice

This looks like a WKO chart that you created. Let me know if I’m reading it right.

You basically took a ~10min segment that shows your high and low HR (153bpm & 147bpm, respectively).

I’ll give you a use-case for what (I think) would be useful. I do some steady state intervals on the trainer on a given day. Post ride, the time in zone (HR) neatly fits into generally two zones (neatly because it was structured, simple steady state…sweet spot, tempo, that sort of thing, with warmup/cooldown, etc). A little bar chart of zones is available in almost everything (, WKO, etc).

Next day I go on a fast group ride for 3 hrs. HR is everywhere. HR average ends up being the same average as the previous day. It’s a very different ride. The average alone doesn’t tell me anything.

1 Like

Yes you got it. The first screenshot the std dev for HR was off scale and hidden. I moved the HR stddev and retook the screenshot. Yes its in WKO. Love WKO its so easy to to ask so many interesting questions.

1 Like

Yep. Got it.

So point being, if you did that 3:00 hr ride as a fast group ride, you get a wider stddev. Like VI, I get a quick glance into the nature of the ride. Not all “136bpm average” rides are the same.

1 Like

a lot going on in this pic:

in upper left I asked for all rides with HR stddev > 20bpm, and the list of those rides is in left column.

Average HR on that one was 114bpm:

Goofy example but hoping that illustrates your point.

1 Like

I do wonder a bit what it means though. Which rides have a high HR SD? Because HR is sluggish, lots of short efforts wouldn’t get noticed (eg in a cross race my HR just sits at threhold for basically the whole race). On the other hand, steady rides won’t see much variation either. So it would probably only find rides where you did a few hard efforts, with enough time in between for HR to come back down.

I have a very short list of workouts/rides with HR std-dev greater than 20bpm. And most of those look curiously like HR strap was underreporting, like the ride above because my lowest HR just stepping on the bike is 100bpm. The ride above has so much time below 100bpm that the data cannot be trusted. Last week I tossed an old HR strap, so I’m guessing the data came from that strap.

Correct, just use power for that.

Which isn’t much use, until you compare them to non-steady rides.

Your cross race didn’t last for 4-5hrs. You are right around threshold HR the whole time (even with short bursts) because the race lasts right about how long threshold lasts (as does crits, xc).

For longer road races, long(ish) gravel, and “competitive” group rides stretching out over 4hrs, my HR looks like jagged shark teeth with bad hygiene. If I do that same ride solo or “non-competitively”, it’s much flatter. If it is indoor Z2 ride, it’s basically as flat as power.

And even on those two different 4+ hrs rides, I’m not just sitting there at “4 hour HR” the whole time, for either one. It’s not a time-trial (and even if it were, that’s not optimal either),

In a way I’m trying to figure out (again, back to basics) what the use is for VI (power). And moreover, is there any way to bring some order or understanding to the “messier” (usually long) outdoor rides. Does spikey vs. smooth HR profile tell me something similar or more/different than high vs. low VI? Feels like I’m reaching though.