Regarding mileage based fares, how would this work in the traditional London Zones 1 to 6, and the 7 PTE areas, as they all (unsure about Tyne & Wear PTE) have a zonal system?
I don't know about any of the PTE areas, but, to my mind, the zonal system in London is nuts, and replacing it with a distance-based system would make far more sense.
Right now, if you're at Richmond, off-peak, you can go along the entire North London line to Stratford AND then take the central line to Hainault, all for £1.50. On the other hand, if you just want to go one stop to Kew Gardens, it's
the same price! Back to the Richmond-Hainault journey: If you decide to go through zone 1 instead (similar mileage), the off-peak fare jumps from £1.50 to either £2.80 or to £4.40, depending which route you go. And there's a separate £2.30 fare (again for the same journey) if you instead go via the Overground round South London. Confusing or what?
On the other hand, if you live in Slade Green and want to go 1 stop to the shops in Erith, it's off-peak £1.90 - more than it costs to from one side of London to the other in my earlier example. Often the fare simply bears no relation to how far you're going.
Back in the mists of the time, this made some sense. The Internet was less widespread so looking up individual Oyster fares online would've been harder. And the zonal system meant you could easily tell from the map how much any journey would cost - a pretty big benefit. But then National Rail came into Oyster Pay as You Go - but with a
different set of fares. Then TfL took over some lines and Oyster got extended outside London in some places, and now there so many special rules for individual stations and individual lines that the simplicity has disappeared. Despite the zonal system, if you want to find out how much a journey is going to cost, I find the easiest way is just to look up that individual journey online. And - worse - it's in part
because of the zonal system, that when you do look it up online, instead of one fare, there's a good chance you'll see a whole series of different fares depending on which route you take, that you'll then have to try to understand if you want to know the fare you'll pay. Like I said, it's nuts.
On the other hand, if the system was based on mileage, the user experience wouldn't be too much much different - you'd still find out the fares by checking online for a journey, but the actual fare for any given journey would make much more sense in terms of how far you're going. Having Oyster touch-in and touch-out could still work exactly the same way. And maybe there'd be fewer different fares for the same journey (although I can see you might still want to charge a premium for going into zone 1 because most services are so crowded there, which would leave a bit of complexity in that regard).
Possibly, if a mileage-based system meant fares became lower for people going 1 or 2 stops in outer London, it'd mean more people would use trains and tube for those kinds of journeys too - which might actually help balance loading - many trains are packed out in central London but very lightly used once they get out to zones 5-6, so attracting more people to make short journeys on them there would be quite nice for keeping trains well used throughout their journeys.