Nikon D4 + Nikkor 50mm f/1.4 — 1/160 sec, f/1.4, ISO 360 — map & image data — nearby photos
Koutouin Temple (高桐院), Kyoto Japan
Table of Contents
- What Are “Hidden” Segments?
- Why Would I Want to Hide or Unhide Specific Segments?
- Hiding Segments Manually
- Unhiding Segments Manually
- How To Promote a Good Segment in the Community
- Downsides to Manually Hiding or Unhiding Segments
- Okay, So What Makes a Segment Good or Bad?
- Inspecting a Segment on the Map
- Qualities of a Bad Segment...
- Undesirable Trait #1: Sloppy Starting Point
- Undesirable Trait #2: Sloppy Ending Point
- Undesirable Trait #3: Bad Road Tracking
- Undesirable Trait #4: Bad Summary Statistics
- Undesirable Trait #5: Stupid or Selfish Name
- Undesirable Trait #6: Unremarkable or Inconsequential Length of Road
- Undesirable Trait #7: Inappropriate for Strava's Matching Algorithms
I enjoy reliving a bicycle ride by reviewing the statistics on Strava, seeing how well I did on certain stretches of road compared to how I've done before, or perhaps how I compare to my friends.
In the Strava universe, sections of road are broken up into “segments”, and if your ride traverses a segment, you'll get info about how you and others have done on it. If your ride transverses lots of segments, you'll get a lot of info.
Segments can be created by any Strava user at any time, which on one hand is really great and flexible, but sadly, many segments are poorly constructed. Whether through ignorance, sloppiness, or selfishness, many segments are bad, misleading, meaningless, and/or repetitious, and this can create a flood of data for a seemingly simple ride. This article is a tutorial on how to change the flood to a targeted stream of useful, interesting information.
As an example to illustrate the flood problem, consider this ride up a single road to the top of a mountain in Hawaii. It yields a staggering 62 segments:
In this case, Strava at first displays only 28 segments, but clicking on the “Show 34 hidden efforts” button highlighted at the bottom of the list indeed brings up 34 additional segments:
This is a fake, computer-generated ride created for the purposes of this blog post, and as such, the times and speeds are meaningless. It's a “private” activity on Strava under a test account so that the fake data does not pollute real Strava data.
The climb represented here is 34km (21mi) long, so I'm sure that there are interesting sub-sections that deserve specific segments, but 62 seems a bit excessive, so it brings up some questions:
- Why are there 62 segments for one climb?
- Why are some of them hidden by default, but others are not? What does “hidden” mean?
- Which segments are good and make sense?
- Why do four segments have the same name (“Haleakala Highway Climb”), and how am I supposed to know which ones to pay attention to?
There's a wide variety in quality among all those segments, so perhaps most importantly this brings up the question “How, as a member of the Strava community, can I help raise the quality of segments we all see?”
This last question is the whole reason I've written this tutorial, to help members of the community raise the quality for everyone. Strava provides only a few tools to allow users to rate segments, and though these tools are poorly designed and mostly ineffectual, perhaps if enough folks use them we'll see more high-quality segments and less bad ones.
Strava generally hides some segments, with a stated goal of reducing clutter. Sadly, I think that Strava policies actually encourage the popularity of poorly-constructed segments (more on this later), so it behooves the Strava rider to look through all the segments to sort out the good from the bad, at least if it's an area that you ride often. As we'll see in a bit, you can manually hide bad or uninteresting segments, and manually “unhide” good segments: going forward, these choices are carried through your entire Strava experience (both on the web site and phone app), so the up-front work to choose segments pays off over the long run.
Users of the Strava website who notice the “show hidden efforts” button have the option to see all segments, as we did above. The Strava phone apps, though, give no indication about hidden segments, and since these apps are how the majority of Strava users interact with Strava, most users have no idea that hidden segments even exist. If you're a phone-app user, you have to visit the Strava website to play along with this post. It's worth the effort, though, because improvements you make via the web site are reflected when you visit via the app.
The obvious answer is that you want to see only high-quality segments that are interesting and meaningful to you, but there are community-wide benefits as well, which we'll certainly cover later. But before we look at that, and at the factors that go into making a segment “good” or “bad” in the first place, let's first look at the mechanics of manually hiding and unhiding segments....
Strava automatically hides or shows some segments. With the phone app you have no indication that some segments are hidden, nor control over the segments you see. On the website, however, they let you explicitly override their choice and hide or unhide segments as you like. You need to do this only one time per segment, because once you explicitly tell Strava to hide or unhide a segment, your choice is remembered throughout your entire Strava universe, both on the web site and in the Strava phone apps.
Hiding a segment is simple: when you mouse over a segment in the list of activity efforts, a “Hide” button appears, as illustrated here:
Clicking the “Hide” button, of course, sends the segment to the list of hidden segments, and tells Strava that from now on when viewing any activity from anybody, you'd prefer not to see that segment. This preference is carried over to the phone-app view, so if you're a Strava phone user, you can occasionally visit the web site to clean clutter for your phone-app view.
If you hide a segment that you rode multiple times in the same activity (such as if you rode loops or repeats), clicking the “Hide” button actually removes only the one row from this list, but when you reload the activity (just do a refresh it in your browser), all the efforts on that segment will then be properly hidden.
Note that if you actually click on the segment row, Strava opens up the segment list and inserts a mini summary of the clicked-on segment, with a little map and info about your effort on it. In this case there is no “Hide” button, so click again on the segment row to close up the summary and reveal the “Hide” button.
Unhiding a segment is comparable to hiding one:
When you unhide a segment, it immediately returns to the unhidden segments at the end of list, rather than in the proper chronological place in the list. Just reload the page, and it'll show in its proper position.
A newly-unhid segment that deserves an achievement badge (a badge for a PR, KOM, QOM or the like) won't get one, because Strava assigns the badges only to visible segments, and only when the activity is first loaded or when you explicitly ask.
If you're working with your most recent activity and have just hid or unhid segments, you can have Strava recompute the badges by clicking on the “wrench” icon and choosing “Refresh Activity Achievements”:
You'll have to reload the page to actually see the new badges.
Warning: due to the ridiculous way Strava has chosen to implement “Refresh Activity Achievements”, I don't recommend using it with anything but your most-recent activity. You'd think that when “Refresh Activity Achievements” is done on an old activity, Strava would consider only efforts up to the point of that activity so that what was a PR then remains a PR for the effort on that activity, but no, they consider subsequent efforts as well. This means that you'll lose a badge for what was a KOM/QOM/PR at the time if it was bested any time later.
When a new segment is created, it is either hidden for everyone or visible for everyone. If it's the first segment in an area, it'll likely be visible to everyone right away, but if it seems to be a repeat of something already there, it'll be hidden from everyone, and will stay hidden until folks manually look for it and unhide it.
If enough folks eventually do unhide a segment, it has the chance to be promoted by Strava to not being hidden by default. Also, the more users that “star” a segment (mark it as a personal favorite), the more likely that the segment will become unhidden by default.
This approach may sound nice on paper, but in the real world it's pretty bad. The only reason to create a segment that covers the same stretch of road as one already there is because the one already there sucks for some reason or another. (Again, we'll go over characteristics that make a segment suck later.)
Consider these segments for the same steep climb in Kyoto; one segment isn't particularly good, but it's entrenched because it was created long ago; the other segment is one that I created earlier today:
(It'll remain hidden by default until — if it ever happens — enough folks unhide it and Strava decides to promotes the better segment to “unhidden” by default.)
The only negative side effect that I have run into of clearing out crappy segments and promoting good segments relates to friends who have not done this. They still see their own view of segments, which usually means that they see Strava's default list of (often bad) segments. This also means that they'll see achievements (PRs and the like) for segments you've hidden, and they'll not see achievements for segments that you had unhidden.
This can sometimes create confusion, such as when they compliment you on a PR for such-and-such a climb, when you know you didn't PR that climb. It turns out, for example, that they're looking at a poorly-designed segment that you had hidden because if includes the common place to rest after the end of the climb, so your post-climb rest is included in the total effort time. That makes the segment meaningless, so you hid it, but they don't know that, and because today you happened to not pause as long as you did on earlier attempts, you made a “PR” on that segment.
Or it works the other way as well... you did PR the climb, and this is reflected in the high-quality segment that you unhid, but the low-quality segment that includes the post-climb rest shows a much longer, non-PR time.
It also impacts the achievement badges that you see on others' rides. An acquaintance recently did hill repeats, and when I view his activity I see no badges, so it appears as if he wasn't even fast enough on any of them for a “3rd-best personal effort” badge:
The thing is, his first 3:16 effort on “Mochikoshi Pass West” was a PR (by 28 seconds!), and his second effort, just two seconds slower, should have earned a “2nd-best personal effort” badge. The badges are missing because these super-high-quality segments (with ugly names) are, like for everyone who doesn't manually unhide them, hidden from him, so Strava doesn't bother computing the badges. Heck, even if he had gotten a KOM, it wouldn't have been highlighted.
So this adds one more reason to the list of why a segment effort has no achievement badge:
- You've ridden the segment at least four times, and this time isn't among the top three.
- It's your first time to ride a segment, and you didn't place in the all-time top 10 for your gender.
- The segment was hidden for the rider when achievements were computed (when the activity was uploaded, or when “Refresh Activity Achievements” was invoked).
I think only the first is valid reason to not show an achievement.
As an aside about that second reason, I wish Strava would give you a “first time!” badge when you first ride a road, both to celebrate your expanding world and to communicate that fact to friends. As it is now, a ride in a new area creates an activity without achievement badges, making it look like it was just a slow, boring outing not worthy of a closer look, when in reality you might have been really killing it, but just on a road you'd not ridden before. Sigh, if only I were King of Strava, I'd fix all these problems.
Anyway these “downside” problems should subside over time, as you enlighten your friends and they, too, clear out bad segments and promote good ones.
This can be a loaded question because personal preference can play a large part in some of these considerations, but a bad segment in my eyes suffers from one or more of the following:
- A stupid or sloppy starting point
- A stupid or sloppy ending point
- Bad road tracking
- Incorrect summary data, particularly slope and elevation data
- A stupid or selfish name
- An unremarkable or inconsequential segment of road
- A section of road inappropriate for Strava's matching algorithms
We'll soon spend the rest of this article looking at examples of each of these, but first, in order to judge the first three items we need to know how to inspect a segment's course on a map, so let's look at that...
Several ways listed above on how to judge a segment involve looking at it on a map, and with Strava there are two different “segment route” views, and they're both important: one is how your particular route matched to a segment this time, and the other is the original rider's route used as the basis for the segment (and so it's used as the basis to which all activities either match or don't match, and if they do, how they match).
It's important to understand the difference between these two, and how to inspect each.
Here's a bird's-eye view of our test activity, showing a sequence of events:
Clicking on the row for a segment opens up a lot of detail about the segment, including a mini map and leaderboards on the right. (Which leaderboards show up is a preference item that you can configure in your Strava account settings.)
At the same time that the segment detail opens up, the main interactive map at the top of the activity focuses on the segment. Both maps show your activity, with sections of your track that match the segment presented in blue.
The other map view for a segment is seen on the segment's home page. Clicking on the “View full leaderboard” button (item #3 in the screenshot) brings you to the segment's home page, and the route shown on the map there is the “master route” for the segment. It's the route used by the user who created the segment, and has the master starting and ending points.
Okay, so now that we know how to inspect a segment's route, let's look at how to judge its quality...
The remainder of this article goes over characteristics that make a segment bad....
A poorly-thought ending point has the same risks as a poorly-thought starting point, though a bad ending point can be more insidious when a track ends at a mountain pass. Here's an example of a horrible segment from where I ride in Kyoto:
The high point on this climb is the pass marked with a yellow “Ｘ” in the screenshot above. The road on either side is quite steep.
Any reasonable segment for this climb should end at or perhaps just a bit before the yellow “X”, but this segment continues down the other side a bit, including an area just below the pass that's a natural rest area (it's the location of the lead photo of this blog post).
So, if you stop to rest at the natural spot after the climb, this segment includes the rest time. It's a useless segment that I certainly hide. (It's also a good example of another bad segment quality... a stupid or selfish name; we'll see more on that later.)
Another kind of ending point has a less-obvious but more insidious problem... here's the end of a segment in San Francisco that runs along a bicycle path for 3km (2mi), named “Great Hwy Sprint North”:
It looks to end about a long car length before the side-to-side sidewalk at a big cross road. It's back enough that those stopping at the sidewalk might not see their stopping time included in the segment, so that perhaps won't be a problem, but geez, considering that those in the run for a KOM need to average 60kph (36mph) over the whole segment, the stopping point doesn't seem to afford space to safely slow down after the segment.
If the segment were to end just before an intersection, a green light would allow the rider to end the segment at full speed and continue through safely, but as it is, one is forced to slow down before the end, which sort of defeats the point of a sprint segment.
I would be dangerous to finish this segment at full speed, but I wouldn't call this segment “dangerous”. A cyclist can be dangerous... actions can be dangerous.... but we're each responsible for our own choices. This segment is merely “poorly constructed”. I would hide it.
If I were to make a replacement segment, I'd have it stop a bit earlier so that one could safely cross the end of the segment at full steam. I'd try to find some real-world feature to end the segment at so that the end spot would be easy to remember. Google's Streetview of this area shows some posts at intervals along the path... I'd try to have the segment end at one of them.
The track used by the person creating a segment becomes the master template for the segment against which all other rides through the area, past and future, are matched. The closer to reality a master track is, the better chance that it has to match others' rides properly.
So how well do you think this segment will perform?
This is just ridiculous, and should have never been made into a public segment. Luckily it's so bad that it's only ever matched one other person's ride, so it's not polluting everyone's data, but still.
The one other ride that it matched illustrates a general problem with bad tracking. Due to the crazy track, it matched the other guy's ride starting not at the base of the actual climb, but well into the climb, giving him an artificially short time (and, as it turns out, the KOM) for the segment:
If you think to investigate these details, and know how, you end up discounting this KOM and this entire stupid segment.
I can guess how the segment got created. The guy who created the segment is really fast and has KOMs all around Kyoto. He hit this climb hard, and if his GPS unit had tracked well, he would have been in the running for the KOM. But his GPS tracked so poorly that it didn't match the segment for the climb, so in order to see how fast he'd done, he created a segment from his ride with a best guess as to where the climb actually started and ended in his jumble of a track. It's a fine idea, if he'd kept the segment private.
Before we move on, for reference I'd like to show the segment I made for this climb, with the path hugging the left side of the road that we drive on here in Japan:
I go a bit beyond most Strava users... I use road and elevation data from the government to computer-generate highly-accurate segments like the one above. Sadly, because Strava's policies intended to promote good segments are actually counter-productive in practice, most users will never know this segment exists, instead being shown a variety of less-accurate ones.
Each segment has summary data that includes the segment length, the vertical climb, and the average gradient.(sort of)
In the segment list seen after a ride, those three items are shown under the segment name. Here's an excerpt from the long Hawaii climb seen at the start of this post:
The six segments seen above all more or less cover the same stretch of road, with the minor differences in statistics stemming partially from where exactly each segment creator choose to start and end the segment, but even more, to the fact that each segment is made from a specific ride's GPS track, and that the quality of GPS tracks can vary widely, especially with respect to elevation (which, as we know, Strava has “issues” with to begin with).
This long Hawaii climb is on a road that offers a clear view of the sky where GPS units tend to perform well, so there's little variation among the segments seen above, but in the wider Strava universe, segment summary data can be wildly off. Let's look at some examples from where I ride in Kyoto:
Kyoto has some ridiculously-steep roads, including some with sections that truly are at 25%, but this little segment at the start of the northern ascent to Kyomi Pass is not one of them. In reality, that section of the road rises at 3.8%.
If you're familiar with the area you know that there are no 25% climbs around there, but if this kind of crazy-wrong data shows up in a friend's activity in an area you're not familiar with, it's instinctive to take it at face value:
Because human nature is so strong to take this data at face value, I think it's important to get rid of incorrect segments like these. I certainly hide this segment.
Here's an even worse example, a flat section of road (should be 0.0%) presented as a grueling 24% climb:
This short segment also goes through three major intersections with long traffic lights, making it inappropriate on an entirely different level as well.
Sadly, segments with this kind of wildly-incorrect stats abound. Our only recourse to make things better when we notice them is to hide them.
So, the average grade for a segment is correct if the source ride's GPS data is accurate, but Strava shows us that “correct” doesn't always mean “useful”. Because of how Strava chooses to display things, the average grade is meaningful only if the segment is all uphill or all downhill. If the ride undulates or otherwise goes both up and down, the “average grade” number Strava presents is essentially meaningless from a cyclist point of view.
Consider this segment that climbs at 9% up to the top of a mountain pass, and then much of the way down the other side. To do well on this segment, you must have strength in both climbing and descending:
Strava displays an essentially-meaningless “1% average grade” for this. They look at the difference between the starting and ending elevations, and divide that into the total distance. This is a mathematically valid way to compute something that a mathematician could call “average grade”, but that's about the best I can say for it.
As for usefulness, it's worse than nothing when it comes to informing a cyclist about what to expect on the ride.
The insidiousness is that when this “1%” shows up in a list of segments, those not already familiar with the road will dismiss it as flat. This kind of data falls into “Strava's core reason for existing”, so it boggles my mind that they are satisfied with this as the status quo.
A better solution is a matter of opinion, but the most obvious idea is to divide the total elevation gain (the aggregate of all climbs within the segment, as opposed to the simple difference between start and end) over the total distance. This would be much better for segments that are predominately climbs or descents, but it still fails to accurately describe the effort needed for mixed segments like our example above, for which this method would yield a paltry “3.5%”.
For segments with a non-trivial mix of both ascent and descent, perhaps show the average gain for ascending road, along with a parenthetical note about the average loss for descending road. In this case it would be “5.8km @ 9% (＋8.4km @ -4%)”, which much-more accurately describes the effort required for this segment.
Strava doesn't do it this way perhaps because they disagree on its benefit, but more likely both because Strava is challenged when it comes to elevation calculations, and because they consistently show a willingness to abandon what should be one of their core competencies.
When you create a segment in Strava, you have the option to keep it private to yourself, in which case the name matters only to you. But normal public segments are a shared resource for all Strava uses, so unless you're selfish and inconsiderate, they should be created to be a shared benefit.
A name like that seen above, “Steves Oh Gosh not this little turd of a hill again.”, is a remarkably meaningless name. The guy who created it (“Steve”, one supposes) couldn't even be bothered to punctuate properly.
Another example from Kyoto, probably from the same guy, is this even more-meaningless name: “Steve's Monkey T Sprint KYOTO”. The name tells us that it's a sprint of some sort somewhere in Kyoto, but otherwise nothing. I'm sure the name is an inside joke of some sort, so it'd be a great name for “Steve” to have as a private segment, but there's no meaning for others. I hide it.
There are a bunch of rides around Kyoto with names that start with “Steve”, so perhaps he attempted to create a “brand” of segments that all share a certain something? I don't know, but all I came across shared a stunning lack of quality, so I quickly learned to hide them any time I came across them.
Unfortunately, there are no end to stupid, meaningless segment names on Strava. A quick perusal yields such gems as:
- Sprint for your life!
- Dog Eat Dog
- too good to delete-
- ❤️Chase me Chase me❤️
- Thank God
- annoying hill
- Better Version
- Tailwind? Nah! just your wishful thinking
Seriously? These are just moronic.
Some names are neither stupid nor selfish, but unfortunately lacking nevertheless. If you can approach a mountain pass from both sides, a name like “Bigmountain Pass Climb” doesn't tell you which of the two sides it refers to.
I think segment names should have logical, boring names that actually describe the segment, letting the nature of the ride itself lend fun and excitement instead of trying to force it via a “witty” name.
So, that's how I name segments that I create. For example, there's a mountain pass in Kyoto named “Ebumi Pass”, and if you approach it from the west, you'll find segment “Ebumi West”, and if you then go down the other side, “Ebumi East Descent”.
Boring, yes, but also clear, understandable, and unambiguous in the local context.
Actually, those are just the English parts of the names, which actually also include a Japanese version as well. This part of the global shared resource — road segments — is in Japan, so if one has the linguistic ability, it's only considerate to include a Japanese version in the name.
So, my “Ebumi East” segment becomes “江文東 / Ebumi East”, which is a bit noisy, but still reasonable, and useful for both Japanese and English-speaking foreigners alike. English is the lingua franca among non-Japanese speakers in Japan, so an English version of the name has wide utility.
I sometimes see groups of segments with a commonness to the names that implies a kind of “branding”, such as the “Steve” segments seen earlier. I think for the most part this is merely ego and selfishness, but I do see one rationale for branding: to advertise a certain level of quality. After a few paragraphs I'll explain how I utilize segment-name branding this way, but first a bit of background on why this comes about...
When creating a segment on Strava, you have only one way to communicate to others everything you want to say about the segment: the title. It'd be nice if Strava added a “description” field, “Author/Creator” field, a name-in-another-language field, and such, but they don't. This is really unfortunate because there are a lot of things you might want to tell others when creating a segment, not the least of which is why this segment is better than whatever segment it's trying to replace. So if it's important enough, you have to communicate it in the title.
Searching Strava for segment titles with “fixed” in them shows plenty. (I looked at one, and found it to be just as bad as the original in that it starts just before a big intersection instead of just after, going to show that you just can't blindly trust a segment just because it has “fixed” in the title.)
I sometimes go through quite a bit of work to create super-accurate segments in Japan, applying my computer-science geekiness to computer generate silky-smooth segments from highly-detailed road and elevation data from the Government of Japan. These segments go so far as to follow the left edge of the road (Japan drives on the left side), and they have an elevation profile that's faithful to reality. I would suppose I'm the only one in the world crazy enough to put this much work into it.
Anyway, I'd like to communicate the accurate nature of these segments to other users, and the only way Strava allows for is in the name, so I “brand” these segments by adding “Surveyed” (in English and Japanese) to the end of the title.
So now my “Ebumi East” segment name becomes “江文東 / Ebumi East [計測 /Surveyed]”, which is an ugly mouthfull making a ride's segment list look “busy”. I don't like it, and I can imagine some folks might consider this in the “stupid name” basket, but I can't think of any other way to communicate the trustworthiness of the segment.
I tried prefixing the title with a symbol that might communicate what I want, such as “⚒”. This would create a less-cluttered name like “⚒ 江文東 / Ebumi East”, but I had to abandon the idea because Strava's Android app doesn't display this correctly.
So, for the moment I'm stuck with the ugly-but-informative “Surveyed” pattern.
Some segments may be technically fine, but just make no sense in local context. As an example, let's revisit the odd-starting point segment seen earlier. Here's its elevation profile in the local context:
We talked earlier about the slightly-odd starting point, but the ending point sits squarely in the “bizarre” category, just abruptly ending in the middle of the climb up to a pass. Having ridden these roads many times, I just can't see the meaning of a segment that incorporates the climb up and down the one pass, then part way up to the next.
To further boast the “totally clueless” nature of this segment, its name is “府道31号線 Climb full”, which translates as “Prefectural Route #31 Climb full”. The thing is, this name is a fail on all fronts: It's not anywhere close to the full length of Prefectural Route #31, and as a bonus, ¼ of the segment is on a different road entirely. It's not a full climb either, nor even really “a climb” at all since almost half is a descent.
So why does this segment even exist? I can think of three reasons:
- There are community benefits that I'm just not seeing.
- The person who made it was sloppy and inept.
- Unlikely, but perhaps a person didn't make it at all; perhaps it was automatically made by Strava.
That last possibility brings up the topic of auto-generated segments...Strava-Generated Segments
Back when Strava was young and there weren't many segments yet, in an effort to seed the pool, so to speak, their computer would analyze an activity and automatically generate segments for climbs that didn't otherwise have segments yet. This hasn't been done for a couple of years now, but those auto-created segments remain. These auto-created segments always got titled “road name Climb”.
These are easy to spot here in Japan because the “road name” part is in Japanese and “Climb” is in English, for example “府道31号線 Climb”, a climb on Prefectural Route 31. Going back to the start of this post, this is probably the origin of the four “Haleakala Highway Climb” segments along random parts of the road.
Because these automatic segments are based upon a user's GPS track, they're ultimately subject to the accuracy of the recording device's elevation data, which even today can be wildly inaccurate. When it works well you end up with a nice segment from the bottom of a climb to the top, but more often you get little tidbits in the middle of a climb where the user's elevation recording happened to fluctuate.
For example, a few years ago some guy rode up this beautiful, smooth climb. It's a proper climb that just keeps going up, with no flat or downward sections, but as is common with GPS devices, his device recorded quite a bit of fluctuation during his ascent that simply wasn't there:
Among the various bumps, Strava for some reason chose to make the marked part into a segment, with (of course) a “... Climb” title:
So, these “road name Climb” segments are often junk. I tend to hide them.
Sometimes a segment has all the hallmarks of quality, but just doesn't work well with Strava's track-matching algorithm. A simple example is this climb on an old road now bypassed by a long, dark tunnel going almost directly underneath:
Start of the climb
the climb rises at right, then crosses over the tunnel
Segment ends directly over tunnel
(confusingly, itself directly under a parkway overpass)
The track for a rider going through the tunnel also appears to go through the start and end of this climb, so Strava can't tell the difference, so this segment gets matched:
through the tunnel both ways
north over the climb, south through the tunnel
That “proper match” effort is mine and is currently the fastest time for the climb and should be the KOM, but it shows up as #15 on the leaderboard because those above were improperly-matched efforts. Any number of friends could easily beat my time of 1:25, but they'd have a difficult time beating the currently-listed KOM of 31 seconds, unless they also went through the tunnel like that rider.
(By the way, the temple noted at the bottom of the maps above is the same one seen on my blog in “That Kyoto Temple With the Many Whimsical Statues”; it's well worth a visit if you're riding by.)
When two segments more or less overlap, it's difficult to blame Strava for not noticing the difference, but many mismatches are less obvious. Consider the little climb seen in this closeup of the heat-map screenshot seen in the “local considerations” section above:
That little bit of road is the super-steep entrance to the temple seen on my blog seven years ago in “A Visit to Western Kyoto’s Konzou Temple”, where a younger and fatter me visited with my son, via scooter. I did visit again last year via bicycle, but my ride didn't match a segment I made for the 18%-average-grade driveway. Strava's “Potential Segment Matches” page for the ride says:
- Your Activity
- Selected Segment
- Partial Segment Match
We could not complete the match.”
I'm not sure what's going on here... my ride's cruddy track somehow matches the segment perfectly right up to the finish... but then inexplicably continues matching for a while. Yet, Strava says it failed just before the halfway mark? I'm left baffled.
Worse, though, is that the next time I rode it, it not only matched the climb segment on the way up as it should have, but also matched the descent as well:
once each way, that matched the segment
In looking at the rides for the top of the leader boards for the segment, it appears this problem is widespread.
The segment just doesn't work well with how Strava matches... the start and end are too close to other parts of the segment, and to each other.
It's a problem common to short segments with non-segment road nearby. I first noticed it with this segment, covered on my blog in “Kyoto’s Nasty 21% City-Bike Hill Climb”. A rider speeding by on a flat road nearby matched this steep climb, “earning” the KOM with a time of 11 seconds:
These kinds of false matches can absolutely destroy the leaderboards, leaving them meaningless. The actual KOM is this 24-second effort by a friend, but it's listed as the 77th overall! (To figure that out, I had to inspect each ride on the leaderboard until I found one that matched properly; FWIW, my personal best is 32 seconds.)
Another example shows a road too twisty at both the start and end for a reliable match of either. Here's the current KOM for that segment:
but the segment actually starts and ends at the two yellow “★”
This rider turned around two hairpins short of the full segment, but it was close enough for Strava's matching. Combined with the late match at the start, his overall time is seriously truncated, “earning” him the KOM.
It's not the rider's fault that Strava doesn't match these correctly, and frankly, I don't blame Strava for it either. There's an incredible range of GPS quality levels, but many tracks, especially in mountainous areas, are all over the place, and Strava's algorithms work hard to match as reasonably as they can. If the algorithm has to allow for a track error placing it 100 yards off the road, such a track is indistinguishable from a track on a different road that's actually within that distance. Trying to balance the various considerations involves a level of juggling well beyond my paygrade, but it seems that short segments, which are iffy to begin with (due to the aforementioned GPS quality levels), are where matching most often fails. It seems like a smart balance to me.
Overall, that Strava can do as well as they do, so quickly, with so many segments and activities every day, is only slightly short of magic.
I do blame Strava, however, for not providing a way for a rider to manually remove a segment match from an activity. I think that keeping leaderboards clean falls into the “core competency” of their business, and in this respect they fail. With the “Nasty” example above, I learned that I simply can't ride on that road that gets incorrectly matched if I don't want my own PR leaderboard to be forever polluted with false “PRs”. It's silly to modify my real-world movements to satisfy my data-integrity geekiness, but I do.
Not only do I wish Strava would let us remove an incorrectly-matched segment, but I wish they would let us flag incorrect matches in other riders' activities, to alert the less-savvy Strava user to the situation. These are among my #1 wishlist items for Strava.
So that's that. If you actually read this far, in the time it took to read you probably could have Everested your favorite climb. Hopefully, the time spent was worth it and together we can make the Stravaverse better for all.