TNToronto Airbnb Network

TORONTO AIRBNB SNAPSHOT

Toronto’s Airbnb market doesn’t stop at neighbourhood lines.

15,809 listings. One connected market. See how proximity, ownership, and similarity reshape the city beyond its official boundaries.

Listings
15,809
Official Areas
140
Communities
17
Components
1
Map of Toronto Airbnb market communities with a citywide background and highlighted local segments

01 · BUILD THE NETWORK

Three views of the same market

Relationships are added one layer at a time to isolate how geography, host ownership, and listing similarity reshape the network.

Network Edges
1,607,040
Nodes: 15,809
Connected Components
1
Largest: 100.0%
Louvain Communities
17
Modularity: 0.7926
Neighbourhood NMI
0.5182
VI: 4.502
Active Layer Properties

Similarity links connect the entire city into one component and a small number of broad market segments that cross administrative lines.

Within 500 m geographic radiusSame-host nearest neighbours (k=5)Listing attribute cosine similarity (k=5)
Graph VariantNodesEdgesComponentsLargest CompAvg DegreeModularityNeighbourhood NMI
Graph A: Spatial only15,8091,552,46910087.8%196.40.80510.7494
Graph B: Spatial + shared host15,8091,555,9915398.7%196.80.80690.7030
Graph C: Full market network15,8091,607,0401100.0%203.30.79260.5182
Grouped bar chart comparing Normalized Mutual Information between detected communities and official neighbourhoods across Graph A, B, and C
Figure 1: Normalized Mutual Information (NMI) of detected Louvain and Leiden communities against official Toronto neighbourhoods.
Key Shift

100 components become one. A relatively small set of non-spatial attribute-similarity links bridges disparate geographic pockets into a single unified market network.

02 · DETECT COMMUNITIES

One market, multiple defensible partitions

Louvain and Leiden agree on strong modular structure, but community IDs and exact membership remain algorithm-dependent.

Louvain detected communities mapped across Toronto Airbnb listings
Louvain partition: 17 detected communities across 15,809 listings.
Louvain Algorithm Performance
Communities
17
Modularity (Q)
0.7926
Largest Segment
5,857
Neighbourhood NMI
0.5182

Primary interpretation method: recovers one large citywide background market plus a set of structured local and boutique segments.

Market Segment Archetypes
Citywide Background5,857 listings · $125 median

Lower-priced entire homes spread across 114 official neighbourhoods.

Premium Downtown WaterfrontUp to $201 median

High-density waterfront luxury condos with high local concentration.

Budget Student & Suburban Rooms$46–$51 median

Dispersed private room clusters near campuses and peripheral zones.

Community IDListingsMedian PriceDominant NeighbourhoodDominant Room TypeNeighbourhoods Spanned
C25,857$90South RiverdaleEntire home/apt114
C141,871$118Dovercourt-Wallace Emerson-JunctionEntire home/apt59
C31,109$110Kensington-ChinatownEntire home/apt21
C41,080$201Waterfront Communities-The IslandEntire home/apt5
C13813$161Moss ParkEntire home/apt16
C8738$194Waterfront Communities-The IslandEntire home/apt3
C16732$167Bay Street CorridorEntire home/apt15
C7731$194Waterfront Communities-The IslandEntire home/apt1
Detected communities ranked by median price, dominant neighbourhood, room type, and size
Figure 2: Profile of detected market segments ranked by median nightly price, dominant neighbourhood, and room type.
Scatter bubble chart of community size versus median price coloured by room type
Figure 3: Community profile bubble landscape: geographic spread vs median price (bubble size = listings).

03 · TEST THE CLAIM

Does the network improve price prediction?

Paired 5-fold cross-validation separates a small raw association from a genuinely useful predictive gain.

Host-Grouped 5-Fold Cross-Validation · Mean Test R² Across 5 Folds
Baseline Model (Listing + Official Neighbourhood)0.6246
Expanded Model (+ Network Community Feature)0.6262
Raw R² Change+0.0016
Adjusted R² Change−0.0007
Baseline Dollar MAE$56.32
Expanded Dollar MAE$56.18
MAE Difference−$0.14
Raw R² Fold Wins5 / 5

Every host stays strictly in train or test (zero host overlap, verified per fold), so the association is not host leakage.

