Normalized Power Calculation, TR vs Garmin vs Strava

I noticed discrepancies between these three sites that are larger than I would anticipate presuming slightly different methods for calculating the same metric. I am curious if anyone has insight into the differences between various formulas for Normalized or what Strava calls Weighted Power.

I ask because I keep my Strava FTP up to date with TR, but let the Garmin do its own thing. For these rides Garmin has an FTP ~11% lower yet its NP is within a Watt of TR. (I get that I can manually set my device’s FTP manually, but I just don’t want to be bothered.)

Here is a summary of average power, normalized/weighted power, intensity factor and Training stress/load for four different rides.


I guess Garmin only calculates IF and TSS for activities recorded on their device. I the mean time, I will manually set the Garmin’s FTP to match TR and see how that affects the numbers from GC.

TR and Garmin use Coggan metrics. Strava uses Skiba metrics. NP and xPower are calculated differently, which affect IF and TSS vs TL (bike score).

This blog has a good explanation.

2 Likes

Ah, I thought NP was dependent on FTP, but that shows I was incorrect. Makes sense now.

I use the Sauce for Strava browser extension. It shows NP correctly in Strava, among many other useful things. https://www.sauce.llc/

2 Likes

Strava calls it weighted average power. They use exponentially weighted moving averages in the calc. Different to NP which uses simple moving averages.

Hey @jonedwards :slight_smile:

Just to give a high-level overview of how Normalize Power is calculated by Dr. Andy Coggan, it basically:

  1. Calculates a rolling 30 s average of your power data
  2. Raises all the values obtained from step #1 to the 4th power.
  3. Takes the average of all of the values obtained in step #2
  4. Take the 4th root of the value obtained in step #3

Based on this formula, as long as you have a consistent stream of data, TrainerRoad, Garmin, and any other software should all line up quite well.

However, each software has a slightly different way of handling breaks or pauses in power data, which can lead to (sometimes large) discrepancies in Normalized Power. This mostly comes down to how each software handles 0 power values vs. null power values.

Some apps count null values as simply 0 values, however, we read these values as the null values that they are so that they do not lower your overall power averages. These null values typically occur during long coffee shop breaks and other stoppages that we feel should not factor into your Normalized Power scores. Any ride with a large number of breaks or pauses will see significantly different NP numbers in TR vs other apps.

2 Likes