October 14, 2021 5 min read
OpenTable and similar tools have made it significantly easier for users to make restaurant reservations, and for restaurants to manage those reservations. Using machine learning, these tools can offer another level of functionality to both the restaurant and the consumer that could further transform the dining out experience.
As always, it’s important to start with the data that is available to OpenTable. Among other things, OpenTable has survey data from users about their dietary preferences, as well as all of their past booking history, and any reviews or ratings they have provided after dining. On the restaurant side, OpenTable maintains a database of cuisine style, location, price point, reviews, parking information, a description of the restaurant, payment options, dress code, the menu, reservation availability, and much more.
Before moving on to some possible machine learning powered features that could make use of this data, it’s worth noting something emblematic about the opportunities available to OpenTable. Prior to OpenTable and other similar products, restaurant and reservation data was far more diffuse, and so near-impossible or extremely expensive to gather in any sort of meaningful way. Not too long ago there wasn’t a centralized database of restaurants and their menus or prices or cuisine type, for example, and there certainly wasn’t a single place with as much data about the daily reservations of diners across thousands of different restaurants. But the explosion of innovation and growth in the tech sector has given rise to such tools, which, in turn, are exceptional launching pads for the next generation of technology.
In OpenTable’s case, users are already provided with recommended restaurants for booking, which could be based, in part, on machine learning technology that is evaluating users’ past booking behavior, ratings, and that of millions of other users. Because OpenTable also includes a feature to add your friends to your reservation, a possible extension of this feature might be to evaluate both the user’s experience and ratings, as well as that of the friends who attended, in order to predict restaurants that a user may enjoy going to with a particular friend in the future (as well as ones to avoid).
Machine learning might also be especially valuable in the context of reservation management on the restaurant side. Obviously a big pain for restaurants is dealing with late-arriving guests to a reservation and/or those that miss their reservation entirely. The ease of managing one’s reservations within the OpenTable platform likely cuts down on a lot of this already, but undoubtedly there are still many instances each day when a restaurant is losing precious space to a table being held for diners that never arrive, or that arrive very late. With machine learning, OpenTable could provide predictions to restaurants about the likelihood of a diner arriving late or no-showing entirely, based upon their past dining experiences and other factors.
Unlike a strictly rules-based system which might simply flag a diner whenever he/she has missed a prior reservation, a machine learning system can be much smarter and improve the chances that the restaurant doesn’t give a table away too soon or too late. Machine learning models can be trained to pick up on subtleties about a diner’s prior behavior and profile that a simple rules based system would likely overlook. For example, perhaps a user is much more likely to be late to a reservation when they’ve reserved a table for four, the price point is moderate, and the location is 10 miles or farther away from their home. The number of variable and variable-combinations that might impact someone’s likelihood to be late or miss a reservation are likely too large to try and account for them all ahead of time. But this is precisely the type of situation machine learning is best suited for. It can consider all of these variables and make a prediction for each diner and reservation.
While this may be a good example of a system where machine learning can offer a lot of value, it also raises another common question whenever operationalizing a machine learning system: what is the cost of an error? Whereas we can imagine and quantify the benefit to a restaurant were it to have fewer empty tables throughout the day, what happens when the prediction is wrong? When it wrongly predicts someone will be on time for his/her reservation, the restaurant is presumably in the same place it was before implementing the system-- no better, no worse. The table is empty, which is frustrating, but it would’ve been empty in the absence of our machine learning solution.
Conversely, when the system wrongly predicts that a diner will miss their reservation, there is clearly a cost. A diner has arrived for a reservation on time, and they may not have a table available to them at that time. In order to evaluate whether the benefit of such a system outweighs that cost, restaurants would need to know a few more things. First, OpenTable would have to know its typical success rate on predictions. This should be straightforward as restaurants already indicate to OpenTable when a diner does or does not show up for a reservation made through the app. Presumably a restaurant could roughly calculate how much additional revenue is earned (or lost revenue avoided) by eliminating that percentage of missed reservations that can otherwise be filled by waiting patrons.
Second, each restaurant would have to calculate the cost of these errors for their unique business. Do you suffer a bad review which hurts your business significantly? Do your diners happily sit at the bar, spending money while they wait for the next available table? Do you provide them with a discount on their bill once they’re seated? Obviously, these are questions that are specific to a restaurant and community, and should be considered in order to fully understand the net benefit of such a machine learning system. Having a sense of how benefits will be calculated, and how costs will be valued- with attention to the cost of an error- is key to deciding whether or not to adopt a machine learning solution.