Validation SchemeBaseline R²Expanded R²Mean ΔR²Mean Δ Adjusted R²Baseline MAE ($)Expanded MAE ($)Mean ΔMAE ($)
Random 5-Fold Cross-Validation0.63410.6358+0.0017−0.0004$55.91$55.73−$0.18
Host-Grouped 5-Fold Cross-Validation0.62460.6262+0.0016−0.0007$56.32$56.18−$0.14
Spatial-Block 5-Fold Cross-Validation0.52900.5314+0.0024−0.0010$52.26$51.83−$0.43
Price model cross-validation score and delta comparison across random, host-grouped, and spatial splits
Figure 4: Price-model cross-validation comparison: mean test R², dollar MAE, and paired fold changes.
Map of the five compact spatial blocks used in spatial cross-validation
Figure 5: Five deterministic geographic blocks used for spatial cross-validation holdout folds.
Evidence-Based Verdict

A real signal, but not a material pricing boost. The network community labels provide real statistical signal over random partitions across all cross-validation schemes (random, grouped, and spatial), but yield only a minimal lift in out-of-sample R squared (+0.0016 to +0.0024). Because the effect size is so modest, the network structure is useful for understanding market clusters rather than improving production pricing models.

The original evaluation was flawed because the complexity-adjusted $R^2$ metric systematically penalized any 17-level category, even random noise, by improperly mixing in-sample penalties with out-of-sample scores. We resolved this by switching to a permutation test and paired fold-level intervals for a more reliable assessment.

04 · PARAMETER SENSITIVITY

The broad structure persists; exact boundaries move.

Seven reasonable Graph C parameter settings demonstrate that while modular citywide segments always emerge, exact community assignments are parameter-dependent.

Configuration: Baseline

17 Communities Detected
Spatial Radius
500 m
Attribute k-NN
k = 5
Modularity (Q)
0.7926
NMI vs Baseline
1.0000
Neighbourhood NMI
0.5182

Standard setup: 500 m spatial radius, attribute k = 5, and 0.60/0.25/0.15 weights.

ConfigurationRadiusAttribute kEdge Weights (Spatial / Host / Attr)CommunitiesModularityNMI vs BaselineNeighbourhood NMI
Baseline500 m50.60 / 0.25 / 0.15170.79261.00000.5182
Radius 300 m300 m50.60 / 0.25 / 0.15210.80250.69450.4340
Radius 700 m700 m50.60 / 0.25 / 0.15140.74300.74380.5631
Attribute k = 3500 m30.60 / 0.25 / 0.15190.79810.86310.5506
Attribute k = 10500 m100.60 / 0.25 / 0.15170.78190.81360.4668
Spatial-heavy500 m50.75 / 0.15 / 0.10190.79830.85410.5550
Attribute-heavy500 m50.45 / 0.20 / 0.35140.77020.74290.4366
Bar charts of communities, modularity, and NMI across seven Graph C parameter configurations
Figure 6: One-at-a-time parameter sensitivity sweep across spatial radius, attribute neighbours, and weight profiles.

05 · RESEARCH INTEGRITY

Reproducible by design

The portfolio refresh turns a course submission into an auditable case study with locked dependencies, automated unit tests, generated canonical artifacts, and honest scope limitations.

01 · Public Snapshot

Inside Airbnb Snapshot

November 2025 public Toronto data: 15,809 cleaned listings across 140 official neighbourhoods.

02 · Price-Free Graph

No Data Leakage

Graph edges are constructed strictly from spatial proximity, host IDs, and listing attributes. Price never enters graph construction.

03 · Paired Evaluation

Strict 5-Fold Folds

Baseline and expanded models are evaluated on identical random, host-grouped, and spatial-block folds.

04 · Honest Scope

Transductive Validation

Evaluation is transductive and based on a single temporal snapshot, so the results describe observed network structure rather than causal or deployment-level effects.

Open the technical methodology

Network Construction: Weighted undirected graphs built with BallTree haversine distance (500 m radius), sparse nearest same-host connections (k=5), and cosine-similarity nearest neighbours (k=5) over standardized numerical and one-hot categorical listing features.

Community Detection: Seeded Louvain and Leiden modularity optimization, evaluated using modularity (Q), Normalized Mutual Information (NMI), and Variation of Information (VI).

Price Modelling: Ridge regression on log-transformed winsorized nightly price, with room types, property types, and official administrative neighbourhoods as the baseline.

Portfolio attribution

Research, analysis, and portfolio presentation by Sourav Chandhok.

Developed from a research project and extended with reproducible analysis, grouped and spatial validation, parameter-sensitivity testing, and this interactive presentation.

THE TAKEAWAY

A market can be geographically local and structurally citywide at the same time.

The value of network analysis lies not only in what it reveals, but in knowing what the evidence cannot support.