I usually avoid catching Taxis whenever possible, but when I arrived in SFO last week the trains were no longer running and I hadn’t arranged for a shuttle, so I ended up waiting in line to catch a Taxi. The line was structured something like this:
- There was a loading area about four cars long where Taxis were loading passengers
- Would-be passengers waited in line along the curb to the left, waiting for a Taxi
- Likewise, taxis waited in line for passengers on the other side of the curb
- As people loaded into Taxis and departed, each line advanced to the right, matching the front of the Taxi line with the front of the passenger line
- An airport employee stood stood near the front of the line, shepherding people and cabs around to enforce this flow
Of course, this felt like an extremely inefficient system; I was waiting next to a cab which was waiting for a passenger; had we been allowed, I would have just jumped in the cab next to me and we both would have been happier. However, since the line of people was denser than the Taxi line, I would have been cutting in front of other people in line.
In college I took a couple classes where we learned about queuing algorithms and the standard trade-offs involved. On the ride back I thought about how they applied to the Taxi-loading situation here:
- Throughput: how many passengers per hour could the system match to Taxis? This was not being optimized for, or I could have gotten into the Taxi beside me.
- Fairness: this was pretty clearly what was being optimized for–both the Taxi line and the passenger line were being processed in First-In-First-Out (FIFO) ordering.
- Average wait time: I don’t think wait time was being taken into account, especially since passengers with less luggage (and therefore faster loading) would have been given priority over passengers with many bags.
A couple other issues were specific to this situation:
- The matching process should not involve an inordinate amount of walking by prospective passengers (a passenger should never have to walk the entire length of the Taxi queue to find a cab)
- If cabs frequently have to pass other cabs to advance to the head of the queue, it increases the odds of an accident (or of getting run over, if you are loading your bags into the trunk.)
I’d like to think that a better system exists (“there has to be a better way!”), even if it sacrifices some amount of fairness, since clearly this system would scale poorly if the airport was busier.
If anyone knows of airports/malls/etc that do a better job, I’d be interested in knowing how they manage it. I didn’t waste an enormous amount of time in line (~10 minutes), but if the line is on average 50 people long, that’s actually a huge amount of time being squandered over the course of a year.