Restaurant Wait Time Estimation Algorithm​: Proposal

 Restaurant Wait Time Estimation Algorithm​
: Proposal ESE 499: Capstone Design Project Erandy Vennet Segovia Systems Science and Engineering Major [email protected] (760)331­8779 Anuj Rudresh Patel Systems Science and Engineering Major [email protected] (574) 485­6941 Zachary William Lonneman Systems Science and Engineering Major [email protected] (513)600­7086 Project Advisor Dr. Benjamin Hartlage Adjunct Professor at Washington University in St. Louis [email protected] (210)542­7621 Background Through an analysis of our personal customer service experiences, we found that restaurant wait times are issues for customers and business owners that must be improved. A restaurant’s success is based largely on its ability to provide its customers a great experience. Thus, making a customer wait more time than the estimate given to them can negatively affect the customer’s satisfaction and probability of return. However, estimates at restaurants today are done by servers or hosts and are many times inaccurate and unreliable. To address this, we want to create an algorithm that is able to more precisely estimate a customer’s wait time for any given restaurant. This project focuses on analyzing the wait­time process and finding a better way to estimate wait­times so that customers will not be left unsatisfied. It is important to address this issue because several businesses are losing out on profits by not finding a way to improve upon its queueing system or not taking wait­time estimates into consideration. We would like to help these businesses avoid situations in which a customer is left unsatisfied with wait time experiences by providing them with means to give their customers better information regarding their wait. By solving this problem, we hope to prove that there will be greater profits to business owners when waiting times are more accurately measured, and reduced. Through the analysis of our data, we will also provide a model that helps to improve the overall system of getting people through a queue. Objectives For most restaurants, wait times are approximated by how many tables are currently taken compared to the number of servers available. Our aim is to account for the forgotten or ignored variables. These variables include information specific to every single table in the restaurant such as the type of food ordered by the table, the amount of food ordered at a table, whether the customers are with family on a date or just simply hungry looking for a quick meal. Because these tasks cannot be quickly done by humans, an algorithm that performs these calculations presents restaurants with the possibility to optimize the accuracy of wait times. But this algorithm can also provide additional data and benefits to the restaurant such as efficient allocation of their servers. Our first objective will be to create a simulated restaurant. We will create this environment by adding random variables within given limits. We will create a test environment with a given number of tables, and servers, and semi­random influx of customers. The environment will consist of a varied menu with items that range in preparation times, and a semi­random order rate, i.e. a popular deep dish pizza being ordered more often than pasta. We will need to approximate variables such as the amount of time customers stay after they have finished their meals. Doing so, we will observe wait time patterns and be able to pick out instances that need to be treated with specific approaches. After creating our simulated system we will gather information from local restaurants, specifically restaurants found on the loop that generally have wait times such as Pi, Salt and Smoke, and Blueberry Hill, in order to help create more realistic environments. The information we will be looking for are details such as number of tables available, number servers available during wait time periods, number of tables allotted to each server, cook times for each meal, we will need to find the difference in the average dining time of different groups such as a family meal versus a date. Other details we might want to account for will be possible mannerisms, if we can spot whether a group is looking for a quick meal or looking to relax and enjoy their company, then we will be able to create a more accurate model. Once we have accrued all of the needed data and made our comparisons we will then make the necessary changes to our system. We will then compile all of the different variables we gathered to compose a method with which everything is factored together to find the most accurate wait times. Methods To obtain accurate wait times for restaurants, we will need an algorithm that will take all the environment variables as inputs and will, for any point in time, provide wait times for all parties queued up for a meal at the establishment. Our algorithm will be designed to factor in as many potential variables that affect a customer’s wait time as possible. This design step will be performed through the creation of a detailed algorithm description and a written pseudocode. After the conception of our algorithm, we must successfully implement it. To do so, we need a proper testing environment and a language that is compatible with this environment. Our preliminary thoughts are to use LabView as our testing environment since it will allow us to visually model each table and has adequate timing capabilities. The language in which we want our algorithm to be written/implemented in is Matlab since all members of our team are very familiar with it and it is compatible with LabView. We will then translate our algorithm/pseudocode to a Matlab (and LabView compatible) format. Having prepared the algorithm and testing environment, we will be using two different types of models to represent our restaurant systems. In the first group of models, the variables that influence the estimation of wait times will be deterministic. In other words, we should expect the wait estimates calculated for these models to match perfectly with the actual customer wait time. In the second group of models, we will introduce some small statistical uncertainty to study how big of an effect this has on our algorithm. Thus, actual and estimated wait times will not be equal but, if the developed algorithm is accurate, these values be close. We would at this point revisit our algorithm and attempt to minimize the effects of the added uncertainty. Timeline January 26​
: Begin creating model restaurant for preliminary testing and observations. Concurrently, begin creation of algorithm. January 31​
: Contact restaurants to acquire data about layout, servers, wait patterns, etc. (Salt & Smoke, Pi, or more). February 14​
: Finish first attempt at creation and actual implementation of algorithm. February 15​
: Finish acquiring data to compare our simulation model with real times. Start going through and test several methods to find which method would produce most optimal solution. February 21​
: Finish discussing revisions to algorithm and begin implementing changes. March 21​
: Add statistical uncertainty to model to emulate real dining experiences and make changes to algorithm if necessary. April 1​
: After finishing revisions to algorithm, analyze implications of algorithm results by comparing algorithm estimates to restaurant server estimates. April 8​
: Begin putting together all findings—begin write up of final presentation and final paper.