your speedo is designed to under read your actual speed, it only has to be with in either 7 or 10%, i cant remember. this is to allow you to never be speeding because of your vehicle. in other words, LR would rather it underread than over read, think of the legal crap if you were clocked at 78mph when your speedo was saying 70.
bla bla you get the drift.
coming from an IT background, i would swear your GPS is correct, i use my road angle insted of my speedo.
just remember, if it looses signal, from trees/urban forrests then it will miss read. also it is only an average speed over usually one second. so if your acellerating then if will display a speed slower than you are traveling, and if you are breaking it will show a speed faster than you are traveling.
also, the faster you travel, the more acurate it is.
basicly trust in on duel carrageways, and motorways, but keep to your speedo around town, afterall, those few MPH your missing in 30's could save a kid.