Yield optimization vs customer service

Whenever we try to squeeze the last bit of utilization out of a system, there is a danger that it will have a big negative impact on the user experience. A great example of this is overbooking in the airline industry. Usually a bad customer experience does not involve getting beaten and dragged from an aircraft, but avoiding over-optimization definitely provides better service.

An example is a recent experience I had with a hotel. I flew to Shanghai to work with a customer, taking a morning flight and arriving at their office in the early afternoon. We got right to work with product design meetings. We went to dinner, then then they dropped me off at my hotel, arriving at 8:10 PM.

When I checked in, the lady working the front desk informed me that they had canceled my reservation at 8 PM. She was not exactly rude, but had clearly had the same conversation multiple times. She had no ability to help me and was tired of this situation.

My customer had booked the room from a portal website, and there was no indication about check in time. In this case, we were completely flexible. The hotel could have contacted us before the reservation expired, and we would have checked in before dinner. They had no contact information for us, though, and no mechanism to do it via the portal.

So now I had to find another room. We went back to the portal, and found the same hotel showing rooms available. Just for fun, we booked a room, then told the staff. She said it doesn't work like that. In fact, after someone makes a booking on line, the portal notifies the hotel, and they accept or reject the booking. There is no real-time information about whether rooms are available. Most hotels sell their rooms through multiple channels, so it's common for them to be double booked. They don't update the room status on the portals in real time. The staff is used to having unhappy customers, but it's out of their hands.

China has some interesting rules about hotel prices. It's illegal to charge more for a room during peak periods, so what they do is give variable discounts. Generally speaking, if you contact a hotel directly, they have a lower discount than going through a portal. The staff in the hotel has no incentive to match an online price, especially when they are sold out. I have had hotels cancel my booking because they can get more money for the room from a new customer.

There was a big trade show going on, so it was hard to find a room. It took about an hour of calling around before we found one. This wasn't a crisis for me, but imagine someone who didn't know Chinese, landing after a long international flight for the first time in a new city, with no local support structure. What if I missed my checkin because my flight was delayed, and I had no way to communicate? Not a great experience. This kind of optimization represents a small short-term improvement for the hotel, but a huge problem for the customer. It is classic short term thinking.

In the past, hotel bookings were controlled by the hotel itself. If they didn't sell all their inventory, then that was just the way it was. Now with the portals, it's attractive to optimize yields, trying to sell every last space for whatever price possible. In order to maximize further, they overbook, expecting a certain percentage of cancellations and no-shows.

Doing better

We need to optimize intelligently to mitigate the effects on user experience.

Automation breeds inflexibility

Systems based on people and paper have the ability to deal with problems. Automated systems only behave in one way, and customer service staff can't fix them. With paper, we could put a sticky note on a form, e.g. saying that a customer called to say they will arrive late. Adding a "notes" field to your database for customers, orders, and suppliers can provide great flexibility and value.

Optimized systems may separate the decisions from the information needed to make them. When there are communications problems, it can cause the process to fail. Give your people authority to solve problems. Robots should not boss people around.

Stressing your system

Pushing for the last bit of utilization puts stress on your system, exposing weaknesses. You have to think of every contingency, and execution has to be perfect. If the hotel always has an extra room in the basement that it doesn't use, then it can solve all kinds of problems.

Sometimes it's just math. An example from queuing theory: suppose we have a bank with tellers who can serve a customer in five minutes, and customers arrive every five minutes. With no variation, there is no waiting. In practice, even a 5% variation will cause the queue to blow up at random times. Adding a little extra capacity makes the queue go away forever.

Optimization can cause catastrophic failure. The supply chain management trend to minimize inventory that most stores have little or no stock, they get replenished frequently. If there is a problem with the transportation network, we will all have no food. What is your backup plan? How will your business work if the internet goes down? Design your system to be resilient to failures.


Get as much context as possible and use it to inform your decisions. Get the customer's flight information, and you know when they will arrive. Track the flight, and you know when it is delayed, and you can hold their room for them. If they are a frequent guest, then you can be pretty sure that they will show up. Treat it as a long term relationship.

When you are going through an intermediary, learn as much about the customer as you can. Get their communication details. Sell direct. When you work through partners, they control the customer. You become a commodity. Sites like booking.com control a huge percentage of hotel bookings, often over 75%. They also have a better user experience than the average hotel website. The customer has a better selection, better pricing, and they can store their credit card details to make bookings easier. It's one thing to pay a commission to be discovered the first time, but hotels lose the same commission when the customer comes back again. Make the direct, long term experience better than that of the intermediaries.