You're also assuming that your tyre diameter doesn't change over time, which it does as your tyres wear.

So if you have brand new tyres with 8mm tread, your speedo will read lower than if you have fully worn tyres at 2mm. More reliable are GPS readings of current speed.
Wheel circumeference = ((225 * 0.45 * 2) + (17 * 25.4)) * pi() = 1992.712mm
Speed per 1000rpm per gear.
1000000 mm/km
1.609 km /mile
60 min/hr
1st 1992.712 * (1000 * 60) / 1000000 / 1.609 / 12.919905 = 5.751 MPH / 1000 RPM
2nd 1992.712 * (1000 * 60) / 1000000 / 1.609 / 6.691545 = 11.105 MPH / 1000 RPM
3rd 1992.712 * (1000 * 60) / 1000000 / 1.609 / 4.31649 = 17.215 MPH / 1000 RPM
4th 1992.712 * (1000 * 60) / 1000000 / 1.609 / 3.202875 = 23.201 MPH / 1000 RPM
5th 1992.712 * (1000 * 60) / 1000000 / 1.609 / 2.552445 = 29.113 MPH / 1000 RPM
6th 1992.712 * (1000 * 60) / 1000000 / 1.609 / 2.145105 = 34.641 MPH / 1000 RPM
Vehicle speed at 2000rpm Tacho (ACTUAL by gearing) vs Speedo (CONNED)
2nd 22MPH 24MPH
3rd 34MPH 36MPH
4th 46MPH 48MPH
5th 58MPH 60MPH
Wheel circumeference = ((225 * 0.45 * 2) + (17 * 25.4) - 12) * pi() = 1955.013 mm
[8mm tread down to 2mm tread = 6mm from radius or 12mm from diameter]
Speed per 1000rpm per gear.
1000000 mm/km
1.609 km /mile
60 min/hr
1st 1955.013 * (1000 * 60) / 1000000 / 1.609 / 12.919905 = 5.643 MPH / 1000 RPM
2nd 1955.013 * (1000 * 60) / 1000000 / 1.609 / 6.691545 = 10.894 MPH / 1000 RPM
3rd 1955.013 * (1000 * 60) / 1000000 / 1.609 / 4.31649 = 16.889 MPH / 1000 RPM
4th 1955.013 * (1000 * 60) / 1000000 / 1.609 / 3.202875 = 22.762 MPH / 1000 RPM
5th 1955.013 * (1000 * 60) / 1000000 / 1.609 / 2.552445 = 28.562 MPH / 1000 RPM
6th 1955.013 * (1000 * 60) / 1000000 / 1.609 / 2.145105 = 33.986 MPH / 1000 RPM
Vehicle speed at 2000rpm Tacho (ACTUAL by gearing) vs Speedo (CONNED)
2nd 22MPH 24MPH
3rd 34MPH 36MPH
4th 45MPH 48MPH
5th 57MPH 60MPH
Yes you are right...my error would change from 2 MPH to 2-3 MPH
