cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

The Hub is now in read-only mode as we make improvements to the Hub experience. More information is available here.

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

Silentvoyager
Superuser
Superuser

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

49 REPLIES 49

@CreakyCrank , I understand @varun's answer - there is no need to explain it to me.

My point is that every other GPS device brand does proper rounding. And then Strava says - we know better and we better not award you those extra 0.005 miles (which is about 10 steps) in case you haven't actually run that. By doing that Strava says that it knows better than any other other GPS device brand, which is pretty ignorant.

The points is that it isn't scientifically correct and only causes annoyance for the following two reasons:

1) The GPS distance accuracy is 0.5-1% at best and can easily be up to 5% wrong on a challenging terrain (that is my personal experience), and even worse than that. So if someone has run 5 miles, in reality that may be anything between 5.95 and 5.05 miles in the best case. So always rounding down in that situation in case they didn't run that extra 0.005 miles is simply not scientifically correct. It just introduces a bias for no particular reason.

2) @varun mentioned that GPS devices tend to measure GPS distance long. But that is simply not correct. Perhaps that was the case 10 years ago. It is true that early GPS devices that relied on GPS only had quite a bit of wobbling which could add to the distance. But modern devices use sensor fusion and tend to factor accelerometer and gyroscope heavily in the distance calculation and counteract the wobbling.  If anything, modern devices tend to oversmooth the track, especially around turns, and the distance tends to be too short, especially when running on trails with a lot of turns. If you don't believe me, try searching for Garmin Forums  for "distance short": https://forums.garmin.com/search?q=distance%20short

When I know that my Garmin device already under-measures the distance and then Strava reliably subtracts 0.01 miles from that, that causes nothing but irritation. 

And just to make it clear, I am not saying Strava should round up. It should do proper scientific rounding instead of truncation that it currently does.

 

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

Rogier
Pico de Orizaba

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.

I just had this exact problem. Did a 10K training plan, and the watch automatically stopped the activity at 10.00km. So now Strava doesn't count my 10km PB because it's only 9.99km.

There is also no way to edit it on strava to fix the distance. I guess I would have to edit the GPX file and upload that.

When I did other runs I made sure I went a little bit futher just to make sure it actually counted the distance but that's not possible with the Garmin training plan runs.

edit: I fixed it by exporting as a TCX from Garmin, then editing the last Trackpoint in the file to be a couple of meters along the road by checking the lat and long coordinates on Google maps. I then imported the edited TCX and it still showed as 9.99km but after using the "Correct Distance" option in Strava it updated to 10.00.

The original recorded activity was actually 10000.1 meters according to the TCX, so it looks like Garmin did record a little extra to try and work around this problem - but it didn't work.

@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.