Why does average power calculate differently between services?

(this is for the math people out there)

I did an outdoor workout over the weekend, which was a few sets of 15/15s. Between my headunit, TR, and a few other services, I got different calculations for average power, which was odd (usually its NP that is different).

Each interval length was 15 minutes. Here is an example of the difference:

  • ELEMNT Headunit/Wahoo App: 295AP/305NP
  • TrainingPeaks: 295AP/305NP
  • TrainerRoad: 303AP/306NP
  • WKO5: 303AP/306NP

I’m not actually concerned about which is “correct”, but I’m just wondering how a simple average could calculate differently?

Its probably something to do with including zeros or not. I know TP includes zeros. The other variable is what is considered “moving” time because normally you wouldn’t want to count stops. Average power = total work in joules / moving time in secs.

I would say wko would be correct as I remember Tim Cusick talking about how it calculates the data from the raw file and nothing else.

Might have to do with how the algorithms handle noise.

In any case, the highest number is the correct number, obviously. :slightly_smiling_face:

3 Likes

I assume your FTP is set the same?

FTP is irrelevant in calculating an average

:man_facepalming::man_facepalming::man_facepalming::man_facepalming: I was thinking TSS.

Weird. Just going off basic math for average power it is almost like Wahoo/TP have lower power data or higher number of seconds.

Somewhat related but unhelpful to you - Garmin devices default to smart recording. When helping someone setup a new Garmin Edge head unit I disable that and set to 1-second recording.

Hi
Im discussing this issue with Wahoo support myself.

First of all, after googling, I think this could be dependant of which power meter you use.
Wahoo has had known issues with calculating power average from Assioma pedals.

In my case, Im using a Quarq, Headunit is Wahoo Bolt, auto pause is set to OFF and include zeros in average power is set to ON.

In my discussion with Wahoo Im using the following as an example:

Wahoo Bolt:
Total time = 2h13min40sec = 8020sec
Total work = 1311 kJ
AvgPwr = 150W

This data itself must be wrong since CalculatedAvgPwr = Total work / total time = 1311 / 8020 = 164 W

So I started uploading the FIT-file to other apps to compare:

DCRainmaker analyzer:
AvgPwr = 172W

Trainerroad:
Total work = 1375 kJ
AvgPwr = 172W

CalculatedAvgPwr = Total work / total time = 1375 / 8020 = 171 W -> OK

Strava (using moving time):
Total time = 2h13min40sec = 8020sec, Moving time = 2h06min50sec = 7610sec
Total work = 1395 kJ
AvgPwr = 183W

CalculatedAvgPwr = Total work / moving time = 1395 / 7610 = 183 W -> OK

I can however look at 2h13min in the Strava power curve which shows 172W.

TrainingPeaks:
Total work = 1376 kJ
AvgPwr = 150W

This data itself must be wrong since CalculatedAvgPwr = Total work / total time = 1376 / 8020 = 172 W

I then found out, or at least, its my theory, that TrainingPeaks only present summary of AvgPwr based on calculation from headunit.

If I go into the analyzer in TraingPeaks and select the whole ride in the “section selector”, TP then calculates a new AvgPwr = 171 W

I then did some comparison of power curves from Wahoo app, Strava and Trainerroad:
In Wahoo app Im limited to look at 2hAvgPwr = 177 W
In Strava 2hAvgPwr = 176 W
In Trainerroad 2hAvgPwr = 177 W

So even if I assume that I produce zero watts for the remaining 14min I would get a
AvgPwr = 177 x 120min/134min = 159W
which basically means that Wahoos AvgPwr of 150 W must be wrong, it couldnt even be right based on their own power curve.

The comparison of power curves also eliminates Wahoos standard response which is that the Wahoo app is more accurate since Wahoo app is using 4 Hz data instead of 1 Hz data. Samplerate(Hz) will have small or non effect of AvgPwr for a normal ride, it will however affect data as MaxPwr which is only 1 data point.

