hills and different lanes could cause 3% easy IMHO.
Think about a track (for running) how the person on the inside starts far back because they are always on the inside, so one lap for them is shorter than one lap for the runner on the outside.
If google maps records it as if you were driving down the yellow line, and you make lots of left curves, then google's distance will be shorter than yours.
__________________
|