First of, really enjoying the website. A lot of very usefull features.
Yesterday I did a ride with an average wattage of 259w, strava had the average watts to 290. However the norm watt output for intervals.icu is 370.
I think this number is really high, I downloaded the data and did a 30 second moving average removing zeros and could not replicate it.
I pulled your file from Strava (hope you donât mind) and came up with an NP value of 307W. Iâve no idea how Strava calculates Weighted avg Power (290W in this case) but its not just a simple average of the data.
Thanks for the response.
Donât mind at all!
307 w sounds reasonable. But intervals.icu gives me 370 watts. Which I canât figure out how is estimated?
I get 310 using the formula in the link youâve provided. The difference I suspect has something to do with the increments. Nevertheless both estimates are a long way from the 370 provided by Intervals.icu
Tx everyone for checking this data. The power trace has a number of drop-outs that have been automatically fixed by Intervals.icu when computing the ride stats. In this example the power goes 712w, 398w, 0w, 298w, 409w. That zero is replaced with 398w.
I suspect that is why the NP is much higher. Did you do much freewheeling?
I need to download your data to find out for sure. That takes a while so will do tonight.
I did in fact do a lot of freewheeling. I raced on the indoor platform RGT. The dynamics are such that you easily get dropped of you are not cautious. So I tend to do short bursts of power and then freewheel a bit. That might set of the calculation. But my FTP is 370ish and it didnât feel like a threshold effort.
I have figured this out. The ride data is missing 212 seconds scattered throughout. Intervals.icu interpolates these missing data points which is why the normalised power is higher. Intervals.icu is correct IMO. Its not correct to just calculate the 30s moving average for the NP calc over the points that are there. You need to work on a 1 point per second interpolated series.
Interesting.
I am not sure I agree with you on this one. I think the interpolation of missing depends on the reason why there are missings in the first place. Do you know that? I think in his case the normalized power is inflated, and the better solution would be to ignore the missings. I get why you wrote it like that in the first place, and it might not be possible to differentiate between different types of missing variables.
To elaborate a bit on this point. If the observations where missing at random, the np would be approximately the same as without the missings. But clearly something is going on, such that it is mainly the higher power numbers that is missing.
You have to fill in something for the missing data points. NP is calculated from a 30 second moving average, not a 30 point moving average. I think mostly those missing points are likely to be real power so interpolating is probably the best option. Its not like you werenât putting the power down at any point in that end of race sprint
Put it another way: If you just calculate NP over the points and not seconds you are leaving out 3 minutes and 32 seconds of power from a 38 minute race.
Does that mean that the average power is biased? Since it is calculated on the same date, the 3 minutes of data points must be missing in that calculation as well.
I was intrigued by this so went back to your TCX file I downloaded from Strava. Firstly, no idea if Strava has done anything to the file in the background before I get my hands on it so my conclusions are caveated by that.
In the raw TCX file whole lines are missing for those timestamps, i.e. HR, cadence etc, not just power, so it appears for some reason those time points were just not recorded.
I agree with David, to correctly calculate NP you need to fill in the blanks as these were not legitimate zero powers, rather they were missing data
When I did this using simple linear interpolation I still came up with an NP of 312W, so lower than the 370W youâre seeing (without filling in the blanks you get 307W)
Avg Power with filled in blanks is 258.3W as opposed to 257.5W with the raw data, so this doesnât seems to affect that.
Not sure what you mean by biased? Intervals.icu calculates the total Joules of energy expended during the ride from the 1s interpolated power stream by just adding up all the points. The average power is J / secs.
The secs part is the ârecording timeâ which is elapsed time with coffee stop pauses (more than 30s time gap) removed. If recording time is not available then elapsed time is used.
Hmm ⌠I hope you have a bug and not me ⌠I get 310w with blanks ignored and 372w with simple linear interpolation. I checked his on a couple of Google sheets:
This one has the interpolated data as used by Intervals.icu:
I am embarrassed to admit that my moving average calculation had a bug that caused the values for the last 30s to be overestimated. Normally you wouldnât notice but @Mads_Schnoor_Nielsen did a massive sprint at the end of that ride. Tx everyone and especially @John_Peters_endura.f for helping with this.