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

Hi @varun, thank you for the continued discussion on this topic!

You are correct that in the past GPS measurements had a tendency to be too long due to the wobbling effect, especially at slower speeds where the distance covered in one second (which is the typical sampling rate) is comparable to a typical GPS error rate.

Since then two things have happened.

1) Most modern devices no longer use GPS alone to calculate the distance. They perform so called sensor fusion where the data from gyroscope, digital compass, and accelerometer is considered. There is a heavy error correction in which devices try to predict what the next position should be based on your movement pattern and input from those sensors. That not only eliminates the wobbling but also straightens the path into turns. That's why it has a tendency to shorten the distance. Furthermore, some devices seem to favor input from sensors like accelerometer as the primary source of distance and use GPS to continuously calibrate it. There is a lot of evidence that Garmin does that for walking and running activities. Because of that the path recorded from GPS no longer matches the recorded distance and that's why Strava distance correction almost always changes the distance (usually increases the distance).

2) The second more recent development is that a lot of modern devices now have multi-band (multi-frequency) GNSS, and that drastically improves accuracy. The accuracy is so great now that I can often see whether I was running on a sidewalk or on a road next to it. That alone eliminates the wobbling effect to a minimum. In my experience the running distance still tends to be on the short side, but to a lesser degree than with the generation of devices mentioned in that 2020 article I linked above. 

Hi Varun, thank you for your comment and the links to the articles. I have been a runner for 11+ years and I run a lot on trails. I used 7 different GPS watches.

My personal experience is that all watches, even the best one tend to underestimate distance on trails and even on roads when there are a lot of turns. Basically if you go to any trail race in my area that has a certified distance, mostly everyone would post distances that are typically 3-7% short. Yes, GPS positions wobble side to side compared to the direction of travel, but all modern devices use sensor fusion where the distance comes from a combination of accelerometer data and the GPS data, and when GPS quality isn't great (e. g.) running in a forest, the distance comes primarily from the accelerometer sensor data. Also needless to say that that has a tendency to cut through turns and straighten wavy trails. In other words modern devices already attempt to fix that side-side wobbling of GPS and do that fairly well. So what you mentioned, perhaps, applies to cycling, but that certainly doesn't apply to running. And then on top of the already shortened distance Strava rounds it down some more.

As a supporting evidence, if you try to do distance correction in Strava, in most cases the distance would increase, which proves that the distance isn't based on the GPS track alone. 

Thanks @varun 

igoramadas
Pico de Orizaba

I always thought that was just a rounding issue, but looks like Strava does a lot of post processing on the data. The speed and power are always lower as well.

Maybenaught
Pico de Orizaba

Mine does the same thing. I think it has to do with Strava converting the Garmin GPS data into data that works with Strava...since you're not using Strava to record the activity, the data needs to be changed into a form that works on Strava.

 

Not sure if this is helpful: https://support.strava.com/hc/en-us/articles/216919487-How-Distance-is-Calculated

 

So this morning I did a short warm-up on treadmill (I do that before strength training sessions). Garmin has measured 1.53 miles using the internal accelerometer. On Strava - it is 1.52 miles. There wasn't even any GPS data in the uploaded file, but Strava has still managed to subtract 0.01 miles.
I think in general that article is misleading. What Strava describes there would apply only when uploading the data in GPX format. Most modern devices upload the data in FIT format, which has a special header that contains activity summary. I am pretty confident that Strava just takes all the data from that activity summary as is including the distance, the elevation gain, etc. Strava can correct the data using the method described in the article, but but that applies only when you choose to do "Distance Correction".

Overall the 0.01 mile distance seems to be systemic. It is some sort of rounding bug which is probably caused by not exactly correct data conversion from meters to miles or perhaps by Strava always rounding all distances down, or the combination of the two.

 

The problem could be that internaly the Garmin has recorded more decimal point accuracy than it displays and so therefore rounds the result. For example maybe what the garmin recorded was actually 1.5152 miles. Since Garmin only displays to two decimals it takes the remainder and rounds the value. Since it is above "5" it rounds the 1.51 to 1.52. Strava on the other hand simple truncates at the two decimal position. The Garmin could record 1.519 and it would still show as 1.51 in Strava,

I strongly disagree with Strava's implementation since this supposed adherance to accuracy is based on a flawed assumption that the recorded data is without error itself, which is certainly not the case.

I recall learning "metric" rounding which states that when the remainder is precisly on the "5" with no additional numbers then you round to the nearest even number. 20.515 would round to 20.52 as would 20.525. The caveate is that there can be NO additional digits of signifigance in the number being rounded beyond the 5 being rounded away.

Always rounding ...5 up means you round up more often than down. That's why most scientific journals require their authors to round ...5 to the nearest even number to prevent a systemic error.

On the other hand, World Athletics requires all distances to be rounded down because official race distances are minimum distances. Similarly, all measured times get rounded up.

The reasoning being that running a marathon in 3:00:00 means you ran a course of at least 42.195k (and not a fraction of a nanometer less, as measured by a Jones Counter), and it took you 3 hours at most and not a nanosecond more (as recorded by the electronic timing system).

this supposed adherance to accuracy is based on a flawed assumption that the recorded data is without error itself, which is certainly not the case.

Yes, that's the point. Distance from modern GPS devices is accurate to about 0.5-1% at best and tends to actually be on the short side even without rounding down by Strava. So Strava adds salt to the injury. Yes, in the past GPS tracks recorded by devices had a tendency to wobble thus adding the distance. But most modern devices fuse data from multiple sensors to correct the wobbling. I know for sure that distances produced by Garmin Fenix 6 or 7 are nearly always shorter than the sum of distances between consecutive points on the recorded GPS track. If I do distance correction in Strava that always increases the distance. In other words, these devices already do correction for wobbling, and in the process they often cut through corners and do other stuff that overcompensates the correction and makes the distance a bit short. 

@Silentvoyager and I were discussing the same thing in this thread: https://communityhub.strava.com/t5/devices-and-connections/distance-discrepancy-between-strava-and-g...

It's so miniscule that most folks don't notice, or aren't bothered by it, but that .01 can be the difference between a half marathon and a "long run".  The article about how STRAVA measures distance attributed some of this to smoothing of GPS tracks, but this .01 seems more systemic.