What influences the booking price of properties in Seattle on Airbnb?
Tags: Data Analysis, Predictive Analytics, Data Science, Data Visualization, Machine Learning

Airbnb, an online marketplace for booking properties for stay, published a dataset on Kaggle. It contains data of property listings in Seattle along with their availability and booking price during 2016.

With a curious mind, I decided to explore the dataset. After some exploration, I figured out what kind of questions this dataset can answer.

Here I am sharing some insights that I found from it.

You can checkout my project notebook and Github repository to see the steps that I followed to derive these insights.

How does the trend in number of properties becoming available over the year look like?

There was a sharp increase in the properties becoming first time available on Airbnb in Seattle during the early part of 2016 from January to March. After the March, the rise was not so steep, although it the growth continued steadily throughout the year.

Vacation rental in Seattle listed on Airbnb

What was the trend in occupancy rate of properties over the year?

This helps us understand what the percentage of listed properties are booked during the year in Seattle in 2016. It can be seen as the rate of utilisation of the listed properties through Airbnb.

The occupancy rate fluctuates significantly between January and March, because there are large number a new properties becoming available first time during that period. Between April to July the occupancy rate is 22–25%. The maximum level of occupancy across all the listed properties was achieved to be just above 30% during the month of July, which is a summer season in Seattle. After July, the occupancy rate slumps from 30% to 23% by end of the year.

A view of cozy kitchen and dining area from a property in Seattle

How many properties were occupied during the year?

The number of properties occupied is proportional to number of people choosing to book properties on Airbnb in Seattle in 2016.

There are between 400 to 500 properties occupied during January to April. Starting from April, this number jumps to near 600. In July, there is one more jump with over 700 properties getting occupied. The occupancy drops gradually after July towards the end of year, with nearly 650 properties being occupied at the end of the year 2016.

An aesthetic house boat property found in Seattle

What was the trend in average price of property during 2016?

There is a steady overall rise in the booking price from January to July. In July, the average booking price crosses 150 USD and stays above 150 till end of August.Starting from the September, the average price starts dropping. Near the end of the year during Christmas, the prices rise slightly.

There are roughly 4 spikes in the average price every month, can you guess why? Let’s zoom into the month of July.

Celebration of 4th July in Seattle [Image Source]

How does the average price change over the days of week in the month of July?

The price tends to be higher on Friday and Saturday than during the rest of the days. May be, it can be attributed to more people choosing to stay through Airbnb listed properties on weekend than on weekdays.

What type of properties are listed in Seattle during 2016?

Majority of the properties are of type apartment or house. There are also significant number of condominiums, townhouses and lofts.

A view of Seattle tower from apartment

Coming to the question that I started this post with.

What factors influence the booking price of property?

Can we predict the booking price of the property based on its location, size and amenities?

The dataset has file containing the attributes for the properties listings. It contains attributes including location, neighbourhood, amenities, size, number of bathrooms and beds, property type etc. Our common sense suggests that these attributes play an important role in determining the price of the property for booking on Airbnb.

I created Heat map to visualise correlation between numerical attributes of properties including their booking prices over the year. Number in the cell at intersection of a column and a row indicates the correlation between the two attributes in the dataset. The closer the number is to 1, the higher the correlation is between two attributes.

It’s evident from this heat map that the booking price is highly correlated with attributes like number of people that property can accommodate, number of bedrooms, beds and size in square feet. Number of people the property can accommodate is highly correlated to the number of bedrooms and beds, as expected.

I investigated further in that direction by training a statistical model using Ridge regression technique to see if these attributes can be used to guess the price of a property.

Following the standard process of training a machine learning model, I first prepared the dataset by performing these steps.

Joined two data frames, where one data frame contained the price of the listing on different different days of the year, while another one contained the attributes of that property like location, size, amenities etc. This helped me take into consideration the day of week and month while estimating the price of booking a property. Eliminated rows with missing values for target variable price Converted categorical variables into columns with binary numerical values for each categorical level Filled the missing values of the numerical columns with the mean of the column. I chose not to fill the missing values for categorical variables. Selected columns from the data frame that would serve as input variable X and target variable y. Split the X and y datasets into training and test datasets. Fitted the Ridge regression model on training dataset. Predicted the prices of properties in test dataset. Evaluated the model performance by calculating r² score between test values and predicted values of prices which turned out to be around 0.63. Interpreted the coefficients for each of the input variable in the trained regression model to understand its influence on price prediction.

Here is the list of input variables with highest absolute value of their coefficients in the trained model. They can be thought of as the attributes of the property and time of the year that has maximum significance in predicting the booking price of the property. Positive and negative value in the coef column associated with input_variable represent the amount of positive and negative influence that input variable has on estimation of the booking price of property respectively.

As you can notice, the top two input variables with largest influence on the estimation of price are related to the type of the property. Another big influencer is the location and neighbourhood of the property. Number of bathrooms in the property is also a significant influencer of price according to this statistical model.

Let’s dig deep into the coefficients of different types of input variables to understand how much influence they have on estimating the price.

Influence of type of property on price estimation

The properties of type Boat are very likely to have higher booking price.

The dorm, shared room or tent type properties are very likely to have. lower booking price

Boat house barges, a unique type of properties found in Seattle

Influence of neighbourhood of property on price estimation

As per these table, the properties listed in neighbourhoods including Southeast Magnolia, Windermere, Westlake, Pike Market and Pioneer Square are more likely to have high booking price. Whereas, the properties located in Crown Hill and Laurelhurst are likely to have lower price for booking.