We need system-wide travel route optimization


My family and I had a harrowing experience attempting to get from Silicon Valley to Puerto Rico with “only” one overnight flight just before Christmas. It involved a broken plane, a lost connection, attempts to split the party, put us up an additional night in NY or route us through Mexico. But in particular it involved, and depended on the heroics of gate agents, 1-800 call center agents (and me, spending hours on the phone from airports) to get there with “only” a 12 hour delay.

I want to talk about those herocis. IMHO, whenever you have a repeatable business process – like routing 100’s of millions of travelers — whose successful completion requires heroics from anybody, something is very seriously broken. No problem with heroics if a volcano suddenly explodes, or the aliens are landing, but getting to a major US destination airport should not be one of them.

We need a better system, and here’s I think what it should be. Consider the problem:

  1. It’s a busy travel season (say, as in our case, just before Christmas) and so many flights are booked solid. Just using a different plane/flight when something goes wrong is not an option.
  2. A disruption occurs: bad weather leading to delays, mechanical problems of some airplane, whatever. It’s unpredictable where and when the disruption occurs, but it is certain that it will occur (and many others, too)
  3. The question is: how do we get all travelers to their destinations while optimizing some quality function? I would argue the quality function should be something like:
    • The faster you get a delayed passenger to their destination, the better.
    • It is better to delay a larger number of passengers by a small time each, than to delay a smaller number of passengers by a very long time. (Say 300 passangers by 20 min, than one passenger by 4 days)
    • While keeping costs down for the airline.

Currently, this optimization is done very badly. Basically, as an affected passenger, you try to get the attention and energy of an agent, and then you push them as hard as you can to get you something that improves your lot. This is very frustrating for the passenger, very stressful for the agent, and produces system-wide results that have no relationship to being system-wide efficient in any way, shape or form. It also rewards pushy people, and loses very young, old, frail and generally polite people.

So here’s what I’d do:

  • Sell half of the tickets on a plane as “guaranteed on this plane” and the other as “best-effort”. Of course, “best-effort” would be cheaper. (This would be a comprehensible way of charging different prices for the same seats, too, unlike what airlines do these days.)
  • If you have “best-effort”, you may be booted from your plane in order to create space for passengers from other connections that didn’t work out.
  • If you have “guaranteed”, you are certain to not be booted.
  • When a disruption occurs, the airline reassigns passengers not just from the affected flight, but system-wide. “Guaranteed” passengers are guaranteed seats, but everybody else gets distributed according to the system-wide quality function.

This is what I think would happen:

  • If my connection gets disrupted for some reason, I will get reassigned to some other flights, which are guaranteed to be as optimal as is possible. No heroics of me or agents required.
  • However, if I am a “best-effort” ticket holder, and even if my flights are not disrupted, I might get routed differently than I expected. I might arrive at my layover airport and find out that instead of going directly to my destination with a plane that’s perfectly on time, somebody else will get my seat on that plane, and I need to go by a different route, arriving 3 hours later. If I’m not willing to do that, I could have booked “guaranteed”. But because there is one quality function, I will know that my three hour delay is going to avoid that somebody else has to way for, say, three days instead.

Can it be done? Sure. If everybody has a smart phone, that’d certainly help, but then most people have one anyway. The bigger question is the scheduling system of the airlines, which I would fully expect to be something written for a 1960’s mainframe with patches ever since. So who knows whether it could actually be made to work.

But it would make travel a lot better…

,