Design a dynamic rental pricing system
Company: Airbnb
Role: Software Engineer
Category: ML System Design
Difficulty: hard
Interview Round: Onsite
Design an ML-driven system to help hosts set nightly rental prices. Describe the problem formulation (objective, constraints, business guardrails), data sources (historical bookings, search demand, competitor prices, calendars, events), and feature engineering (seasonality, lead time, availability, price elasticity, cancellations). Propose the modeling approach (e.g., time-series plus gradient boosting with elasticity estimation, or constrained reinforcement learning) and how you would incorporate uncertainty and guardrails. Outline the training pipeline, offline simulation/sandboxing, and online inference architecture; latency and scale requirements; exploration–exploitation strategy; handling cold-start listings and sparse regions; fairness, explainability, and abuse prevention; and a rollout plan with A/B testing and guardrail metrics.
Quick Answer: This question evaluates skills in production machine learning system design for pricing, including problem formulation, data and feature engineering, modeling and uncertainty management, online inference and scalability, experimentation and guardrails, and considerations like fairness and cold-start handling.