Since its founding a mere 11 years ago, Uber has already revolutionized the world of transportation as we know it. But it also has the potential to step change how enterprise artificial intelligence is done. Uber adopted widespread machine learning in 2015, when it was still a startup in its innovative prime, allowing it to completely transform itself into a truly AI centric company. And unlike other Tech giants such as Microsoft, Amazon, Google, or even Facebook, Uber reached AI at scale within 3 years of adoption, making it one of only a handful of companies to have successfully executed a machine learning strategy at scale within a very short period of time (another potential example of that being Airbnb).
To start off, Uber’s entire value proposition has artificial intelligence at its core. Each of its main product offerings heavily relies on machine learning. Its ride sharing service uses AI when it comes to ETA predictions, customer support prioritization, one-click chat for drivers, destination prediction or traffic forecasting, just to name a few. Uber Eats uses machine learning to rank restaurants by user preference or estimate delivery times. And AI is also core to Uber’s cutting edge technologies such as its self-driving cars. The value created for the customer is enormous, as all these machine learning capabilities enhance the customer experience, and continuously improve as usage increases.
However, beyond its product offering, there are two other areas where Uber is creating tremendous value for the enterprise AI community at large. As mentioned above, Uber reached massive scale with its AI applications within three years. As of 2017, Uber had 75 million riders and 3 million drivers, 4 billion trips completed worldwide, was operating in 65 countries and 600+ cities, and was doing 15 million trips daily. In order to accomplish this AI feat, it made tremendous strides in two areas that are critical to scaled enterprise adoption of AI.
Firstly, on the technology side, it created a machine learning platform infrastructure. Uber’s proprietary platform is called Michelangelo, and it covers the major machine learning workflow steps. The goal is for engineers and scientists across the company to quickly and easily build and deploy machine learning solutions at scale. While most companies use machine learning models on a one off use case basis and need to custom build or outsource surrounding software infrastructure, Uber has formalized this process end to end with Michelangelo. The Michelangelo platform covers: (1) the data gathering and preparation process, where it connects to various data lakes, pushes that data through custom pipelines to engineer relevant features, and saves those features in data feature stores; (2) model training, where it can use the features to train a wide selection of different machine leaning models and track the performance of each model; (3) model evaluation, where it produces reports by model type on the key performance metrics and compares across different models to select the best one; (4) deployment and prediction, both online using data that a customer enters as they request an Uber or order on Uber Eats (e.g. time of order, location of customer), and offline with slightly stale data that is used to calculate less time sensitive parameters (e.g. a restaurants’ average delivery time over the past 2 weeks). The reason Michelangelo is so impressive is because it not only clearly lays out a technical solution for executing each step of the machine learning workflow, but is also designed in a way that facilitates fast and easy scaling.
The second contribution Uber made to the enterprise AI world is organizational in nature. In order to operate machine learning at scale, Uber defined both how a machine learning first organization should be structured and what organizational processes should be in place. From a structure perspective, Uber has an AI research group that focuses on cutting edge academic research. This group feeds into a specialist team, which contain specialists in machine learning domains such as NLP, computer vision, recommender systems or forecasting. There is a separate team focused on the machine learning infrastructure and maintaining the Michelangelo platform. And all three teams contribute into the product teams, which are ultimately responsible for the various product offerings at Uber. Additionally, Uber established a process for machine learning applications, addressing issues such as who should own the launch of ML models, or how trade-offs between teams should be managed (e.g. a product team trying to find a quick and dirty solution to push a product, vs. the Michelangelo team trying to maintain a repeatable and scalable process). Uber also demonstrates how to enable a vibrant community of AI practitioners and how to continuously keep teams up to date on the latest machine learning developments. These processes are invaluable for other companies as they begin thinking about deploying machine learning at scale.
In a nutshell, Uber has created tremendous product value with AI, but also broadened its value creation beyond simply its product offering into establishing a new standard for technology infrastructure and organizational structure / processes to enable swift scaling of enterprise machine learning applications.