Ever wondered how Uber sets its ride prices on-the-fly?
Imagine a city buzzing like a beehive, with riders and drivers moving like bees, and Uber trying to ensure every rider gets a ride without waiting too long, and at the right price.
Why is this such a big deal for Uber?
- Huge Scale: Uber operates in numerous cities worldwide, each with its unique geography, traffic patterns, and user behavior. Analyzing geospatial data at such a massive scale in real-time is inherently challenging.
- Dynamic Nature: The demand and supply of rides change constantly. Events, weather conditions, time of day, and even day of the week can drastically alter ride requests.
So, the question became, how do we partition the entire Earth’s surface into a large spatial dataset that can help Uber to precisely locate riders on time and provide best pricing.
Think of honeybees and their perfect hexagonal honeycombs. Just as bees efficiently store honey in these hexagons, Uber uses a similar hexagonal pattern to understand city movement.
To solve this problem, we would want to visualize the entire earth partitioned into multiple regions but what is the best way to do so?
We could use multiple shapes and build a grid system that optimises the mapping of riders and drivers. Further, price the ride based on the demand and supply within that region.
So, what shapes should we use to build this grid?
Conventional grid systems used squares or triangles but they introduce significant errors because they have two and three different distances between their centerpoint and their neighbors’ respectively.
With people often moving from one region to another or from one cell(square for example) to another, the non-uniform distance between the center of the square to its boundaries adds to the inconsistencies when analysing distances between rider and drive
Hence, there’s scope for improvement in those grid systems to get rid of the quantization error.
Which shape could resolve this problem?