Skip to content
All posts Using Milesheet

Why your app's mileage never quite matches your odometer

GPS drift, straight lines between points, and which of the two numbers is actually right.

Real-world economy and odometer readings in Milesheet

Record a journey on a phone and compare it with the trip meter and the two will not agree. Usually the phone reads slightly low. Sometimes it reads high. Here is why, and which to trust.

How a phone measures distance

It does not measure distance. It measures a series of positions and adds up the straight lines between them.

If a fix arrives every few seconds, each segment is a chord across a slight curve rather than the curve itself. Over a straight motorway that is negligible. Over a twisting lane it accumulates, and the app reads short.

Why it sometimes reads long

The opposite problem: GPS positions have error, and a stationary or slow-moving phone can appear to wander. Add up enough small spurious movements and you have invented distance that never happened.

This is worst in cities — tall buildings reflect signals and produce positions that jump — and at the start of a journey before the fix has settled.

What a good app does about it

Filters points. Reject fixes with poor reported accuracy, and reject implied speeds that are impossible for a car. Milesheet drops anything implying more than about 55 m/s, because a position jump is far more likely than a genuine 120 mph.

Ignores movement below a threshold, so a phone sitting in a cup holder at traffic lights does not accrue distance.

Samples often enough, so the chords stay short. Recording every few seconds while driving is the compromise between accuracy and battery.

Why the odometer is not perfect either

Car odometers are legally permitted a tolerance, and they typically read slightly high — a few per cent is normal. That comes from how they are calibrated and from tyre wear: a worn tyre has a smaller rolling radius, turns more times per mile, and reports more distance than you covered.

So the two numbers disagree partly because the phone reads low and partly because the car reads high.

Why the two numbers differ

Source of errorDirectionTypical size
Straight lines between GPS fixesApp reads low0–2%, worse on twisty roads
Poor fixes in cities, tunnelsEither wayVariable
Drift while stationaryApp reads highSmall, if unfiltered
Odometer calibration toleranceCar reads highUp to a few %
Tyre wear reducing rolling radiusCar reads high~1–2% on worn tyres
Larger aftermarket tyresCar reads lowVaries

The net effect for most drivers is the app reading 1–3% below the trip meter, which is approximately the trip meter's own optimism.

Which one to use for a claim

For journeys, the GPS record — because it comes with the date, the route and the times, which is what HMRC's expectation of a mileage record is about. A distance without a journey attached is not a record.

For fuel economy, use the odometer, because it is measuring the same thing consistently between two fill-ups and small errors cancel out over a full tank.

That is why Milesheet uses GPS for trips and odometer readings for MPG. They are different jobs, and the right instrument differs.

And when they disagree a lot

A large gap between your odometer and your logged journeys usually is not measurement error — it is unrecorded driving. Milesheet compares the two and flags stretches where the odometer moved further than the log explains, which is a much more useful signal than a percentage discrepancy.

Sources