To summarize, Im 100% confident that Wahoo calculates AvgPwr wrong, I have only seen this effect on rides including coasting though.

For indoor rides without coasting AvgPwr seems fine.
For outdoor laps without coasting AvgPwr seems fine.

4 Likes

Wahoo refuses to admit something is wrong. I tried to tell them their unit is calculating different average power inside the Wahoo app itself, but they will not listen, this probably means I will be buying a Garmin in near future.

1 Like

Very interesting as I recently switched to a Bolt after my Garmin started to die. I also have a Garmin watch which I use as a back up and I noticed that there was a difference in Avg Pwr between the two, yet when I upload it to WKO5 it ‘corrects’ the data in line with what I see on the Garmin.

I contacted Wahoo and they told me that they hadn’t heard of this issue before, but now I am reading this I don’t think they are being 100% accurate in that regard, a bit like their avg pwr calculation.

I’ve been having this problem for a while now - it’s very much connected to how Wahoo reads data from certain power meters.

In my case it’s the Assiomas, as someone else mentioned above. Wahoo can’t or won’t fix it, and have never really explained why (or whether it’s actually an issue that Favero need to fix).

Trainer Road and WKO5 get their AvP from the raw data. TrainingPeaks reads the totals from the unit for some reason. However you can correct the file in TP by deleting the first second of the ride (select it and click “cut”) and then apply to recalculate. Bit fiddly but will fix it.

Nice, I’ll have to try this.

I just went through a similar situation. TrainingPeaks said that they use the summary average power figure that’s provided by the head unit. In TP, if you highlight your whole ride, you can see the actual average power. In your case, your Wahoo seems to generate a flawed average, which carries over to TP. Other services apparently crunch the data to determine the average.

Quick but unsurprising update: I contacted Favero to ask about the issue and their response was “Assioma, in fact, sends data to the bike computer continuously but the data showed on the Wahoo Elemnt Bolt depends on the head unit and not on Assioma”.

So ball still very much in Wahoo’s court, as it has been for quite some time now.

I contacted Wahoo about that exact problem and they said they were looking into it. That was ca. 2 months ago. It get the feeling they can’t be bothered fixing the glitch. It really shouldn’t be that hard to sort out

Im now a happy owner of a Garmin Edge 530, its not perfect, but at least it doesnt calculate wrong.

Wahoo basically stopped responding to me, this was their last response:

"Mar 11, 9:52 AM EDT

Hi Daniel,

We will not continue to belabor this point. The app the and the ELEMNT are working and displaying power information correctly.

Thank you,
Brad"

I dont know if the support staff is just told what they should say or if they simply dont understand, either way, Im not going to have anymore to do with them. Garmin has their issues, but the staff at Garmin Forums really know what they are doing. They will solve your issues or at least tell you whats wrong.

I think this is quite likely. Although I managed to get someone who acknowledged the issue, some support staff seem to be little more than “a human to take you through the troubleshooting process”.

(Happily, a major exception to this is Trainer Road. As well as being responsive and friendly, they seem really knowledgeable and also ready to recognise when they might be at the limits of their knowledge and should pass on the query to someone else. You never feel like you’re being fobbed off. It’s very much to Trainer Road’s credit and a big reason for sticking with them.)

I’ve been generally pretty happy with my bolt until I bought a powertap c1 a few months ago. Right from the off it consistently over calculated average power on every ride. Sometimes by a bit, sometimes by a lot. Seems to depend on the normalised power of the ride.

Strava and trainerroad average power are always within a watt of each other so there’s no reason to think there’s an issue there.

Based on some initial googling this seems to have been an ongoing issue with the elemnt units and certain power meters.

It’s livable but I feel like an accurate average power reading would really help with managing effort particularly on longer rides. As it is I’ve just got rid of AP from all the data screens.

I suppose I should raise a ticket with wahoo to add a bit more weight to getting a resolution but from reading various comments on the issue I don’t suspect it’ll make any difference…

It really sounds like you have exluded zeros from power averaging.