# How Google Maps Works in Real Time

How live probe data, historical speed profiles, graph neural network forecasts and route ranking produce real\-time traffic and ETAs

By AshokR

Topic: Computing, AI &amp; Electronics

[Open the interactive Jig](https://ask.jig.com/j/PcU68JaSaeTe)

## Transcript

### 1. A speed for every road segment

The traffic layer is a per\-segment estimate, not a live photograph\. Each segment's colour encodes predicted speed relative to free flow, fused from live probe data, historical profiles and authoritative road data\. Green is near free flow; orange, red and dark red mark increasing delay\.

Drivers cover over 1 billion km a day with Google Maps across 220\+ countries and territories \(Google Maps blog, 2020\)\.

### 2. Probe data, aggregated

Phones navigating with Google Maps report anonymised location traces\. Traces are matched to segments and aggregated into per\-segment travel times; a segment carries a live estimate only once enough probes have crossed it\. Authoritative feeds and user reports add limits, closures and incidents\.

Inputs per Google: aggregated live location data, historical traffic, local\-government data and user incident reports\.

### 3. Segments, not streets

The road network is cut into short directed segments, the unit every model reasons about\. Junctions split each street; long links are subdivided further\. Average segment length in the published datasets is 58 to 109 m\.

Mean segment length: Tokyo 57\.9 m, Los Angeles 81\.0 m, Singapore 106\.3 m, New York 109\.0 m \(Derrow\-Pinion et al\., CIKM 2021, Table 1\)\.

### 4. Live versus historical

Live data is current but sparse on low\-volume roads; historical profiles are dense but blind to today's incident\. Switch sources and compare the arterial queue and the quiet side streets\. The model consumes both\.

Model inputs: 17 two\-minute live windows, plus historical speeds in 8\-minute windows averaged over the past 17 weeks \(CIKM 2021, §3\.1\.2\)\.

### 5. Supersegments as graphs

Adjacent, heavily travelled segments are grouped into supersegments\. Each is a graph: nodes are segments, edges join consecutive or connected segments\. A graph neural network passes messages along these edges, so a queue's state propagates to its neighbours\.

Supersegments average about 20 segments; around 1 million are predefined and served \(DeepMind, 2020; CIKM 2021\)\.

### 6. Forecasting the trip horizon

A trip outlasts the snapshot, so ETAs need speeds at arrival time, not departure\. Separate models predict supersegment travel time at horizons of 0, 10, 20, 30 and 60 minutes; drag the horizon and watch the queue evolve and clear\.

New York RMSE at 0 / 60 min: GNN 36\.8 / 46\.6 s; live\-only baseline 42\.3 / 69\.6 s \(CIKM 2021, Table 2\)\.

### 7. Ranking candidate routes

The routing system proposes candidate routes; each is costed by summing forecast supersegment times at the moment the driver reaches them\. Routes are ranked by ETA, with road class, quality and directness as further factors\. Request a route from the white pin to the red pin\.

Routes API: duration includes live traffic; staticDuration uses historical data only \(developers\.google\.com/maps/documentation/routes\)\.

### 8. Served from a shared cache

Predictions are not computed per request\. Forecasts for every predefined supersegment sit in a shared lookup table that is refreshed periodically, and the server interpolates between horizons for each segment's arrival time\. The GNN cut negative ETA outcomes by over 40% in cities such as Sydney\.

No measurable regression up to a 2\-minute refresh interval; quiet roads fall back to simpler per\-segment models \(CIKM 2021, §4\)\.
