Presentation link: https://docs.google.com/presentation/d/1tdoZ9_-9mCf3V7KWDZEWeO5lKrDrtxaBLxm0OM5qo-g/edit?usp=sharing
For a work related to artificial intelligence or machine learning, I looked into Uber’s artificial intelligence and machine learning system: Michelangelo.
Uber is a company that supports 75 million riders and 3 million drivers, that has completed 4 billion trips by the end of 2017, which is about 15 million trips per day on average. Without a complete machine learning system, Uber’s server cannot offer us sufficient services as they are providing now.
Michelangelo has been employed to various fields in Uber, including ETA (estimated time of arrival), Uber Eats, forecasting the supplies and demands in markets, Uber Maps, One-Click chat which predicts the conversation the driver is going to make with the riders and many more. It manages data, train and employs models and make predictions. Michelangelo enables scientists to easily deploy machine learning solutions and therefore increases productivity.
I’d like to further illustrate the use of Michelangelo in UberEATS.
Its ability In machine learning is mainly put in use on calculating the delivery time. Time calculation isn’t a simple task. When the user places an order on UberEATS, the restaurant needs to take the order first and then starts to prepare, meanwhile, an estimated time is calculated to locate and inform the most suitable delivery-partner to head over the restaurant, find parking, walk inside to get food, get back to the car and deliver the meal to the customer. Machine learning is supposed to estimate the total time for this multi-stage process as well as continually performing recalculation as the stages are being completed. Features for the model here includes the information of the order, including the time of the day, location… and the restaurant’s recent preparation time (usually recent two weeks). Through deploying these figures into models, Michelangelo is able to predict the delivery time for thousands of customers within a short time.
Apart from the ETD (estimated time of delivery) in UberEATS, the ranking system inside this app is also supported by large amounts of data and the artificial intelligence that utilizes these data for MOO (Multi-Objective Optimization). In the past, the ranking is only based on the eater, for example, what categories he/she usually looks into and frequently orders from. Today, the new model takes the restaurant into consideration as well. If a customer is more likely to order from some restaurants than others, the conversion rate (how likely the eater is going to order) increases but the marketplace fairness decreases, since most new restaurants are not likely to pop-up on the recommendation page. Similarly, if we ensure the fairness for each restaurant, the customers’ conversion rates would fall.
Another trade-off is between the relevance and diversion, continually recommending the user with only the restaurants containing his/her favorite food may prevent the eater from trying out new options and it can be hard for them to find a great restaurant when they want something new. Balancing the two trade-offs aforementioned is the goal of the AI system in UberEATS, it aims to build a unified framework that ranks within and then across the carousels, and therefore build a triplet model for eater, store and the sources which are the categories including “popular”, “near you”, “new”, etc.
This video demonstrates how Uber Eats help to grow the restaurants’ business.