Contents
  1. Background and Motivation
  2. Objectives
  3. Data and Data Processing
  4. Features
  5. Designs and Sketches
  6. Project Schedule
  7. Milestone 1
  8. Milestone 2
  9. Adressing Feedback
  10. Final Solution
  11. Screencast

Airbnbs in the Big Apple

Names: Anika Kumar, Chenthuran Abeyakaran
Emails: anikakumar@wustl.edu, cjabeyakaran@wustl.edu
IDs: 457851, 457726

Background and Motivation


In a pre-pandemic time, Anika and Chen loved traveling. Airbnbs were a big factor in the planning stages of trips. There were multiple considerations regarding which Airbnb to choose. You wanted to balance price with amenities. However, you also wanted to find a place in the best part of your destination, and make sure your Airbnb was near must-see spots or the life of the city. Getting a better idea of the distribution of Airbnb prices in a city could give more insights of which neighborhoods were better to pick and which places were priced the best. Ultimately, we chose to examine Airbnbs in New York City since it was our favorite city to travel. We wanted to understand how prices changed across different neighborhoods and boroughs, and how proximity to certain tourist attractions affected Airbnb prices. Knowing this would help us be more educated when either of us next visit the city.

Objectives


Ultimately, we want to glean as much information about the distribution of Airbnb prices in NYC. Our main goal is to be able to find an Airbnb listing that matches the users criteria. To do that we want to display the geographic distribution of Airbnb listings to understand what borough they are in and the neighborhood within that. We also want to be able to figure out what tourist attractions are nearest to a given listing. We also want to compare the average price of listings between neighborhoods and also how the price of listings fares with the distance to a tourist attraction. Specifically, we want to see spatial patterns and see whether prices spike in certain neighborhoods, such as West Village or SoHo, or near certain tourist attractions such as Central Park or Rockefeller Plaza. We want to see which boroughs have more expensive listings and how they vary in the borough, especially closer towards Manhattan and Upper East Side. With the criteria of location and price in mind, we can successfully chose an Airbnb to stay in.

Data and Data Processing


We are using a Kaggle dataset that can be found here. This data is a CSV file containing the coordinates of each listing, listing id, host, neighborhood, borough, and more.

The data made available on Kaggle is very clean and formatted perfectly in a CSV file. As a result, the data cleaning step is incredibly easy. However, the other components we wish to draw are more difficult. For the attractions in New York City, we need to compile our list of famous attractions and manually find coordinates of these locations to use for our maps.

Features


In order to make the visualization friendly and interactive for the end-user, we want to implement the following features. Certain features we have decided are must have for our tool, including 1) the map and being able to see airbnbs, 2) filter by borough, 3) and see famous tourist attractions in the city. Other optional features include making the bar graphs and scatter plots more interactive.

Designs/Sketches


We thought the most important parts of the data we want to visualize are the neighborhood, borough, and price. Focusing on these three aspects, we though to highlight the most popular neighborhoods in each borough and the price distribution of each borough. The price distribution could either be a line or scatter chart. We wanted the interactive part of the visualization to come from interacting with the map to update the charts that follow. An alternative option to updating the charts by borough is through a dropdown list. The sketch below is overview of the information we wanted to display given the dataset.


The below sketch is still using the dropdown idea which updates the price distribution, most popular neighborhoods and includes a map of listings in that borough.


This design was later altered as it was more appealing to click on a bigger map rather than generate smaller maps. The bigger map also compares listings by borough rather than only showcase the listings within a singular borough.

Project Schedule


November 16 - We will finish processing all of the data for New York City landmarks and sort price data by borough.
November 23 - We will work on the map of the boroughs and Airbnb listings.
November 30 - We will work on the price distribution and neighborhood graphs.
December 7 - This week we will have the visualization prototype ready. We will also work on the presentation.
December 14 - Our presentation will be done and all that is left are finishing touches.
January 6 - Finish screencast recording of visualization.

Milestone 1


We fell behind schedule as we switched our topic several times and as a result, did not submit anything for Milestone 1.

Milestone 2


For Milestone 2, we had a title banner, working map that contains a geojson layers to differentiate the 5 boroughs, and a price distribution graph along with a popular neighborhood chart. We had difficulty displaying multiple maps and felt that having the borough layers, listing markers and landmark markers would make the graph too cluttered so we held off on that. The map is interactive so the user is able to click on a burough and the charts would update with that new information onclick. At this point we had not implemented the landmarks feature yet. We also still could not figure out how to use the listing id or host id to connect to the Airbnb website; Without this vital information, the tool is somewhat useless.

Adressing Feedback


User Studies

Milestone 2

Final Solution


Within each borough we want to understand the price distribution. This is important for seeing if the price of your listing is either expensive or cheap relative to others in the area. Seeing the most popular neighborhoods will also give an idea of an ideal location to stay in whereas understanding what the cheapest neighborhoods are can help you balance between an affordable accommodation vs. prime location of tourist attractions. Depending on your budget you might be more inclined to spend significantly less for just a slightly less ideal location. Selecting a specific borough will also show you the most popular tourist attractions within that to optimize your trip.

We finally found the coordinates to our compiled list of tourist attractions and used the default map markers built into Leaflet which is much bigger than the listing markers to make it stand out to the user. The listing markers are custom Leaflet markers where each borough is represented by a different colored dot corresponding to the color of the geojson layer map.


Our price distribution graph didn't make a lot of sense and wasn't actionable previously. We updated it so that you can see the name of the listing along with the neighborhood and price. We also added more labels to the charts. One more new feature is the broken down list of tourist attraction by selected borough.


Lastly, the most critical part of this project is to be able to successfully find an airbnb listing. Each listing is fully clickable which will direct you to an external link to the airbnb website of that exact listing as well as the link to the hosts profile page so you can learn more about them.

Screencast