cancel
Showing results for 
Search instead for 
Did you mean: 

Why Strava distance is always 0.01 mile shorter than Garmin distance?

Silentvoyager
Kilimanjaro

I know it is a small thing but it is one of those things that is quite annoying about Strava. You know that situation when you finish a run and notice that it is very close to a round number of miles, than you run a bit further to make it e. g. 5 miles. Then it uploads to Strava and shows as 4.99 miles in some parts of the app and 4.9 miles in other parts of the app (e. g. the training calendar). Can Strava stop doing that? 

2 ACCEPTED SOLUTIONS

varun
Strava
Strava

Hi @Silentvoyager

We know this has been a long-time quirk, and often a frustration for many athletes, including some of our own employees! The reason this happens is that Garmin (both the device and Garmin Connect) rounds up distances, whereas Strava rounds down. Distances are always stored in meters on devices and then shown on Strava in the athlete's preferred units (i.e. miles/yards for imperial and kilometers/meters for metric). So for example, a distance that comes over in a file as 4995 meters will get displayed on Strava as 4.99 km and on Garmin as 5.00 km. Similarly, if on your watch you run until you see 1.00 miles, that might actually be something like 1608.0 meters (0.9994 miles) and Strava will show 0.99 miles.

It is also worth clarifying that most Garmins, even relatively older ones, provide a distance directly in the file that Strava uses. There are cases we calculate distance ourselves from the raw GPS points; for example, if a certain device doesn't provide it. And athletes can also choose to use our calculated distance to override the device one - see How Distance is Calculated for more. 

One other nuance for the question from @MattS_bsb regarding race distances like a half marathon or marathon. There are features like Best Efforts and Challenges based on those Best Efforts that require athletes to complete a certain distance. One thing we have seen is athletes who run 26.2 miles and not receiving credit. This stems from the same issue above - that a marathon is 26.22 miles when converted from its official distance (26 miles and 385 yards), and athletes are often slightly short.

We understand that this is a bit of a philosophical stance we've taken - the digital version of "running all the way to the line". There is a tradeoff here between the consistency with Garmin and satisfaction of the round numbers (because yes, we've all been there), and the care we aspire to take with data correctness and integrity. This is one of an exceedingly long list of nuances around data as we pursue making Strava work for thousands of devices, each with its recording subtleties and differences.

Hopefully that helps clear things up and explains why you might see some crafty athletes running til they see 1.01 on the watch. We will strive to continue using this forum as a place to transparently explain more of these types of situations to athletes.

 


Varun | Staff Software Engineer - Geo Team
https://www.strava.com/athletes/varun

View solution in original post

Your philosophical stance just cost me a pb on a half marathon that i have been training for for 5 months. Garmin says 21.1km and Strava says 21.09km. What gives you the right to do this? Rounding down is just stupid. I work with data for a living and no dataset is 100% correct anyway, but you are denying athletes pb’s for a couple of meters. I trained, i cried, I covered the distance but yet you deny me a pb. Do you really think that anyone cares about your philosophical stance? Its stupid. Who is the clown making these decisions in your company? Get your act together Strava!

View solution in original post

44 REPLIES 44

Great answer, except for one thing. The official marathon distance is not 26 miles and 385 yards. The one and only official marathon distance recognized by World Athletics is 42.195 km as set using the metric system for the 1908 Olympics in London. We can blame Queen Victoria for that.

The official marathon distance in miles is 42.195/1.609344. This is a number with an infinite number of digits after the dot, so the official marathon distance in miles does not exist in decimal notation.

This is also the same on Zwift, you always end up with .01 less distance!! Not just Garmin.

Why is it that on my peloton, the run completes at 5.00km but then sometimes it appears in Strava as 4.99 while other times it shoes as 5.00? I’m missing every second run in my totals? 

Having just ran a local training 10k which Strava shows as 9.99k, I just pulled open the fit file to see what was recorded. It shows 10,000.52m, so given what you say about rounding, can you please explain why this is the case? I'm happy to supply the fit file if you would like to take a closer look.

@tombell, I suspect what Strava does is that it subtracts the distance in the first sample from the distance in the last sample. If the first recorded sample wasn't at zero meters, for example if there wasn't yet a reliable GPS lock, then the resulting Strava distance would be shortened. That explains complains of some Apple watch users that they get a significantly shorter distance on Strava. I also recall seeing a similar issue with a Suunto watch. 

 

Also, Strava support article https://support.strava.com/hc/en-us/articles/216919487-How-Distance-is-Calculated mentions that the data is parsed into a stream, which further supports my suspicion. The article doesn't say that Strava looks at the FIT file header that would have the correct device reported distance. Instead it specifically mentions the stream of (I assume) samples stored in the file. Take a look at your FIT file. What distance do you see in the first sample? 

Hey @tombell
We're going to send this over to our support team so they can take a look at your account and find out what's going on. 


Cheers,
Scout (she/her)
STRAVA | Community Hub Team

This is a pathetic stance. I would suggest a vote amongst paying customers on this issue. Garmin didn't get where they are by fudging things. Grow a pair and admit you got it wrong Strava.

Can we not just have a manual override button, where we can change the distance?  So for a 10k race that comes up short at 9.9 we can have it recorded as 10k, and that then gets factored into your average pace, etc. Main thing folks want is to see the race distance recognised in the app and rewarded as such, showing under my best 10ks etc. You already have a distance correction option that uses a different calculation so have another one that lets us round up or even round down for that matter? Maybe a certain percent of tweak.

Your philosophical stance just cost me a pb on a half marathon that i have been training for for 5 months. Garmin says 21.1km and Strava says 21.09km. What gives you the right to do this? Rounding down is just stupid. I work with data for a living and no dataset is 100% correct anyway, but you are denying athletes pb’s for a couple of meters. I trained, i cried, I covered the distance but yet you deny me a pb. Do you really think that anyone cares about your philosophical stance? Its stupid. Who is the clown making these decisions in your company? Get your act together Strava!

Yeah, the true half marathon distance is 21.0975 km. You were probably just a few meters short. I think Strava's stance about this issue doesn't show them in a good way. I remember seeing a comment from Strava that all GPS devices always measure distance long, which is clearly not the way with modern GPS devices if you read Garmin forums. The Sony chipset is especially bad in that regard. Distance measurement does no longer come directly from GPS. It comes from fusing data between the GPS and the accelerometer, and in my experience Garmin's distances often ends up being a bit on the short side when running on open terrain and even more short when running on trails. 

I think the right solution would be (a) to round exactly the same way as Garmin and (b) award a PB even when the distance is a bit short. How much, I don't know but something like 99.5% of the distance sounds like the right threshold. That would significantly reduce disappointment of users when they don't get a well deserved PB due to being a few meters short.