

For example, we calculate surge pricing by measuring supply and demand in hexagons in each city that we serve. Data points are bucketed into hexagons and can be written using the hexagonally bucketed data. We use a grid system to bucket events into hexagonal areas, in other words, cells. The maps above depict the process of bucketing points with H3: cars in a city cars in hexagons and hexagons shaded by number of cars. Analysis on areas, such as neighborhoods within a city, is much more practical.įigure 2. Analysis at the finest granularity, the exact location where an event happens, is very difficult and expensive. Because cities are geographically diverse, this analysis needs to happen at a fine granularity. For instance, these events might tell us that there is more demand than supply in a certain part of a city and adjust pricing in response, or inform the platform that there are two ride requests within close proximity to a specific driver on uberPOOL.ĭeriving information and insights from data in the Uber marketplace requires analyzing data across an entire city. These events empower Uber to better understand and optimize the marketplace for users across our services. Each event happens at a specific location, for example, a rider requests a ride from home, and a driver accepts that request in their car just a few miles away. Every minute, riders request rides, driver-partners start trips, and hungry users request food, among other actions on the platform. Analysis using gridsĮvery day, millions of events occur in the Uber marketplace. H3 enables users to partition the globe into hexagons for more accurate analysis. In this article, we discuss why we use a grid system, some of the unique properties of H3, and how you can get started using H3. H3 was designed for this purpose, and led us to make some choices such as using hexagonal, hierarchical indexes.Įarlier this year, we open sourced H3 on Github, giving others access to this powerful solution, and last week, we open sourced our H3 JavaScript bindings.

We use H3 as the grid system for analysis and optimization throughout our marketplaces. H3 enables us to analyze geographic information to set dynamic prices and make other decisions on a city-wide level. With this in mind, Uber developed H3, our grid system for efficiently optimizing ride pricing and dispatch, for visualizing and exploring spatial data. Grid systems are critical to analyzing large spatial data sets, partitioning areas of the Earth into identifiable grid cells.
