Originally Posted by
ItsJustMe
...I actually rode a 20 mile course with a GPS on my handlebar and found that my computer was about 2% off, so I subtracted 2% from the setting in the computer. Do not do this if you're going over a course with lots of curves; the GPS will probably underestimate the distance a bit by cutting corners between samples.
...
The GPS also does not account for extra distance when traveling over hills. When you have at least four satellites available, most GPS units will give you the altitude, but it does not calculate that into your speed or distance.
This is why even GPS units that are designed for cycling, incorporate a wheel magnet/sensor to measure speed and distance.
In this cross-section of hilly vs. flat rides, the GPS only knows how far you went and how long it took. It doesn't take into account the hills in between.

I think that your cycling computer is actually correct and it is the GPS that is off by 2%.