You're searching for an Uber or Lyft on the respective ride-hailing app and you see a car icon crawling nearby ... but even though it's temptingly close, that doesn't mean you'll be matched with that car.

Uber uses "batch matching" to connect riders with drivers. That means Uber doesn't just find the closest ride to you; instead, the ride-hailing company takes into account the most optimized ride for everyone around you.

OK, but what does that mean? If you've ever requested the shared carpool ride that Uber calls Pool or Express Pool, you're familiar with the one- to two-minute waiting period during which Uber's matching algorithm is optimizing across the whole, not just the individual ride request. That's how they determine the best matching for the whole group of people — Pool or not — requesting rides at that same time, or the "batch" of riders requesting rides.

Uber drivers give 17 million trips per day across the world. That's a lot of people to manage transportation for. So even if there's a car technically only two minutes away, you may get matched with a ride four minutes away. But someone else gets only a five-minute wait instead of a nine-minute wait, because of your two-minute sacrifice. You don't see it, but it all evens out, and if you ride Uber enough, your waiting time averages out.

Back to the booking screen in the Uber app, those car graphics driving around are a simplified snapshot of driver availability, since it would get chaotic to show every real-time driver on the app. Even though it's not an exact representation of the road, it shows batch matching in action — just because a driver is literally driving by doesn't mean you'll be paired with them.

All those cars, but no one to pick you up! Image: screengrab / uber app Just a few of all the Lyft drivers available... Image: screengrab / lyft app

When Uber first started as a black car service, and later with its UberX rides, matching was based on the shortest distance between drivers and riders. Think of this as the "as-the-crow-flies" method. It then switched to an ETA (estimated time of arrival) method, with more of a focus on time than space. Basically, Uber would try to match you with the first available car that would take the least amount of time to reach you.

Then, back in November, Uber started talking more about its batching method, especially with options to lower the fare that pop up in the app, like waiting longer for a ride or walking further to a ride.

Uber's global average wait time for a ride is five minutes, and the company is eager to keep that stat going — both for impatient riders and for drivers who don't start earning until passengers are in the vehicle.

SEE ALSO: Uber tries to appease drivers with more app features

At Uber's smaller rival Lyft, it's a similar situation. The system takes in a number of variables, like your location, where the driver is headed, traffic, if it's a shared ride, and more, to connect drivers and riders with the shortest possible ETA. The overall goal is shorter wait times. Again, your theoretical two-minute wait might become four minutes to cut back someone else's wait time in this holistic approach.

Also like Uber, the vehicles on the app map are real, but only a subset of the real number of drivers on the road working for the service. So don't get frustrated that the car that looks like it's RIGHT there doesn't pick you up.

Lyft won't match you again with any driver you've previously given less than three stars. So if somehow that driver was the closest driver to you, the algorithm would find someone else to pick you up. And neither Uber or Lyft take your passenger rating into account while booking rides. So, while you might feel like your lowly 4.72 stars are getting you eight-minute waits, it's not you. It's the system.