AI Smart Pricing for Short-Term Rentals

Nightly Price Suggestions for Rental Hosts

Design the system that suggests a price for every open night on every rental listing, learns from which nights booked, and applies the suggestions inside limits the host sets.

Overview

A rental host has to set a price for every night on the calendar, often a year ahead. Too high and the night stays empty; too low and it books at once and the host earns less than they could have. A smart-pricing service suggests a price for each open night and, if the host opts in, applies it automatically inside a minimum and maximum the host chooses.

Airbnb described its own version in a KDD 2018 paper (Ye and colleagues). Hosts stay in control: Price Tips shows a calendar with the predicted chance of a booking for each night, and Smart Pricing lets a host set a price range so that new suggestions inside it are applied automatically. The paper splits the work into three parts: a model that predicts whether a night will book, a strategy model that turns that into a price, and a final layer of adjustments for hosting goals and special events. This design follows the same split.

Questions to ask first

  • Who acts on the price? — The host, either by accepting a suggestion or by turning on automatic pricing with a min and max
  • How far ahead? — Every open night in the next 365 days
  • How fresh must prices be? — A full recompute nightly; nights in the next 30 days again every 4 hours
  • What signals exist? — Listing details, the calendar, bookings, search and view counts, and a feed of local events
  • What is the goal? — More host revenue over the year, not the fullest calendar
  • Who owns the calendar? — The listing service; this system only proposes prices and asks it to write them

What you will be able to do

  • Split pricing into a booking-probability model, a price strategy and a guardrail layer, and say what each one owns.
  • Explain why maximizing price times booking probability is fragile, and what Airbnb reported when it tried it.
  • Train a price model from booked and unbooked nights with an asymmetric loss, and measure it with price decrease recall and booking regret.
  • Price a new listing by borrowing from its market, and fix gap nights that no minimum stay can fill.
  • Push prices to the calendar so that a host's own edits always win.

Key concepts

  • Booking probability
  • Demand curve
  • Expected revenue
  • Asymmetric loss
  • Price decrease recall
  • Booking regret
  • Shrinkage to market priors
  • Lead time
  • Gap nights
  • Host guardrails

Functional requirements

  • Suggest a nightly price for every open night in the next 365 days of each listing
  • Show the host the predicted chance of a booking at the current price and at the suggested price
  • When automatic pricing is on, apply suggestions only within the host's min and max, and never over a night the host priced by hand
  • Refresh near-term nights when bookings, search activity or a new local event change demand
  • Flag gap nights that the current minimum stay makes unbookable, and suggest a fix
  • Record every suggestion with its model version, so outcomes can be joined back for training

Non-functional requirements

  • Nightly run finishes within a 4-hour window (our target)
  • Nights in the next 30 days refreshed at least every 4 hours (our target)
  • Host dashboard reads under 300 ms at p99 (our target); suggestions are precomputed
  • A failed run leaves yesterday's prices in place; nothing is written half-done
  • Every automatic price change is auditable: who or what set it, when, and from which model

Interview questions

  • Why not simply pick the price that maximizes price × booking probability?
  • How do you train a pricing model when you never see the optimal price?
  • How do you price a listing that has no history?
  • How do local events get into the price?
  • How do you make sure you never overwrite a price the host set?
  • What happens if the nightly run fails halfway?
  • How would you test a new pricing strategy?

Sign up free to read the full topic

More System Design topics

Start free on Cariara · Coding problems · System design studio