The people who travel to NYC


Final Projects, Visualization

A tableau visualization using the Airbnb Dataset.

Made by

Minh Nguyen

Project type

Data Visualization

Duration

3 Weeks

tools

Tableau, Figma, Google Sheets

Data source

Inside Airbnb, Google Maps, NYC Open Data


Project Overview

New York City has always been one of the business tourist attractions. In 2023, the city welcomed 61.8 million travelers from all across the globe. The city is full of culture – perfect for anyone who is interested in art, fashion, food – pretty much anyone and everyone!

However, it is also undeniably one of the most expensive cities to travel to. Flights, food, accommodation, and transportation can add up quickly – and these are only necessities. Travelers resolve to cut down costs by using services such as Airbnb, where they can enjoy the bustling city at a slightly lower price.

For this project, I wanted to explore customers’ habits by examining the “Inside Airbnb” dataset for the month of April. I wanted to take a speculative approach and learn about the different types of travelers that come to New York City.

Research question

What are the different types of travelers in NYC?


Data

I used 3 datasets for this project. This project has two parts: the dashboard of overall information and the three interactive maps based on the Speculated Personas.

The inside Airbnb dataset that I worked with this time around was messier than the one previously. I performed minor changes, such as cleaning and column splitting.

DatasetAirbnbTourist AttractionNYC Subways
SourceInsideAirbnbGoogle MapsNYC Open Data
DescriptionCSV file of ~ 40,000 rows detailing Airbnb’s listing information such as Name, Price, Location,…KML file of NYC Tourist Attractions of 42 local spots that are divided into “Free NYC Attractions” and “Family and Friends”.A shape file consisting of all the lines and stations of New York City’s subway system.

Process

Dashboard

Earlier iteration (1)
Earlier iteration (2)

In my first iteration of the project I was trying to cram too many things into one dashboard. I attempted to tell a story, by having highlighted summaries, and small description paragraphs to pair with my visualization.

But my layout didn’t seem to work. The heavy amount of text combined with dense graphs is too much to interpret. So for my revision, I wanted to focus on some key aspects of the dataset and then develop my personas.

From the 1st round of revisions, I learned the importance of sketching before jumping into dashboards, even if the final product is completely different from the sketch.

Round 1 final iteration

The dashboard starts off with a small map located on the top left corner. I have made it smaller since the previous round, as there was not much information shown on this graph.

To make this map more interactive, I decided to add “filter buttons” with the Borough abbreviations and the total amount of listings. As we click, the corresponding borough is highlighted on the map

The second subsection of this visualization is made out of one bar chart and two pie charts. I have decided not to focus on the monthly changes of the listings as I did in the previous round, instead only studying the dataset from April 2024.

I have cut down a lot of charts from my previous round, as I found that it is obvious Manhattan has the most listings and is the most expensive. I picked out information that I personally thought was interesting.

I have tried to keep my layout and format consistent throughout the different visualizations, to avoid confusion to the readers. For the two pie charts, only highlight the % of Superhosts (which is significantly lower than I expected) and the % of Null/Unlicensed listings. Even when the ban was placed on Airbnb in September, 8 months later, it seemed like only a small percentage of the listings were licensed.

All three of these charts respond dynamically to the filter buttons above.

The 3 Personas

I developed my personas while playing around with the different charts and graphs for my dash board.

I noticed a steep difference between the prices of the boroughs. Brooklyn also has a lot of “private room” listings – which means that the host is listing out a room in their current home. The amenities column also differs a lot from one listing to another.

Aside from the data exploration, I also pulled from my own experience as an avid Airbnb user. During my college days, my main concern was the price, therefore I ended up in some questionable listings.

Throughout the past 2 months, I have been working on two projects separately but both using the same “Inside Airbnb” dataset. As I was working on finalizing the current dashboard, I felt like there was so much more I wanted to show on that map. But with the limitations of dashboard layouts, it was difficult to bring my vision to life.

So let’s combine the two projects – why not!

Maps

In my first iteration of the map, I separated the project into two smaller maps.

The first map has a point layer that was spatially joined to the NTA table (Neighborhoods) to create a choropleth map. I imagined this project to be a guide for tourists, where they can filter out the number of reviews and last review date to pick a credible listing. There are generic filters such as price and room type as well.

The second map had tourist attractions and the MTA map overlayed on top of the spatial join. This was intended to be a static map, the labels pointed out the top attractions, and the listing with the most reviews in the last 12 months.

