Old 12-30-16 | 11:54 PM
  #24  
smarkinson
Senior Member
 
Joined: May 2015
Posts: 1,003
Likes: 13
Bit bored today so I thought I'd compare the new Strava algorithm with what my Garmin 500 (with altimeter) records.

I did a short ride (11.4km) to a nearby hill, rode the hill up and down 5 times and then rode back home. The ride to the hill is mostly downhill (I start at 85m, get as high as 133m before rolling down to 21m) but it is a bit lumpy. The hill itself is 1.6km long with a rather steady climb and a total elevation gain of around 104m (topographical maps show the hill starts at around 25m and finishes at around 130m).

I recorded all these as separate rides for ease of comparison. 1 ride there, 5 rides for the hill up and down and 1 ride home for a total of 7 rides.

On Strava (and Garmin) the total elevation gain for the ride to the hill was 135m.

The 5 hill repeats were each either 103 or 104m so not much variation there.

The ride home was a total elevation gain of 196m.

The next step was to use the Strava elevation correction on each ride.

For the hills the Strava elevation correction consistently gave 101m (versus 103-104 for the Garmin altimeter).

For the ride to the hill the elevation correction gave 92m (versus 135 for the Garmin).

For the ride back home the elevation correction gave 157m (versus 196 for the Garmin).

So there is a bit of a difference for the rides to and from the hill so I wanted to figure out what was the reason for this. I took the raw data from the Garmin fit file (I loaded the file into Golden Cheetah which lets you look at the actual ride data and it is a simple matter to copy the elevation data) and put it into a spreadsheet. I then added each increase in elevation and summed these. These totals matched the Garmin figures.

The next thing I did was download the GPX file from Strava which has the elevation corrected data. I took that data and put it into the spreadsheet to compare it against the Garmin data. For the ride back home the sum of the elevation points was 190m (versus 196m for the Garmin data).

It's interesting looking at the individual entries for the Garmin as the minimum elevation gain is 0.4m (in fact the Garmin data was only one of three possible values, either 0, 0.4m or 0.6m) while the Strava elevation correction data would have variations as low as 0.1m.

So, in conclusion, it looks like the Strava algorithm is doing something different when it sums the elevation data. The data from the elevation corrected GPX file sums to around the same as the Garmin fit file data but for some reason Strava is adding this data differently. I wonder if Strava is using some sort of minimum when summing the data.

EDIT: Done some more testing to see how Strava is adding up the data. By changing my algorithm from I have found that if the elevation change between each data point (one per second) is less than 0.15m then Strava does not count it. For the ride back home I am able to take Strava's elevation corrected GPX file and only add up the points when the elevation change is greater than 0.15 I get an answer of 157.2m which is close enough to that being reported by Strava (157m with no decimal specified). I still think this might be part of the Strava algorithm but it just happens that my Garmin 500 is not writing an elevation change if it is less than 0.4m.

Last edited by smarkinson; 12-31-16 at 02:56 AM.
smarkinson is offline  
Reply