Case Study: Dynamic Pricing for a Marketplace
"Design dynamic pricing for our ride-hailing (or food-delivery) app" is a favourite prompt at marketplace companies because every easy answer is subtly wrong. Raise prices where demand is high and you earn more per trip, but you also lose trips, and the drivers who would have answered the higher price are reacting to it with a delay. Test it on a random half of riders and the test measures something other than what the policy will do once it is applied to everyone. Learn the price with a bandit and the learner is paying for its exploration with real customers' fares. And whatever you build has to survive caps, regulators, and riders who screenshot a 2.5x multiplier.
This subject is a model interview answer in the step shape used across this track's system-design material. It applies theory taught elsewhere rather than re-deriving it: the demand and supply curves and the clearing multiplier from Pricing Optimization & Marketplace Economics, interference, switchbacks and non-inferiority tests from Advanced Experimentation: Interference, Marketplaces & Platforms, the experiment basics from A/B Testing & Online Experimentation, the policy ladder from Contextual Bandits for Personalization, the logged-propensity gate from Off-Policy Evaluation & Offline RL, and caps, kill switches and exploration budgets from RL in Production: Safe Exploration & Serving. Fairness and explainability lean on Responsible ML: Interpretability, Fairness & Privacy.
All numbers below come from a synthetic simulation I wrote for this lesson, not from a real marketplace. It has 8 zones, 10-minute decision steps, a lagged supply response, retries after failed requests, an AR(1) demand shock, and a ladder of multipliers. Every figure is produced by fixed-seed Python scripts that you can re-run. The structure of the findings (what biases what, and in which direction) is the lesson; the exact magnitudes depend on my assumed parameters and will differ in a real market.