Recently I heard a question on the excellent DC Rainmaker/TRS Triathlon podcast asking how realistic the Strava estimated powers are compared to those recorded by power meters. A bit of GPX hacking later and now we can check out a comparison using the new efforts page in VeloViewer.
Estimating power
The maths for calculating power is well understood and fairly simple. Strava will simply be applying these sums along the course of your rides and coming up with the numbers. However there are a number of variables required whose values vary from well known to complete guesswork:
- Wind strength & direction.
- Amount of slipstreaming – would act as a reduction of wind.
- Frontal area – Sagan torpedo tuck vs Wiggins Giro style as well as bike/wheel setup.
- Extra weight – kit, bottles etc.
- Tyre tread and pressure combined with road surface.
- Air density.
All the above can have a large affect on the estimated power with some being more important for climbs and others for descents/flats but all being very much at the guesswork end of the spectrum.
The variables we often have a better idea about but as we’ll see, some of these are still quite… variable:
- Rider, bike weights.
- Speed.
- Elevation.
- Gradient.
- Temperature.
Method
There are 3 main sensors at play when it comes to what power numbers will be shown for an activity on Strava:
- Power meter
- Barometer
- Speed sensor
#1 is the obvious one, use a power meter and it will be the sensor data shown against your activity. Don’t use one and estimated values will be displayed.
#2 is less obvious but an estimated power is based on the gradient of the road and if your GPS device isn’t barometric then Strava will overwrite the elevation data (and hence the calculated gradients) using an elevation database. Both barometric and calculated elevations and gradients have their errors which I’ll detail below.
#3 speed is another factor used in estimating power but for this experiment and using a speed sensor. I’ll let someone else delve deeper into the difference of using one of these or not as there are too many options for me to consider!
So I’ve taken one of my rides where I used a Garmin 800 and Stages power meter and uploaded 2 other versions of the same ride, one with the power stripped out but still using the barometric elevation data, and another with the power stripped out and reported to Strava as non-barometric resulting in Strava recalculating elevation/gradient data.
Uploaded to Strava and named in a way to allow for easy filtering in the Efforts page and we’re ready to go.
Analysis
Direct link to my Efforts page for the above view. Turn on/off charts and list with toggle buttons in top right.
This page is listing all of the efforts for all of the segments for the 3 activities (filtered by the activity name). I’ve configured the chart to show average power by segment distance with the colour showing the different gear used.
- Beige circles – Power meter & barometer
- Red circles – Barometer & no power
- Green circles – No barometer or power
It is already easy to see the groups of 3 circles representing the 3 efforts of each segment but there is a bit too much data to see things clearly. So lets turn on another filter to let us see things a bit more clearly. You could use gradient, elapsed time or distance to try and look at a more meaningful section (please do give that a go if you are interested) of the data but that still results in a similar clumping of data making it hard to see the details, so in this instance I’ve turned on the “Segment Id” filter just to take a random section of the segments to look at in more detail:
Direct link to the above view.
The size of the circles in this view reflects the average gradient for the segment and apart from that one remarkable exception on the far left, the largest discrepancies are for descents where variables like frontal area and slip streaming have the biggest impact so these differences are not too surprising.
Having a play using the above link and sliding the Segment Id filter you will see that on climbing segments the Stages recorded power is usually the highest value over the estimated which potentially points a finger towards the weights set for rider/bike in Strava being a bit low as they won’t be taking into consideration rider kit, water bottles and toolkit. The barometric and non-barometric data seem to only rarely match up but in general are in the same ballpark as the power meter data.
A closer look at the remarkable exception
Here we will look at that segment shown in the far left of the above chart which has power values of 511W, 400W & 108W (Power meter, barometric & non-barometric). First off, this segment is very short (70m around 30s) which will amplify the discrepancies, it is also very steep with thick tree cover.
The difference between the Stages power meter value and the barometric estimate could well be attributed to the same discrepancy shown in other climbs, probably due to an underestimation of rider/bike/kit weight. The non-barometric data is way down and only by taking a look at the effort details in Strava does the reason become clear:
As you can see the GPS accuracy struggled int he trees and the resulting calculated elevation (possibly due to the GPS accuracy but more likely a combination of that and the low fidelity to the elevation data). In the elevation profile above the map you can see that it is reporting only a very shallow slope rather than the 15-20% climb that it actually is. So Strava’s power estimation for this effort has a very low gradient which accounts for the value of just 108W.
Conclusion
There are so many variables at play in terms of estimating power that it will always be subject to error and Strava may well be using some extra cleverness in their power estimations to attempt to limit these errors and from looking at the effort comparisons they certainly are doing a good job. Also bear in mind that there is also a margin for error with the power meters themselves.
The most interesting discovery was how using a barometric GPS device helps reduce those estimated power errors so if your budget can’t stretch to a power meter but you still like looking at those power numbers then make sure your GPS device has a barometer.
The resultant errors due to inaccurate GPS traces are also quite apparent. The sort of terrain that are most likely to suffer from the GPS errors are steep sided hills where the satellite signals struggle to reach the device or are being reflected off of cliffs. Due to the steep slopes then the error in elevation (and therefore gradient) also has the potential to be massive with a 20m one way or the other horizontally could result in very large height differences.
A reason why you might find these more accurate estimated power figures useful is in looking at your estimate FTP on that same efforts page but you’ll have to manually filter out those efforts you know of where you had a tailwind or sat on your mate’s wheels:
Direct link to the above view.
The colour in this case is green for efforts using a power meter and red for those using estimated power. You can also find out your 2×8 minute based FTP using the Best Splits tab on any of your ride activity’s page from either real or estimated power.
Peter Boman says:
Great stuff Ben. I really like these little forays into the data that you undertake every now and again. The fact that barometric input will give more accurate data is obvious now tthat you’ve pointed it out and demonstrated it, but something that I would not have thought about otherwise. Really helpful. As I am ramping up to get a new bicycle computer, this will certanly aid my selection process.
Also I’ve been to and fro wether I should invest in a powermeter. I’ve had the suspicion that maybe estimated power is good enough for my needs. Comparing my estimated effort numbers with friends that I cycle with and know well (well enough to know their weight and capacity) that use power meter I’ve seen that my estimated numbers match their numbers pretty well. Your findings seem confirm this, and also that the estimated numbers seem to be a bit more moderate.
Again, brilliant read and thanks!
Steve R says:
Great article. I’ve always wondered how accurate Strava’s estimated power was, but not willing to shell out on a power meter, I would never be able to compare for myself!
The only time I’ve thought that Strava’s estimated power is a little off is at the bottom of climbs where you’ve just come off a big descent. Because I’m carrying such speed into the first bit of the next climb, Strava always credits me with a massive amount of power for that first 150-200m, even though I’ve probably barely started pedalling! However, that’s a fairly minor issue and I’m happy to let them calculate power if they’re in the right ballpark for the rest of the ride.
John Baxendale says:
I guess the easiest way to ‘correct’ that could be to make sure you don’t start pedalling until you’ve lost the kinetic assistance, that way, I’d assume, Strava won’t calculate it as being power output as the cadence should be 0.
Haven’t tried it, but it seems like it may work… 🙂
Ben Lowe says:
Or better still, make sure you come to a complete stop before the start of every climb? Might not work that well on the club run though.
Osman Isvan says:
Or try the alternate strategy: don’t slow down for hills so that the estimated power remains accurate. You may get more kudos, too 🙂
Ronald Buder says:
So I just landed here because I was wondering why Strava estimates power when I’m not pedalling. Or in other words, it doesn’t work! 🙁
What I wonder is whether Strava considers drafting when it’s obvious that you rode in a group. I should try to go on a standard group route in a fast solo ride and compare!
Osman Isvan says:
But if you gain elevation without applying power, you must be losing momentum at the bottom of the hill. Since Strava has access to speed data, normally this should not result in over-estimated power. If it does, this means that Strava uses an approximate equation where the acceleration term is missing. There is no excuse for that.