Why no Normalized HR?

This has probably been asked and answered many times but…

I check normalized power all the time after a ride to gauge my effort, and also check average HR.

How come normalized HR isn’t a thing?

1 Like

Your thinking is backwards.

Think about why power needs to be normalized.

Now think about why heart rate does not need to be normalized.

Hint: power goes to zero a lot


The purpose of normalized power is to give you a measure of the unevenness of your power distribution (when you compare it to your average power). That is because power spikes take something out of you, and it will increase your recovery. Power can fluctuate wildly from one second to the next (go from mellowly riding along to an all-out sprint).

Heart rate changes slowly, i. e. you need a sustained effort to push up your heart rate. A 2-, 3-second spike in power will not cause your heart rate to spike. What that means is that the physiological cost to your body is well-approximated by your average heart rate (over a given efforts), not “normalized” power.


Good question. I don’t know the answer.

Sorry but this is just not even remotely close to the truth. Last week I just did 5 x 3m vo2, with a bit of easy zone2. Avg HR 140. This is the same average HR that I would get with a Low Tempo ride, but the spikes profile and the physiological cost are completely different.

I have a very reactive HR, goes up and down fast with hard efforts, perhaps other people are different and the lack of homogeneity in HR response explains why it’s not normalized.

1 Like

My .02 - I think normalized power exists due to coasting which brings down your average. Even when coasting your heart is still beating so the average is a better representation of the work done. Time in zone might be more useful when talking about HR.

1 Like

Because it serves no purpose, you can calculate normalised HR if you like but you will find that the VI (variability index) is pretty much one, meaning it will match the average power (or be with 1 - 2 bpm) This is because

  1. HR changes slowly (doesn’t really change second to second even if you are very fit and have fast HR kinetics)
  2. HR change is in a relatively small range, example 50-220 bpm, but more realistically 100 - 180 ish and even then think about how long it takes to climb from 100 → 180 or 180 → 100

Normalised Power weighs high power numbers more and lower numbers less in an attempt to understand the metabolic cost.

Power output fluctuates quickly, almost instantly, and widely therefore Normalised Power makes sense most of the time, (maybe not so much for flat TTs)

  1. Power changes almost instantly.
  2. Power can range from 0 - 2000w+

Think about how NP is calculated,

The moving 30sec average is raised to the power of 4, (Power^4), as I said earlier giving more weight to higher numbers and spikes, less to soft pedaling and coasting, the average of the power^4 values is taken, and then the 4th root of this value.

With HR you never get these spikes (numbers in the >220 and even 1000+) and never get very low, (less than 50bpm) or zero, when you think about it from a mathematical viewpoint there is no reason or need to calculate Normalised HR.

It doesn’t go over to over 250 bpm or less than 30 bpm though like power can go crazy high or zero in less than a second, even if yours changes very fast it is very slow and in a very narrow range compared to power.

You are missing the big issue and that is: Avg HR for a session does not appropriately describe the effort. See my example of 2 diff workouts.

I never said it did, but Normalised HR won’t either for the reasons I explained above the VI will be pretty much 1.0.

Use NP, Average power, VI and aveHR (and HRRc)?


TSS and IF (yes I know it is not always ideal)


Normalization is a generic time series procedure, you can select the appropriate parameters that would make the desired output meaningful.

The gist of op’s question, is why isn’t there a descriptive metric analogous to NP to capture the variable nature of HR. As I said before, I think it’s because HR as in bpm variance is different scales for different individuals.

1 Like

My heart rate is self-normalized. And if my heart drops out, I’m not gonna give a farq about my activity data.


mmm. You don’t understand normalization

Think you are missing the point… Normalise your HR data the same way power is Normalised… you will see there is no point, the average HR and the Normalised number have a VI very close to one.

It is not that variable though, thats the point, it a narrow range within a long timeframe.

It is pointless, trying to solve a problem that isnt there. The OP asked, that is the answer, no need to try and dig a rabbit hole nevermind jump down one.

It really is as simple as look at NP and average HR (Normalised HR will be the same number within 1 bpm or so.)


It has to do with the stochastic nature of power compared to HR, as almost everyone has alluded to.

I asked a similar question a few years ago (can’t find it right now. see below, @mcneese.chad found it), and someone proposed assessing the variability of HR during a single session using standard deviation. Obviously HR never goes to zero (so no need to normalize using a calculation similar to power) but it can vary in a hard group ride, long ride with variable efforts (hills, etc), races, stops, etc…and those are different than just “hold % HRMax for 3 hrs” (for example), even though the average HR for all of those can end up being the same.

Also, even though normalized power is very useful, it’s still not strain. It is a measure of load (when considered over time). That’s only part of the picture. As imperfect as HR is, it’s basically all we’ve got (can’t measure cardiac output). So having a crude metric for how variable it was is better than nothing.

1 Like

That’s it

1 Like

going back to basics, the guy (Dr Andrew Coggan) that created normalized power wrote a paper for a USAC coaches meeting. He gave a background, justification for levels, and when it came to analyzing power data he outlined limitations of using kJ work and time in zone (frequency distribution of power).

His alternate approach was to leverage Dr Eric Banister’s TRIMPS work which for HR is duration x average HR x HR-dependent intensity weighting factor. So if you want a HR approach, go down the Banister TRIMPS path. I’ve never looked into the HR intensity weighting factor.

Does anyone know how TRIMPS works w.r.t. HR intensity weighting factor?

FWIW TrainingPeaks has a TRIMPS based TSS score - tTSS - that appears to only use duration and average HR.

The TP hrTSS uses duration, average HR, and threshold HR which appears to be a nod to using some form of intensity weighting.

Not the global average, the average during the interval or set (when you do 30-30s or so).

It is still reacting much more slowly and represents the average effort of your cardiovascular system within the last minute or few minutes. That means a weighted average of your heart rate will be not too different from the average, especially if you are looking at shorter durations.

Instead, time-in-heart-rate zone or heart rate in power zone will likely contain more useful information.

Is it even useful to look at normalized power for a whole ride?

I was actually just reading Racing and Training with a Power Meter the other day and the example they gave was looking at the normalized power of a 1 hour criterium or a 40k TT.

Yes, definitely, but you have to know why you want to look at it.

  • On endurance rides it tells me whether I have been naughty or not. On good days my variability index is close to 1.
  • In road races it gives you an indication how efficient you were.
  • It gives an additional indication how hard a ride was. E. g. you could have a climb that is littered with small kickers, and if I punch it every time, that will show up in the data.
  • Of course, you can also analyze segments. E. g. I always have to get out of town and get back into town. I made it a habit of pressing the lap button before that so that I can factor out these bits where I am typically limited by traffic patterns and it’d be stupid to send it at every traffic light.