UberExplainer
Scaling Real-Time Traffic Forecasting with a Graph-Aware Transformer
Summary
DeepETT is Uber’s real-time traffic forecasting system for estimating traversal times on roughly 100 million road segments, supporting routing and arrival-time estimates. It replaces a legacy blend of recent observations and historical patterns with a deep-learning model designed for rapidly changing conditions, sparse roads, and long trips. To keep deployment predictable at global scale, the system uses fixed-size computation over pre-aggregated segment, graph, region, hourly, weekly, and event views rather than a dynamic graph, while predicting segment ETTs independently of routing. Training targets segment-level mean squared error, while trip-level mean absolute error is evaluated offline after routing sums segment forecasts; calibration and continual real-time correction address downstream error. In a global A/B test, long-trip arrival-time accuracy improved 6%, variance explained rose 19%, navigation defects fell 2.73%, and mobility gross bookings increased by an estimated $100 million annually, with forecasts exceeding 2 million per second.
Context
Uber’s traffic forecasting layer converts frequent GPS pings into estimated traversal times for road segments worldwide. Those forecasts feed routing, arrival-time estimates, pricing, and driver navigation, so segment-level improvements can affect downstream trip outcomes. The system forecasts every five minutes across horizons reaching three hours.
Approach / What changed
DeepETT predicts mean estimated traversal times for road segments using a fixed-size compute graph built from pre-aggregated observations. Its inputs include segment, graph, region, hourly, weekly, and event views, allowing the system to use available observations without aggressive downsampling while keeping inference predictable. Routing remains outside the training loop, and trip-level performance is evaluated offline. Post-training, continual real-time calibration corrects systematic forecast error.
Takeaways
DeepETT forecasts segment traversal times every five minutes for horizons up to three hours, while routing uses those predictions to construct fastest routes and initial arrival-time estimates.
Fixed-size computation over pre-aggregated spatio-temporal views avoids the variable input and downsampling pressures associated with dynamic graph or sequence models at Uber’s scale.
Segment-level MSE improvements do not guarantee better trip-level MAE; the system therefore separates resolution from calibration and evaluates trip outcomes after routing sums segment forecasts.
FAQ
Why did DeepETT avoid putting routing inside the training loop?
Uber’s routing stack was already mature and heavily optimized, so rebuilding or differentiating through it would have expanded project scope and deployment risk. DeepETT instead predicts segment-level ETTs and leaves route selection to the existing routing system.
Why use fixed-size inputs instead of a dynamic graph?
Dynamic compute graphs require materializing highly variable numbers of raw observations and typically force aggressive downsampling during training and inference. Pre-aggregated observations provide predictable inference while allowing DeepETT to use the available data volume.
How did DeepETT perform in the global A/B test?
Long-trip arrival-time accuracy improved by 6%, forecast variance explained increased by 19%, and navigation defects decreased by 2.73%. The test also reported an estimated $100 million in annual mobility gross bookings uplift.
Source and freshness
- Source
- uber.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.