Hotels vs Airbnb - Barcelona case study (proof of concept)

Posted on Aug 8, 2018

The skills the authors demonstrated here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.

Click here to access the map

1 - Background and motivation

During the last few years, the sharing economy has become more and more ubiquitous, from taxi riding applications to DIY and so on. The Real Estate market is no exception and in the Hotels and Hospitality sector, we have seen more of these examples. Among them is Airbnb, a company based in San Francisco that operates an online marketplace and hospitality service that has had a bigger impact.

The main objective of this case study is to assess the impact of Airbnb and review the hotel prices compared with the accommodation offered by Airbnb. Although it would be a preference to have an in-depth analysis of this case study. But due to the complexity of data variables and various data outcomes, we present an initial analysis of the pricing competition between Airbnb and the Hotels within the city of Barcelona.

We have used two main datasets in this case study; hotels' location and pricing data and Airbnb listings. The hotels' datasets were obtained by data scraping from the Tripadvisor.comย website, we will get more in detail soon, and the Airbnb datasets were downloaded from the siteย

2 - Scraping Tripadvisor Hotels dataset

Scraping has becoming more and more popular recently due to the amount of data present on the world wide web today. Scraping TripAdvisor has allowed us to extract a complete list of the hotels in Barcelona (518 in total) together with price information (for 418 of them). The price data shown are expressed in USD charged for a room for two people booking on the night of the 22nd of October of 2018.

We decided to use this date mainly because it is a low season in Barcelona and it allows us to make a more direct comparison with Airbnb prices. For scraping, we used a Python environment and two main scraping libraries; Selenium, and Scrapy. The reason why Selenium was needed due to the number of choices allowed for users selections on the TripAdvisor website. This allows us to accurately filter the data to show hotels based on the chosen date, 22nd of October as previously mentioned.

One of the downsides of Selenium is processing speed. In order to speed up the scraping process, we have decided to eliminate any graphical contents. With Selenium, we were able to get a complete list of hotels in Barcelona with their prices and a link to the specific hotels TripAdvisor website. This link is the information that will allow our Scrapy crawler to get the remaining information we were looking for; the location and star rating of each of the hotels. Scrapy then was used to speed up the gathering of information of each hotel namely the hotel's full address, reviews, ranking, and star rating.

In the images below we can see both the hotels list exported as well as the hotels' details

3 - Hotels data exploration

Using cartoframes (CARTOs Python environment for data scientists) we can easily see how the hotels are mainly concentrated in the center of Barcelona, also with higher booking prices in this area.

Further analysis of how prices vary according to the star rating is presented in the following Boxplot, which shows a steady increase of prices depending on the star rating. Further analysis should be done to analyze how reviews and sociodemographic of the area actually relate to these prices, but this wasnโ€™t subject to this study.

4 - Price comparison

Initially, we plotted the distribution of prices for both hotels and Airbnb listings to see the big picture on how they compare. This initial analysis already gives some initial conclusions and we see as hotels are in general more expensive than Airbnb locations.

For a more detailed comparison, we used the simple yet effective Machine Learning algorithm of nearest neighbors. For this purpose, we used R software and the package nngeo which computes the K-nearest neighbour calculations considering the geographic attributes of the locations considered. We computed the K=20 nearest neighbours limiting our search to the locations within a radius of 500 m. Both the considered Airbnb locations as well as the lines connecting them to each hotel are represented on the map. For this purpose where only selected Airbnb listings with a 'Real Bed' and with accommodation for between 1 and 3 people, in order to compare like for like.

Finally, we computed the average price for all the 20 locations near to our target hotel and also the difference to the actual hotel price. This is the main dataset presented in this study and that is shown on the interactive map done with CARTO.

Some of theย main conclusionsย that can be extracted from the analysis are:

  • Budget hotels (1 and 2 stars) are the less affected by Airbnb listings with just a difference of $14 dollars per night among them.
  • Hotels more centrally located show more fierce competition with their Airbnb neighbors, with fewer central hotels less affected.
  • Luxury hotels are the ones that present the biggest differences, but as mentioned previously we should further work on the Airbnb data to make like-for-like comparisons in this segment of the market.
  • Finally, there are a few hotels that show a cheaper price than their Airbnb neighbours, so look for those!

Click here to access the map

Finally, as a conclusion just to highlight how this type of analysis shows how individual hotels are affected by Airbnb competition and can also be used in order to decide where to locate a new hotel.

About Author

Nacho Moreno

Nacho joined NYCDSA bootcamp from his current position as a location Intelligence analyst in JLL. With 10 years of experience in GIS currently working towards a new set of skills within the geospatial data science field.
View all posts by Nacho Moreno >

Related Articles

Leave a Comment

Nacho Moreno August 9, 2018
Hi Marc, thanks for your positive comments, happy to discuss via LinkedIn.
Marc van der Peet August 9, 2018
Great article. Is the code available?

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI