Design Push-Notification System for Airport Surge Pricing
Designing Airport Surge Push Notifications for Drivers
Context
You are building a real-time system for a ride-hailing platform. When an airport experiences a surge (passenger demand exceeds available drivers), the system should decide:
-
How many drivers to notify (the "budget").
-
Which specific drivers to notify (the "ranking").
Assume you have real-time telemetry for drivers, trips, and demand forecasts, and you can send push notifications with per-driver throttling.
Task
-
Outline a system to determine how many drivers to target and which drivers to include when airport surge pricing occurs.
-
Explain why a simple distance-radius rule (e.g., notify anyone within 10 miles) can perform poorly, and propose improvements.
-
Besides ETA, list additional features/metrics you would engineer to decide whether to send a notification.
-
If neighborhood-level supply–demand imbalance is predictive, describe how you would detect whether a region is imbalanced enough to trigger a notification.
Hints
-
Discuss feature engineering, predictive modeling, supply–demand signals, real-time data, and model evaluation.
Constraints & Assumptions
-
Preserve the scope, facts, inputs, and requested outputs from the prompt above.
-
If the prompt leaves a detail unspecified, state a reasonable assumption before relying on it.
-
Keep the answer interview-ready: concise enough to present, but concrete enough to implement or evaluate.
Clarifying Questions to Ask
-
Clarify the task, data shape, labels, constraints, and evaluation metric.
-
State assumptions behind the math or modeling technique you choose.
-
Connect theory to practical training, debugging, and deployment implications.
What a Strong Answer Covers
-
Correct definitions and formulas where the prompt requires them.
-
A practical explanation of how the method behaves on real data.
-
Trade-offs, failure modes, diagnostics, and mitigation strategies.
-
Evaluation choices that match the product or modeling objective.
Follow-up Questions
-
How would noisy labels, class imbalance, or distribution shift affect the answer?
-
What would you monitor after deployment?
-
Which baseline would you compare against first?