Booking Model

Learn about the booking model for the Airbnb Rental Search.

3. Model

Feature engineering

  • Geolocation of listing (latitude/longitude): Taking raw latitude and raw longitude features is very tough to model as feature distribution is not smooth. One way around this is to take a log of distance from the center of the map for latitude and longitude separately.

  • Favourite place: store user’s favorite neighborhood place in 2 dimensions grid. For example, users add Pier 39 as their favorite place, we encode this place into a specific cell, then use embedding before training/serving.

Features Feature engineering Description
Listing ID Listing ID embedding See Embedding in Machine Learning Primer: Feature Selection and Feature engineering.
Listing feature Number of bedrooms, list of amenities, listing city
Location Measure lat/long from the center of the user map, then normalize
Historical search query Text embedding
User associated features: age, gender Normalization or Standardization
Number of previous bookings Normalization or Standardization
Previous length of stays Normalization or Standardization
Time related features Month, weekofyear, holiday, dayofweek, hourofday

Training data

  • User search history, view history, and bookings. We can start by selecting a period of data: last month, last 6 months, etc., to find the balance between training time and model accuracy.

In practice, we decide the length of training data by running multiple experiments. Each experiment will pick a certain time period to train data. We then compare model accuracy and training time across different experimentations.

Model architecture

Get hands-on with 1400+ tech skills courses.