Airbnb Washington, D.C. Listings Analysis and R Shiny Web app

Posted on Aug 31, 2021


R Shiny Web app.

Airbnb, more than just a vacation rental company, was one of the market disruptors that started in 2008 which destabilized the hotel industry and changed the way people travel by offering more options in booking places to stay. It got so popular that more and more people started using it as a business which eventually led to certain cities put in place regulations on short term rentals.


One of those cities is Washington, D.C and I obtained my data from, an independent non-commercial project that gathers publicly available Airbnb information with the express purpose of promoting awareness on this issue of Airbnb adversely affecting local neighborhoods and established real-estate businesses. The dataset only provided listings that were available for the last 12 months for Washington, D.C. The main dataset I will be working with is the listings data which includes features like listings, coordinate location, neighborhood, price per night, room type, number of reviews, and availability days per year on 39 neighborhoods of Washington, D.C.

Image sources:,_D.C.


With that in mind, through this project I wanted to explore 2 questions particularly in the current post-Covid state:

1) As a potential guest, where are the more affordable yet well rated and reviewed listings?

2) As a potential host, which area has the most demand and likelihood of occupancy in the D.C market for listings?

Data Preprocessing
The challenge of the data was that the listings were denoted by the 39 different neighborhoods of Washington, DC as opposed boroughs like that of NYC for instance. This made analysis challenging as it was harder to group the data to see visible trends. So upon further search and investigation, I found out that historically, District of Columbia divides its neighborhoods into wards. Therefore, I populated the corresponding ward numbers into the dataset to group the neighborhoods into 8 different wards.

Data Analysis

Started the analysis by looking at the General Distribution of the Prices to get a feel for the pricing landscape:
Because 94% of listings fell under $500 per night, I plotted the distribution within this range for better visibility:

As can be seen, the distribution is right-skewed meaning that the very few listings priced very high influence the distribution shape whereas most of the listings are centered around $100 and is under $200. From an initial summary data inquiry, the median is $114 and the mean is $189 which is pretty affordable keeping in mind that this is the capital city of the United States. Effects from COVID-19 probably influenced the price to go lower than what it's normally listed for.
Next, we look at the listings by the Room Type:

From the bar chart above, it's no wonder why some of the cities started to put regulations in place on short term rentals because most of the listings are Entire Homes/Apartments meaning that the owners aren't using the property for their own residence purpose when renting it out as an Airbnb.

Now let's look at how the Room Type affects price distribution:

As expected, the smaller the airbnb space, the lower the listing price is as shown above.

In-depth Analysis by Neighborhood Group (Ward):

From reading about D.C and knowing a little about certain parts of the city, this makes sense that the closer you get to the Downtown area(Ward 2) with the historic monuments and landmarks along with affluent residential area(Ward 3) and government buildings(Ward 6) where most of the large events and public gatherings take place the pricier the listings get. On the other hand, Wards 5,7,8 are located furthest away from the Downtown area and can be shown to have the lowest average price per day from the graph above.

Let's see how much of the Market Size each Ward makes up - we calculate this by multiplying the available days per year of each listing with its price and summing up by the ward:

It's interesting to see from the Market Size % stacked bar chart above that the top 3 wards - Wards 2, 6, and 1 - contribute 75% of the total Market size.  These same 3 wards are located closest to the Downtown area of Washington D.C supporting the earlier trend seen in Average Price by Neighborhood Group Barplot.

Let's see if this emerging trend corresponds to Reviews:

The same top 3 wards(Wards 6,2,1) that made up 75% of the total Market Size also account for 67% of All Reviews to date. This makes perfect sense as one would naturally expect most of the reviews to come from 3/4ths of the Market.

There are 2 kinds of review fields - 1st being number of reviews-to-date for the listing and the 2nd being reviews the listing has in the last 12 months.
This distinction is quite important as the reviews-to-date feature will represent how actively occupied and popular the listing is in general which could span a number of years. Whereas the reviews-in-the-last-12-months feature will be more indicative of how likely the listing is currently to be in demand for bookings. Therefore the reviews feature for the last 12 months will be used to compute the likelihood of listings for demand when compared to other listings.  So let's see the trend for the Reviews for the last 12 months:

The last 12 months Review % shows that the most current review trends haven't changed much from the Reviews To Date as the top 4 wards have stayed the same contributing about the same % of the Reviews. Ward 5 has gone up a place by owning 2% more reviews in the last year compared to Ward 1 so this is good to know from an airbnb host standpoint.

Conclusions and Findings:

Answer to Question #1:

Now that we have looked at the trends in Reviews, I can finally answer my first question of interest: As a potential guest, Ward 1 and Ward 5 (as a second option) seem to offer the most affordable price on average (potential savings of $83 per day) while being considerably frequently reviewed and located closest to the downtown area with all the historic landmarks and attractions:

Ward 5 (Next best option for guest):

Ward 1 and Ward 5 as a backup option together make up a sizeable portion of the Market size which means potential guests will have enough variety listings to choose from. So here are the Neighborhoods in Ward 5 that you can consider to get a sweet deal:

Answer to Question #2:

I determined the likelihood of a listing to be more in demand by taking the ratio between the last 12 month current Reviews and its availability by neighborhood group (ward). In other words, I used the last 12-month review count as an indicator of occupancy likelihood and the listing available days as a factor of meeting the market demand.

Ward 5 and 1 would be the wards I would look into for potentially hosting a listing because they have the highest likelihood for demand currently and they are good options for airbnb users who are looking for affordable options compared to the most expensive Downtown area listings.  Ward 7 isn't recommended because it only makes up 3% of the market size while having less information to make an investment decision:

This visualization project is also hosted on R shiny web app and you can access it here: R Shiny Web app.



About Author

Augi Bold

NYC Data Science Academy Fellow with an Industrial Engineering background and experience in operations management and consulting. A dynamic professional with a thorough approach equipped with Python, R, and machine learning skills as well as Oracle Database SQL...
View all posts by Augi Bold >

Related Articles

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 Data Analysis 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