Booking Model
Learn about the booking model for the Airbnb Rental Search.
We'll cover the following
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.