I think it has to do with individual bikes/tires combination. I put a speedohealer on my ST and kept tweaking it. The calculations did not work out too well for me, because until I got the unit figured out, I was entering correction factors like 30% instead of 3%. Trial and error got mine dialed in,by which time I had the speedohealer figured out and was entering the correct numbers. In a 100 mile run on the interstate, my odo reads .3 mile high compared to the mile markers and gps (both are in agreement), and this was very nearly the same for 1000 mile round trip ride to a rally, including gas stops, restaurant stops, etc. My speedo is reading about 2 mph high at 70 to 75 mph as indicated on the gps.US ST speedo's are typically off 7-8%, but the odometers are supposedly accurate. Thank the lawyers for that. Police speedo's are supposedly spot on. If you correct the speedo with a Speedhealer, the odometer will be off by 7-8%. Choose your poison. Personally, I'd use the GPS for speed and the odometer for mileage.
Before I started my estimated speedo error was around 7% high and the odo was around 3% high. These were estimated numbers - not really accurate measurements because once I discovered how wrong the speedo was, I decided to get the speedohealer and go for perfect mileage and let the speedo fall where it may.
I've noticed that the gps reacts faster sometimes to changes in speed than the speedometer, and that reading that 2mph difference is difficult sometimes. This difference seems to be the width of the hash marks at the 50, 60, 70 mph speeds, and is not easy to discern with a quick glance. Also, there is the needle's lag in showing mph changes.