Data Visualization · Portfolio Project View pipeline on GitHub

Toronto Airbnb, mapped by occupancy and rating

Neighbourhoods

How the four quadrants are defined

Each neighbourhood is plotted by its median occupancy and average rating, then split against the citywide medians computed from neighbourhood-level aggregates. Occupancy median: — · Rating median: —.

Rating ≥ median
Rating < median
Occupancy ≥ median
Q1
Star
Highly booked and highly rated — the market leaders.
Q2
Volume
High occupancy but lower ratings — busy but under-delivering.
Occupancy < median
Q3
Hidden Gem
Well-reviewed but underbooked — quality is there, exposure isn't.
Q4
Struggling
Low occupancy and lower ratings — under-performing supply.
Filter

Neighbourhood map

Hover a neighbourhood to see its metrics.

Occupancy vs. rating — the four quadrants

Each dot is a neighbourhood. Size = listing count. Dashed lines = citywide medians.

Neighbourhood leaderboards

Hottest = highest booking rate per listing. Most competitive = largest supply. Highest rated = top avg rating (min 30 listings to avoid small-sample noise).

Listings & room types

Room type by quadrant

Listing traits by quadrant

Room type: occupancy, rating, booking rate

Citywide, computed from all listings. Listings without a rating or reviews are left out of those averages.

Property type — top 8 by supply

Median occupancy vs. avg rating per property type. Bubble size = listing count.

Listings that list more amenities perform better

Listings grouped by how many amenities the host lists. This is a correlation, not cause and effect: hosts who fill in more amenities also tend to run more complete, actively managed listings.

Market trend

Monthly activity (last 3 years)

Reviews proxy for bookings. Occupancy = fraction of listings that received a review that month.