NYC Airbnb Pricing EDA

Lanqing Yang
Posted on Feb 3, 2020

Introduction:

Airbnb is part of the “sharing economy”, which takes a unique approach toward lodging. It offers you someone’s home as a place to stay instead of a hotel. Airbnb has had explosive growth over the last decade, both in terms of the number of total users and global Airbnb listings worldwide. By March 2020, there are more than 2 million people staying one Airbnb per night. One of the main reasons why people rent an Airbnb property is that it is more cost-effective than staying at a hotel, and this is also the reason why Airbnb is a great option for many people who travel to New York.

There are over millions of visitors come to New York each year and potentially looking for an Airbnb place to stay, which create a huge New York Airbnb market. The project investigates the question that both Airbnb user and hosts would care the most, which is what are factors that can affect the listing price? 

Therefore, for the benefit of Airbnb owners, they know better on how to adjust their price to maximize profits; for costumers, they can also infer how to plan their trips wisely.

Data Sets:

All the data is sourced from Inside Airbnb, which hosts public available data from Airbnb.

The two main data sets:

Listing: Detailed listings data showing 96 attributes for each of the listings. Some attributes used in the project are Price (continuous), Longitude (continuous), Latitude (continuous), Listing_type (categorical), neighborhood (categorical), ratings (continuous) among others. 

Reviews: Detailed reviews given by the guests with 6 attributes, including Data (datetime), Listing_id (discrete), reviewer_id (discrete) and comment (textual).

User Reviews:

In order to discover the potential factors relevant to price, my approach was to first visualize users’ reviews. I used R dplyr, tidyr, and tibble packages to break down all the Airbnb reviews’ individual words and count their frequency except the stops words and nonsense words. Through wordcloud visualization, I see that people talk about location, subway, and host, etc. the most, which inspire me to answer questions such as:

How price shifts based on different neighborhoods? Do the distances to subway affects prices? Besides those, I also want to know what are the demand patterns over each season? How price varied over months, weeks, and holidays?

Location:

To inspect whether location affects listing price, I visualized the average price over neighborhoods. Take Manhattan as an example, the graph shows that the neighborhoods close to the central city or famous attractions have higher prices, such as Tribeca, Battery Park City, and Little Italy. Besides Manhattan, user can also explore the trends in Brooklyn, Queens, Staten Island, and Bronx in my shiny app. 

Distances to Subway:

Since we identify that Airbnb users talk about subways a lot, according to my experiences, I assume the accessibility to transportation would also be an important factor that affects the listing and property price. To explore whether the distance to the subway is relevant to price or not, I need to first calculate the distance between each unique listing and the subway.

Since I didn’t have this information available, I found NYC subway geo data and calculated the data I need. I matched each listing’s longitude and latitude to its closest subway entrance’s longitude and latitude by geosphere package in combination with mapply function in r to creatively did the math. Although, the scatter plot and flat regression line told me that the distance to subway has no correlation to price, this is a great experience to realize my idea by data analytics tools.

Seasonality:

When it comes to seasonality, I specified the trends by month, weekdays, and holidays. In the shiny app, users can select different years from 2017 to 2019 to compare and contrast the seasonality patterns.

Price over Months:

By scatter plot, we could easily identify that the price is climbing from January towards the end of the year for 2017 and 2018. However, year 2019 shows an abnormal pattern. There is a dramatic price increase from April to October, then the price drop sharply till the December. One reason behind it may because that Airbnb first adjusted their price higher in 2019. However, when Airbnb listing price became too high, Airbnb loose its competitive advantages comparing to hotel price. Thus, visitors no longer prefer rent a Airbnb home. Under the pressure, Airbnb might cut its increased listing price, which counts for the reason of its price declining. 

Price by Day of the Week:

Besides the monthly pattern, Friday and Saturday’s prices are overall higher than any other weekdays. This makes sense because people usually start their vacation or trip on Friday, and Sunday is the day that people leaving their Airbnb and going back to work.

Price over Holidays:

When I match the date data with the US holiday calendar, I also find that Christmas day and New Year’s Day make a larger impact over price than other holidays.

In the end, in order to best present and visualize the findings, I created an interactive shiny app so that user can explore the data sets by different metrics. This project is an ongoing project, since the time was limited when I did that, I wasn’t able to explore factors such as super host, and occupancy etc.. As my study proceeds, I want to apply machine learning to Airbnb pricing and create an Airbnb pricing tool to help Airbnb owner to manage the prices.

A link to my Shiny App: https://lanqing-yang.shinyapps.io/NYC_Airbnb/

About Author

Lanqing Yang

Lanqing Yang

Lanqing graduated from Fordham University with a bachelor's degree in New Media and Digital Design. She is currently pursuing a master's degree in the quantitative field to further strengthen her knowledge and skills. Through her problem-solving experience as...
View all posts by Lanqing Yang >

Leave a Comment

No comments found.

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws 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 Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R 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 Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp