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.

Example

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!

Share

10 Responses to “Alternative Leaderboard”

    • Ben

      Hi Peter. See the note at the bottom of the Example. This only works for “popular” segments, i.e. those that aren’t “hidden” on the rides achievements section for each rider. If you “unhide” a segment in Strava then you should start to see your data in here but not entirely reliable, but you still won’t see other people’s data.

      Reply
  1. Joe Emenaker

    “Strava’s current segment matching algorithm…” uhhhh kinda sucks, actually. Their problems with getting the start/end points right aren’t even the worst of the issues. You can cut corners on a loop segment, or turn back early on an out-n-back and, as long as you hit about 75% of the points, you get credit for the segment. Hopefully, they *will* implement the “virtual start/finish” lines which you mention, but that would require that someone at Strava knows vector algebra… which doesn’t look likely based upon their current segment-matching effectiveness.

    Reply
  2. Douglas_Kubler

    The description of the matching algorithm left out an important point. Strava uses the first GPS point AFTER the start of the segment and the last GPS point BEFORE the end of the segment. Devices with a large recording gap always get an advantage. Someone who uses 1-second gap (to accomodate a power meter) is at a disadvantage.

    Reply
    • Ben

      Have you seen any documentation describing the Strava matching algorithm? There are definitely some segment efforts getting matched that cover a longer distance than that of the segment itself. That could be down to gps drift or poor gps signal but could also be due to the start end points being matched to points outside of the segment itself. Looking at the effort page on Strava for these longer efforts and comparing them to the segment page would be the only way to confirm it either way. My thought was that it just took the closest recorded point to the start/end points rather than the first within those points but I’ve not investigated it in detail as the short segments where it makes the biggest difference don’t hold much appeal to me.

      Reply
      • Douglas_Kubler

        I did a bit of checking by downloading efforts using the now obsolete tool from Cosmo Catalano. In all cases the times were derived from points i described. I submitted a support complaint and Strava did not take issue with my hypothesis and suggestion of interpolation. Distance doesn’t interest me because it depends on how much you smooth the path.

        Reply
        • Ben

          Then your way ahead of me and that is interesting to hear. Yeah, using distance is subject to a lot of error very quickly. I only really created the alt leaderboard to show my clubmates why they shouldn’t be bothered about competing so feverishly on one particularly short, straight segment but this (no longer available) page has proved remarkably popular despite my best efforts to inform people to not give it much value :-)

          Reply
    • Didumos69

      That Strava uses the first GPS point AFTER the start of the segment and the last GPS point BEFORE the end of the segment, is also my observation.

      My suggestion to Strava would be to use virtual crossing lines perpendicular to the segment for all the segment’s track points and not only for the start and finish points. During the matching algortihm – that somehow must run over all relevant track points in the uploaded track anyway – virtual times for the crossing lines are derived from the uploaded track using interpolation and applied to the segment’s track points. In the end, if a segment is matched, the segment itself – with the virtual times applied to it – is used to calculate all effort statistics, like for instance the effort’s average speed. This way all statistics are always computed over the exact same track with the exact same length. The effect is that not only the difference between distances gets eliminated, but also the difference between an effort’s measured speed and its matched speed will be neutralized.

      Reply
      • Ben

        See the last section of the blog post. Not technically hard to do but the ramifications of Strava actually implementing it would go down very badly with lots of people when they loose their KOMs. They could just apply the new algorithm to newly uploaded activities but then that would mean it would be virtually impossible to be competitive on many segments. Strava are between a rock and a hard place with this one. The easiest solution as a user is to not lose any sleep over segments that can be completed in less than a minute.

        Reply

Leave a Reply

  • (will not be published)