A ride-hailing platform has a severe driver shortage in one region. Demand estimation, pricing, dispatch, queueing and driver incentives all interact. How do you prevent an unstable feedback loop?
Show the full answer Hide the answer
The loop that goes unstable
Shortage raises the price. The higher price is displayed, which suppresses demand and attracts drivers. Both effects arrive late — riders leave immediately, drivers take ten minutes to reposition. By the time supply arrives, demand has collapsed, so the price drops, so drivers leave, so the next shortage is worse.
This is a control system with delayed feedback and gain that is too high, and it oscillates for exactly the reasons any such system does. It is not a pricing problem; it is a stability problem that happens to be expressed in pricing.
The controls that damp it
- Rate-limit the change, not just the level. Cap how fast the multiplier can move per interval. This is the single most effective damper and the one most often missing.
- Hysteresis. Different thresholds for raising and lowering, so the system does not chatter at a boundary.
- Match the control interval to the actuation delay. If a driver takes ten minutes to reposition, updating the price every thirty seconds is controlling something that cannot respond, and it amplifies noise.
- Smooth the input. Raw demand is spiky — one lost connection retrying looks like ten riders. Use a windowed estimate and exclude retries.
- Bound the region. Geospatial cells that are too small produce noisy estimates and price cliffs at boundaries that riders will exploit by walking across the street. Too large and the signal is diluted.
The interactions that are easy to miss
- Dispatch and pricing feed each other. If dispatch widens its radius during a shortage, it pulls drivers from adjacent cells, creating a shortage there — the shortage propagates rather than resolving.
- Rider retries inflate demand. A rider who cancels and re-requests three times is one rider and three demand signals. Deduplicating by rider is essential and frequently absent.
- Incentives operate on a different clock — hours, not minutes — so they should target the predicted shortage rather than the current one. Incentives responding to the live signal is another oscillating loop stacked on the first.
What to do when it is already unstable
Reduce the gain and lengthen the interval, immediately, even at the cost of a worse steady-state match. An oscillating marketplace is worse for everyone than a slightly mispriced stable one, because the oscillation teaches both sides of the market to game it — and once riders learn to wait five minutes and drivers learn to wait for the peak, the instability becomes strategic rather than mechanical and is far harder to remove.