Why your unit reads a different mileage than a friend’s, even on the same ride, and what to do about it.
Ever finished a century ride, only to see your GPS read 99 miles? Or wonder why the average speed and total elevation gain in your Strava activity are different than a friend’s, even though you did the same ride?
You’re not alone. From the Bicycling forums to those of social fitness apps like Strava and Garmin Connect, riders want answers to why GPS devices, all based on the same satellite-oriented location systems, seem to vary so often.
GPS lies, if we want to call them that, derive from a number of issues and affect metrics from distance to average speed to elevation gain. “Each difference has a different driver,” explains pro cyclocross racer Elle Anderson, who, as part of Strava’s customer support team, deals with these questions every day. By using GPS, “we operate on a system that’s inaccurate to some degree,” she says.
Understanding the reasons why GPS discrepancies happen might help you eliminate some error, or learn to live with it until a better alternative arrives.
How GPS Tracking Works
GPS devices gather data from a group of 27 satellites that orbit Earth twice a day, following exact trajectories such that, at any given time at any given location on earth, at least four are visible.
Those satellites send out radio wave signals picked up by your device. Based on the time difference between when the wave was sent and received, a GPS unit figures out how far away each satellite is and uses that info to pinpoint your location—a process known as trilateration.
Errors of Distance
Measurement Error: If you’ve ever downloaded a GPS file only to find your path on the map is parallel to a road but not actually on it, that’s measurement error, as shown in this Garmin Connect file from a recent ride to test GPS accuracy.
Satellite signals travel through our atmosphere, which slows them down slightly. GPS device makers compensate for that with algorithms, but even then, the most advanced among them can only approximate your position within three to five horizontal meters; most are only accurate to within a diameter of 10 meters.
Interpolation Error: If you’ve ever downloaded a GPS file that renders your path around a curve as a weird series of jerky straight lines, you’ve experienced interpolation error. GPS devices only measure your location at intervals, so your path ends up being a series of discrete points. Software typically connects those points with straight lines even if your route is curved. Most software, like Strava or Garmin Connect, can correct to follow known roads, but if your sampling interval isn’t fast enough, the path can incorrectly account for distance.
Other Errors: GPS accuracy also varies with signal strength, hardware integrity, and even whether your firmware is updated. Certain settings may also interfere with accuracy: If you set your device to autopause when you stop moving, you have to move continuously for a certain distance before the system starts measuring again. There’s also data corruption. Anyone who’s uploaded a .fit file knows that sometimes it’s unreadable, and even when it is readable, there’s noise—data drops out or is added in weird spots (no, you did not instantly and momentarily decelerate to 5 mph on an otherwise 35mph descent).
Errors of Elevation
Barometric drift: GPS devices can read elevation two ways. The most common for cycling computers is with a built-in barometric altimeter, which uses changes in barometric (aka air) pressure to compute altitude changes. But barometric pressure also changes based on weather and temperature, so it’s always going to be slightly off. “Elevation gains are relative, not absolute,” Anderson points out. “[And] if you take your Garmin from your warm house and go out and ride in 30 degrees, it freaks out for the first few minutes.”
A GPS without a barometric altimeter, like a phone app, uses your position and a value called a reference ellipsoid to calculate elevation, but it’s often inaccurate—one of the primary reasons why Garmin Connect and Strava offer elevation corrections when you download a file.
Database generality: Elevation correction features compare your route to a list of known elevations. Strava, for example, uses US Geological Survey data, says Anderson: It essentially overlays a map with a grid of 10-square-meter tiles, each assigned an elevation value based on the average elevation of its total area. So in particularly steep terrain, the actual elevation is likely higher (or lower) than the tile value. That’s why Strava and Garmin Connect disable elevation corrections when downloading from a device with a barometric altimeter: The collected data is usually more accurate.
Because of all these errors, every time you do a particular ride, your GPS will produce slightly different data sets. And if you and a friend do the same ride, your files will be different. Each error is small individually, Anderson notes, “but everything has a compounding effect of small variables that overlap, so the cumulative error at the end of the activity can be a few minutes, or even a few tenths of a mile.”
Distance is the most regular error and, according to a paper published last fall in the International Journal of Geographic Information Science, the way that GPS relies on interpolation almost always means that your recorded distance is longer than your actual distance.
Elevation data typically varies more widely. Part of that come downs to individual hardware, including the presence or absence of a barometric altimeter. The result can be elevation profiles that are hundreds of feet apart over a series of climbs – pretty important stuff if, say, you ever try to Everest on a bike.