Helping Guests Make Informed Decisions with Market Insights
By: Peng Dai
Tags: Data Engineering, AI, Data, Machine Learning

Two common decisions that our guests are making are:

Should I book now for better availability or later for better flexibility? Which of the listings should I book?

As the service provider, we have broad views of the entire market and guest behaviors that individual guests do not necessarily have. This information usually provides helpful insights to solve guests’ puzzles.

Market insights are one channel where we interact with our guests at various stages of the booking flow. We provide dynamically-generated information to assist our guests in planning their trips. This information includes market and listing availability trends, supply, pricing discounts, community activities, etc. It is a critical component of the booking flow and has demonstrated its utility to the Airbnb community by enabling a larger variety of people to make wiser booking decisions and belong everywhere.

Market Insights

Figure 1 illustrates the architecture of our Market Insight service. As a guest interacts with the website, the Market Insight backend system talks with the Search and Pricing services to collect market availability and pricing information. It queries the key-value store for data that are relevant to the search or listing view—along with user information—to generate candidate insights in real-time. Then it ranks the insights according to their values to the guest and powers the front-end on the final insights to display.

We are determined to generate market insights that are genuine, informational, and timely.

When a guest types in a search query that consists of location, dates, guest counts, and possibly room type and additional amenity constraints, the Search backend system retrieves available homes. The frontend automatically zooms in the map to a level that best covers the guest’s interests with enough context. For one such map view, the market insights server aggregates the exact number of available places, and warns the guest if the number is low. Similarly, we have an insight on the percentage of available places.

To support heterogeneous types of insights, the server retrieves two major sources of data from the key-value store.

Stream data that are mostly factual information with limited counting and bookkeeping that are almost real-time, such as the number of unique views of a listing during the past N days. The data is served through an internal system. Aggregated data that typically requires joining with and inferencing from other data sources, and they typically have up to a couple of days of delay. We build data pipelines using Airflow to streamline the data generation process and monitor their daily progress. We use Spark for large-scale data aggregation and use Hive for data storage. The “Rare Find” insight is an example of using aggregated data.

As the service platform, we have more data than individual guests. For instance, Airbnb keeps track of how frequently homes are booked. This information is a good indication of popularity. When a guest views a place that is rarely vacant, we remind our guests with the following insight.

This insight is supported by two data pipelines — one that aggregates availability information of an individual listing and the other for the availability of all markets. A “Rare Find” insight is for listings that have a high long-term availability ratio compared against the market X percentile — a value that trades off insight value and scarcity that we determined by live experiments. Both of the data pipelines are updated on a daily basis so our server will deliver accurate and timely insight to our guests.

Since Market Insights’ inception in 2015, we have gradually added more insight types. Our work has increased booking conversion by more than 5%. With a large Airbnb community and our extension to more verticals, our work compounds in a substantial way for company growth.

Personalization

Personalization has been an evolving theme for many service platforms, and Airbnb has been a pioneer in adopting new technology, applying machine learning to personalize search results and detect host preferences. We have taken several steps in personalizing market insights.

It happens quite often that multiple insights are eligible, but we are only able to show one each time. Our current strategy is to use a deterministic and static vetting rule. However, guests parse information differently. For a guest who is sensitive to time, an insight reminding her can be very effective in getting a trip booked soon. Yet, for a last-minute traveller, the number or percentage of search results may sound more informative, providing them with signals to book as availability is running low. On a listing detail page, the mentality of a listing is “usually booked” may have different implications than “10 others are looking at this place” for various people. Not to mention that there may be sophisticated guests who would like to make decisions purely based on their chemistry with the listings, thus preferring no market insights at all.

In 2016, we have added extensive logging in our booking flow, about which types of insight guests see, and how they react when seeing these insights, such as how much longer they spend on a listing page, whether they wishlist a listing, make a booking request, or go back to search. We implemented a couple of randomization strategies, equalizing the odds of impression for every eligible insight. Showing different and increased variety of insights helps us acquire data to understand user preferences.

After collecting user interaction data, we join it with listing information, such as occupancy rate and number of views, along with search parameters, such as trip lead days and length, and perform data analysis. Our goal is to learn smart insight vetting rules that maximize desired outcome. We believe guests are more likely to book with advanced user experience, so we created a utility function that evaluates their progress. For example, requesting to book is worth one point and contacting host is worth half a point, etc.

We segment guests based on guest features, such as the number of searches and bookings they have done in the past, and come up with a insight vetting rule for each user segment. We are experimenting on our hypothesis that personalized insights deliver improved user experience and in return improves booking conversion.