Uber's Synthetic Control
summary
When a citywide change prevents A/B testing the team builds a counterfactual by weighting other cities and past data using Uber's Python package and a synthetic control model implemented on Spark infrastructure. The claim is that city-level causal effects are recoverable at scale for clear signals like changes in cash trips per driver, but small marginal effects, simultaneous local shocks, and lack of preregistration limit sensitivity and invite specification checks.
AI-written summary · about
chapters (17)
- 0:00Welcome!
- 0:36What to do when A/B testing is not possible
- 2:00Motivating example: Cash trips at Uber
- 3:47Experiment: Tell drivers if a trip is cash
- 5:07Why an A/B Test doesn't work here: Spillover effects
- 6:53What to do instead of A/B: Look at before and after
- 7:40What to do instead of A/B: Switchbacks
- 8:46What to do instead of A/B: Difference-in-Differences
- 10:21A/B Alternative: Synthetic Control
- 11:47How do we form our synthetics?
- 13:42How do we estimate treatment effect?
- 14:57Synthetic control performance
- 15:32Synthetic control implementation at Uber scale
- 16:25Other use cases for Synthetic Control at Uber: Uber POOL
- 18:17Other use cases for Synthetic Control at Uber: Surge pricing
- 19:04Limitations of Synthetic Control
- 22:06Key takeaways
related talks
32mCausal inference and scenario generation within Just Eat Takeaway.com
11mCausal Inference For Socio-Economic & Engineering Systems
26mUber’s Intelligent Insights Assistant
34mData Drives Business
32mWhy start using uplift models for more efficient marketing campaigns
34mBalancing Weights For Causal Effects With Panel Data: Some Recent Extensions To The Synthetic...
01h 00mThe Synthetic Data Advantage: How It Helps You to Get Both AI Privacy & Explainability
13mPyTorch at Uber
