Alternative Leaderboard

UPDATE – The alternative leaderboard is no longer available. So is your sprint segment’s KOM all that you think it is? Did you drop your mate but he still placed higher than you on the leaderboard? Use this page to find out who is actually the fastest on a segment or if your PR is actually your fastest.

This page is purely for an academic type interest and isn’t intended to imply that it is a more accurate leaderboard than that shown by Strava, it is just a different way of looking at the stats. In fact, the longer and wigglier the segment then the less accurate this alternative leaderboard will quickly become as it doesn’t take into account any gps drift and recording inaccuracies.

The specific type of segment that this alternative leaderboard MIGHT provide a more accurate leaderboard for are those that are fairly short (less than 1km), in a straight line and with very good satellite visibility (hence, little to no gps drift) in which case the differences in distance between riders is most likely down to the difference between the start/end points of their segment (which currently can vary enough to affect the leaderboards of these specific type of segments). Unless your mates have got their maths heads on then don’t expect them to listen to you when you tell them you were actually faster than them on a segment!

Note: Only the top 50 riders are loaded for comparison.


Here is an example of a local segment here in Sheffield (whose length is 676.65m) that perfectly illustrates what this is trying to show:

Alternative Leaderboard

Much to the annoyance of my friends I nicked the KOM on this segment after a long running battle between a few of them, but as you can see, my friend currently in 2nd place covered the segment faster than I did which makes my KOM even sweeter. The columns shown are:

  • Time Pos – The leaderboard position based on the time to cover the segment. This is what Strava uses on their leaderboard.
  • Time – The time recorded by Strava for your PR.
  • Speed Pos – the leaderboard position based on the average speed you had over the actual distance travelled.
  • Seg Speed – the speed travelled over the distance set for the segment.
  • Actual Distance – This is the key one, the distance covered by your PR which is currently always different to the segment’s distance.

The difference in distance can be quite significant, one rider in the example has travelled 697.41m whilst another travelled only 634.52m when the actual segment distance is 676.65 m. That’s a difference of 62.9m or almost 10%! The shorter the segment the larger this percentage discrepancy is likely to be.

Note: If you see NaN‘s for actual speed, seg speed and actual distance then I think this is due to the segment not being classed as “popular” so the Strava APIs don’t always return the required data for my sums. Not sure why it does for some and not others for the same segment though, maybe down to the athlete’s preferences? The comparison still works, but the speed position doesn’t take into account the potentially faster NaN athletes.

Is your PR actually your PR?

Likewise this page works equally well as a comparison for just your own attempts at a particular, suitable segment. Have a look at a short segment that you have tried many times and see if your current PR is actually the quickest. If you make a note of your best Actual Speed (if your shortest time isn’t actually your fastest attempt) then load up the Alternative Leaderboard for all athletes and see where your new PR would fit in.

How to launch the Alternative Leaderboard

Links to Alternative LeaderboardThe easiest way to launch the page is by navigating to the Segment Details page for the segment you want to view and looking at the links section.

You will find a direct link to the Alternative Leaderboard which passes the context segment, and also a link to that segment’s Alternative Leaderboard passing your athlete ID which results in the list of just your own efforts being displayed.

Once in the page you can also just type in segment ID and athlete ID to load any other segment’s Alternative Leaderboard.

Why does this happen?

Strava’s current segment matching algorithm (at the time of writing) uses the closest recorded gps points to the segment’s start and finish points as the start and end points for your effort. These points have to be within a certain distance for the segment matching to be triggered which is why, if your gps device was struggling with accuracy as you pass the start or finish of a segment, it might not show that you completed the segment.

Lets say there is a 20m margin of error for these start and finish points to try and account for gps recording inaccuracies then there is a potential for a segment to be matched but using the gps points 20m short of both start and finish points resulting in a 40m shorter distance. It could of course use a point recorded the other side of the start finish so potentially resulting in 40m longer distance. Comparing those two efforts could result in a 80m discrepancy between two riders who could well have been riding next to each other at the time.

Gps devices themselves contribute to this by having the option to not always record a point every second. In order to save memory, some gps devices give the option of not recording points when they add no extra detail, e.g. if riding at a steady speed on a straight road then you could record points every 5 seconds and still be just as accurate. Now if that is the case then potentially only 1 gps point was recorded in the 20m radius around a segment start/finish point.

So is this going to be sorted by Strava?

The word on the street is that Strava are working on an updated segment matching algorithm to interpolate the start/finish points of each segment effort so the times are based on the crossing of virtual start/finish lines on the road/trail rather than just using the closest recorded gps point. Not overly complicated to do but will certainly add processing time to the upload, multiply that by however many rides are being uploaded and it’s quite a costly change.

Then the dilemma will be whether to apply the new matching algorithm to all previous efforts on every segment and update PR’s and leaderboards as appropriate. As I’ve shown above in the example I will certainly be losing at least 1 KOM if they do that and probably a few more besides, but potentially I could gain some others as well. How much flak would Strava likely get if they did this? Also the amount of data they would need to process would be fairly substantial, potentially to the extent that it would not be possible.

Personally, I hope they do apply the change retrospectively as my OCD tendencies want all my data to be all neat and consistent and the element of gps luck taken out of the equation!