Uber is rolling out the biggest changes yet to its mobile app since 2012, with machine learning driven predictions behind the redesign.
The app redesign has focused on greater personalisation, and that requires some extensive machine learning work on the back end. Unlike most mobile app companies, Uber doesn't measure success based on engagement levels but rather how quickly you can get through the booking process.
The new app starts by asking for your destination, including a number of predictions based on your habits and your current location. For example if you are at the office it will assume you want to go home, or if it is 'Thirsty Thursday', your favourite pub. You can also integrate your calendar with the app so it knows when and where your meetings and appointments are.
In addition, Uber is using machine learning algorithms layered on top of their historic trip data to make more accurate estimated time of arrival (ETA) information, taking into account traffic patterns, for example.
How did Uber do it?
Head of machine learning at Uber, Danny Lange, was a general manager at Amazon's machine learning team for AWS before joining Uber in November 2015. The Danish-educated computer science PhD is leading a team at Uber that wants to get machine learning capabilities into all three of Uber's core products: the rider and driver apps, maps and autonomous vehicles.
Lange says that his team ensures that machine learning capabilities are available to its team of developers in the same way "database or compute power" would be. "We have really had machine learning for a while but it is something that can be really hard for software engineers to get. So we have created machine learning-as-a-service inside the company as a cloud service."
It is too early at this stage to say how much of an effect these changes to the core mobile app have had on ETA times, but Lange has already seen a significant improvement in estimated delivery times by bringing more data and algorithms into the Uber Eats food delivery side of the business.
"Initially, Uber Eats was hard wired with estimated times of delivery on distance and average speed and some time for cooking," Lange said. "Once we had 10,000 deliveries we were able to use the data to build the model that would predict the delivery time based on past experience. We saw a 26 percent uplift in accuracy from that. This was weeks not years of effort."
Now, Lange and his team have pre-packaged this capability for the core mobile development team. He says: "You take past data, run it through the API for the model, so the developer calls that. Rather than having a bunch of data scientists embedding machine learning into the app, we have that as a service."
Uber is also using data from the two billion logged trips it has to 'learn' where good pickup spots are. Lange explained: "We have machine learning algorithms which sift through the data and understand where we have the fewest problems picking up a customer. It learns from the friction of a pickup. So, you can measure the time it takes from a vehicle arriving to the person starting the trip."
The new app will be rolling out globally over the next several weeks.
Uber is currently looking for deep learning specialists to work out of its machine learning group based in Seattle on its computer vision and autonomous vehicle projects. All inquiries can be made direct to Danny at [email protected] or uber.com/jobs.