With user feedback, people wished to see the map with more interactive filters. They also wanted to have both maps combined.

Combining the two projects (dashboard and map) worked out perfectly, as my plan was to adjust the type of filters based on the personas that I have created.

To the left, was the general wireframe I had in mind for this portion of the project. I imagined a more personable experience, different from the common layout that is frequently seen on booking websites.

I had almost everything worked out, except for the bottom right corner of the layout.

One of the first changes I made was instead of using the spatial join to visualize counts of listings within neighborhood shapes, I decided to change it back to the point layer. I was considering to group it similarly to my dashboard, however, the subway lines weren’t legible on top of the point layer.

While it is a little bit harder to read the map, with my layout, I intended for users to filter out the options first, and then toggle with the layers.

In the future, I am hoping to learn how to create buffer calculations for the tourist attractions and for the subway lines, so that only the listings within walking distance are shown.

The filters are divided into 3 types: The first one is specific to the needs of the persona. It is located at the top of the map, with a Red border hoping to draw users’ attention.

Primary filters

The second type of filter is also specific to the personas, however, there is an overlap between the categories and the users.

Secondary filters

Lastly, there are the more generic filters. They include Borough, Room Type, and sometimes Price. These are the types of filters that are commonly seen on Booking websites such as Airbnb. While I call them “basic” they are arguably the most important filters. Users would benefit the most by using these filters, as it is able to filter out the largest amount of listings.

Basic Filters

The Amenities Column had many properties that I was interested in. Due to the way they were formatted, it was hard to split them into a proper group. So I created true/false calculation fields and used them as filters.

Finally, as I was making final touches to my map, I thought that it would be visually interesting and very helpful for users to see the number of listings, average price, and average rating change as they filter through the options.

Issues

I am hoping to figure out how to split my data so that I have a column for each amenity. And for one of my maps, I wanted to only label the listings with the highest ratings. While I was able to achieve that function, I was unable to format the label to look similar to my Tooltip.


Final Product

There were so many different tables and charts that I wanted to include in this dashboard. However, I wanted to focus on the three personas and any data that would not be explained in their individual maps.

I am happy to say that as I continued to explore with Tableau I was able to style my components closer to my initial vision.

I was also able to add more interactive components to this dashboard. When the borough buttons to the right side are clicked, all of the visualizations change dynamically.

The Solo Traveler map

The Solo Traveler

The first map of this series is the solo traveler’s map. As he is a young college student, the price of the listings would be his top concern. I have decided to group the prices, as anything above $500 would most likely not fit his persona.

Depending on his interest in visiting the city – there is the borough filter that helps him narrow down his search. The availability and superhosts filters are “true” on default” however, users may change it if they desire to. The values on the right are picked by the information most relevant to users. The map layers can be toggled, to reveal the tourist attraction and the subway lines.

The Networker

The second persona is Amanda – what I call The Networker. As a busy, hustling start-up owner, she frequently travels to the major cities in the U.S. to meet investors, partners, and influencers.

Given that her business is doing well, price is not as big of a concern as it was for Nick – the solo traveler.

While she can splurge on her stays, she prioritizes comfort and convenience. Wifi and a dedicated workspace are a must – this is a business trip after all. But some “luxurious” options wouldn’t hurt, such as elevators, air conditioning, TV,…

The Networker
The Getaway

The Getaway

Coming up is our final persona – the getaway. Nick and his family love traveling, but due to personal and professional scheduling, they are unable to travel long distances.

Their filters are focused more on the necessities, travelling as a group of 3 – especially with a child, comes with more requirements.

Their main filter focuses on the number of bedrooms, as their child sleeps separately. There are some household basics as well, such as hot water and a washer in case things get messy. Children cannot enjoy the NYC nightlife, therefore having home entertainment is a must.


Reflection

Overall I am very happy with the revisions that I made. I believe that combining two separate projects was definitely a good choice, as I was able to thoroughly illustrate my vision. I am happy with the overall aesthetics of the pieces, I believe that they align well with Airbnb guidelines, and there is a clearer hierarchy of information – especially when compared to the first round of revisions.

I would love to continue working with this, given how the data is so regularly updated there is so much more to do!

1. For the dashboard, I could include more visualizations about different months and cities.
2. For the maps, I could optimize the filters so that they are clickable buttons, rather than a drop-down menu.
3. For the personas, I could diversify the types of people that I am creating. It would be interesting to add reviews too!