I have plot my exact route from home to my office using Google Maps. By exact, I mean that I took nearly every turn and change from auto-calculated route to match my exact route into consideration.
Google Maps claims that my route is 10.4 km. Everyday I'm riding it, my bicycle's odometer claims that I have actually traveled 11.11 km.
I did exactly the same with my return route (a bit different) and after including every actual turn, change etc. it turned out that route is 9.5 km according to Google Maps and 10.43 km according to my odometer.
The difference is 0.7 / 11.1 = 6.3% on the outward trip and 0.9 / 10.4 = 8.6% on the return trip1.
My first and of course obvious clue was an incorrect tire size setting in my odometer. However, I double-checked to be sure it's correct:
I have (50-559) 26x1.95 tires, so I believe I should set it to 2089.
What else could cause the difference?
I have consulted this with a very experienced bicycle rider, but he mistakenly thinks it's because the Google Maps route doesn't always match the actual route. However, I spend some time adjusting the auto-calculated route, so it matches my actual route in about 99.5%.
1 Assuming that my difference calculation formula is correct. Plus -- I don't know why divergence is higher in case of return trip. The only clue, that I have is that it takes much more backroads, turns, slow downs (while onward trip is riding on the streets nearly all of time), which causes, that travel time is longer in case of return trip even though it is shorter. But, that is a weak argument as divergence should be the same in both / all cases.