Back

 Industry News Details

 
How data and machine learning are 'part of Uber's DNA' Posted on : Oct 22 - 2016

A year ago, Danny Lange took over as the head of machine learning at Uber. The ride-sharing company, which launched in 2009, is, essentially, a tech company: It operates entirely through an app. Lange manages a team in San Francisco, and Uber has a smaller team in Seattle. And machine learning has become the underlying foundation for every part of the company.

"Machine learning and AI technologies can really solve some very fundamental business problems that are really hard to create hardwired solutions to," said Lange. Here's TechRepublic's conversation with Lange about how Uber uses machine learning to operate.

How is Uber's approach to machine learning unique?

The traditional approach has been to hire some PhDs, data scientists—everybody's on their own, team by team. We wanted to create machine learning as an internal service instead. It has a graphical use interface; it has APIs. Every team in the company can use this service, just like they can use data services and computing services. Machine learning is just another tool in the toolbox for the profile teams, for the software engineers and the data scientists.

Machine learning has been in our DNA from the beginning. The nature of Uber is this idea of a two-sided marketplace where you have drivers on one side and riders on the other side. The essence of creating an efficient marketplace is really having a lot of these dynamic properties that benefit from machinery.

Machine learning has been there from the beginning, but what we're doing is to take it a notch up—to make sure that it's not just in one part, say, in marketplace management, but that it's in every part of the company. We have found over time that machine learning does add value in areas where people initially didn't think of machine learning as an option.

How does machine learning work in something like Uber Eats?

At the core of the user experience in a meal service is the time to delivery. You want to know approximately how long it will take for someone to deliver this meal to your doorstep or office.

Initially, that was basically thought about as a classical computation. The distance between you and the restaurant, and the average speed in your town, and then some average time to prepare the meal. That's the classical thinking. But we actually now have the data about how long it takes to make noodles, how long it takes to make a hamburger, and how long it takes to deliver it in different parts of town at different times of day. You can start building machine learning models that can give you a more accurate prediction based on the data, not on some finite computation.

When we ruled that out, we got an overnight improvement in accuracy of 26%. There's a very low friction, very low barrier for the team to say, "Hey, let's deploy more models here." If we know when the restaurant actually started the meal, we have more information. We can actually have a machine learning model that refines your estimated time of delivery even more. You can see how an application, in a short time span, goes from being a hardwired application to becoming a smart and dynamic application that benefits from knowing your behavior and from knowing other people's behavior.

What other ways can machine learning improve efficiency?

An important goal for us is to give you as accurate an ETA as possible. When you request a car and we tell you it's going to be 14 minutes or 12 minutes before it shows up, we want to make sure that that estimate is as precise as it can be. We gather information from millions of trips, because we know exactly how long it took for the car to come to you for each trip. We basically use data to build models that estimate the time it will typically take for the car to reach you at any given time of the day, any given time of the week. That is better than any attempt to compute the route and say, "It's going to take the car seven minutes to get to you." It learns from the experience.

We started improving the pickup experience by sometimes asking you to go to a nearby corner. You may order the car in a place where there are restrictions, or maybe it's really hard to stop there, but just 10 yards down is a much better pickup.

It's not like there's someone at Uber saying "We want to command you to get picked up on the corner." We basically gather the data from the pickup experience. We know when the driver is at the destination, we know when the driver clicks that the trip has started, things like that. And then the machine learning system will basically determine where people have low friction pickups, and learn from that.

It's a pretty remarkable thing, because you're talking about millions of pickup places across the country. Here you have to use machine learning to improve a very, very personal experience of walking 10 yards, having a perfect pickup.

What are the biggest challenges?

The biggest challenge is a very positive challenge, which is the opportunity to use machine learning to improve Uber's customer experiences. Also, being smart around force detection, basically detecting fraudulent behavior as it happens, so that we don't accept rides with a stolen credit card, as an example.

Then there's the whole task of improving maps. We want to make sure that when you request to be picked up in front of your house that we stop in front of your driveway and not the neighbor's driveway. This is a completely different machine learning problem, identifying where that stop off is exactly located, where the front door is. Then it goes onto the challenge of self-driving vehicles, which is also machine learning-based. There's no limit to the use of machine learning within Uber.

Does Uber use its own mapping system?

A lot of existing maps and map services are really good, but there is certain information on those maps that's not important to us, and then there's other information kind of missing from those maps—where they will say, "You are at your destination," but that's within a block of your destination. We need to know more details, so we basically need to enhance the maps for our purpose. View More