My Dodge Avenger was made in 1996, and the odometer is currently showing 270K miles, just to give you a sense of the age of the vehicle. I've been getting suspiciously high mileage for at least the last year or so. The mileage app I'm using (Fuelio, highly recommended) says my average mpg is 43, and one fill-up recently my mileage was over 51 mpg.
So I finally used the My Tracks app (which uses my phone's GPS) and compared its readings to my odometer. I did this several times, and it seems my odometer is consistently showing 1 mile for about every 0.61 actual miles I drive. For instance, on one trip my odometer showed 26.6 miles, and My Tracks said 16.2. At that ratio, my mileage is closer to 26 mpg, which sounds a lot more realistic for this car.
So what would be causing this odometer inaccuracy? Just about everything is stock, and I'm using the standard tire size.
I know this is a long shot, but any chance my odometer might actually be registering km instead of miles? The ratio is just about right (1 km = 0.62 mi). I have no idea why it would be doing that since it's a US vehicle. It's probably also relevant to mention it's a mechanical odometer, so it's not like I can press a button to switch between miles/km. I've done some googling, but I've only found one similar instance.