Develop Dynamic-Pricing Algorithm for Lyft Balancing Key Factors
LyftData Scientist · Technical ScreenLast updated
Evaluates dynamic-pricing system design for Lyft's two-sided marketplace. Strong answers separate prediction from control, include real-time demand and supply features, model elasticity and ETA response, optimize with fairness and stability constraints, and validate through simulation and experiments.
Scenario
You are tasked with building a dynamic-pricing system for Lyft (a two-sided ride-hailing marketplace) that balances rider demand, rider ETA/conversion, driver supply and earnings, company revenue, and fairness.
Question
Design Lyft's dynamic-pricing algorithm. Address the following:
- Features & data sources. What real-time, historical, and contextual data and features would you include (rider demand signals, driver supply/proximity, location, time, weather, traffic, events, elasticity signals, etc.)?
- Model architecture. What modeling components and architecture would you use (e.g., demand forecasting, supply/acceptance response, ETA, conversion, elasticity estimation, and a control/optimization layer)? Discuss model choices such as gradient-boosted trees vs. RL/contextual bandits and their pros and cons.
- Trade-offs & objective. How would you formulate the objective and balance trade-offs between rider demand, driver supply, ETA/service quality, revenue, price stability, and fairness?
- Fairness, safety & constraints. How would you add surge caps, fairness/parity constraints, smoothing, and regulatory compliance?
- Elasticity estimation. How would you estimate price elasticity, including causal identification?
- Experimentation & operations. How would you validate the system (offline and online experiments) and operate it reliably (serving, monitoring, fallbacks)?
Hints
Consider separating prediction (what will happen) from control (what price to set). Think about real-time demand/supply, historical trends, weather, traffic, events, elasticity signals, model choice, monotonicity constraints, surge caps, and guardrails.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.