Please enable Javascript
Skip to main content

How does Uber match riders with drivers?

When you’re on the move, every moment matters. We use technology to match riders and drivers in the real world—quickly and reliably.

Better matching matters

Matching riders and drivers more efficiently results in lower wait times for riders and more business for drivers. Initially, we matched users by asking, "Who’s closest?" But we learned that closest doesn’t always mean quickest. Traffic, overpasses, rivers, and other geographical factors add complexity. Over time, we’ve made our matching technology more aware of these real-world factors to create a seamless pickup experience for both riders and drivers.

What’s so complicated about matching?

At any given moment, millions of people around the world are logged on to our app, with new people logging on every second. That means millions of possible matches between riders and drivers. Throw in real-world factors like traffic jams, and the task of matching riders and drivers becomes more complex.

How batched matching works

In the seconds after a rider requests a ride, we evaluate nearby drivers and riders in one batch. We then pair riders and drivers in the distribution, aiming to reduce the average wait time for everyone, not just the closest pair. This helps keep things moving and rides reliable across the network.

First to request

In the early days, a rider was immediately matched with the closest available driver. It worked well for most riders but sometimes led to long wait times for others. Across a whole city, those longer wait times really added up.

Batched matching

But if we wait just a few seconds after a request, it can make a big difference. It’s enough time for a batch of potential rider-driver matches to accumulate. The result is better matches, and everyone’s collective wait time is shorter.

Optimizing everyone’s time

Riders don’t like waiting. Drivers earn more when there is less down time between rides. Our matching technology is designed to help everyone, reducing wait times and maximizing earning time. In fact, every day it saves 10 years of people’s time.

Constantly improving

Matching is a core part of what makes Uber work, and we’re constantly looking for ways to make our matching algorithm better for drivers, riders, and cities. One way is to provide drivers with the choice to receive trips toward a destination they set in advance (e.g., their home or work). Uber may also modify pairings of drivers and riders in certain instances to help maintain a safe platform; for example, we prevent matches if one has given the other a one-star rating in the past.

Some of the features described on this page do not apply or are not available in California and in markets outside of the US. As we work to improve the marketplace, we may test functionality and pricing in ways not described on this page.