Cities around the world have found that Airbnb can push rents up. But when I looked for
evidence in Canada, there was very little, and almost nothing measuring what
happened after Toronto's short-term rental by-law took effect. Meanwhile, Toronto had
more than 14,000 entire-home Airbnb listings. A big phenomenon, barely measured.
Question 1 · Impact
Does Airbnb raise long-term rents in Toronto?
And if it does, by how much, and where does it hit hardest?
Question 2 · Policy
Is the city's by-law actually working?
Toronto's rules only cover stays under 28 days. Do listings inside and outside that line affect rents differently?
Literature reviewGap analysisResearch questions that policy can act on
02 Data engineering
Build the dataset that didn't exist
There was no ready-made dataset linking Toronto rents to Airbnb activity, so I built one.
I wrote Python programs to pull data from public APIs, combined scraped listings with
three census years, cleaned the gaps with documented rules, and merged everything into
a single table where every rental listing carries 20+ variables.
From 10 raw sources to one analysis-ready dataset
Every arrow is Python, spreadsheet, or GIS work: collecting, cleaning, geocoding, joining, validating.
One clean dataset6,165 rentals × 20+ engineered variables, each mapped to its neighbourhood
→
Deliver
Statistical modelsWhat actually drives rents
Maps & chartsWhere the impact lands
Policy evaluationIs the by-law working?
10data sources
14,120Airbnb listings processed
6,165rental listings analyzed
3transit systems woven in
Some variables had to be invented, not downloaded. For every single rental I computed a
walkability score, a transit score, a custom
"tourist appeal" score built from Google ratings of nearby attractions,
and the real door-to-door public transit time to the airport, combining street
maps with actual TTC, GO, and UP Express timetables. That last one becomes the hero of chapter 4.
PythonAPIs & web dataData cleaningGeocodingExcel
03 Spatial analysis
Put every listing on the map
Rent isn't just about the unit; it's about the neighbourhood. Using QGIS, I matched
more than 14,000 Airbnb listings and 6,165 rentals to their census tracts (Toronto's
standard neighbourhood unit). Now every rental "knows" its local context: income,
employment, education, population change, and how dense Airbnb is around it.
How a rental learns about its neighbourhood
Illustrative diagram of the spatial join. Darker tracts have more Airbnb listings per 1,000 homes.
Conceptual illustration. In the real analysis, "Airbnb density" = entire-home Airbnb listings per
1,000 private dwellings in each census tract, built from Inside Airbnb and Census 2021 data.
The spatial work also powered the custom accessibility measures: I used street networks and
transit timetables to compute how long each rental's real transit trip to the airport
takes (door to door, with transfers) for thousands of addresses at once. In a separate project,
the same skill set surfaced 20 years of gentrification patterns across Toronto.
Here's the trap: neighbourhoods that attract Airbnbs (central, walkable, lively) are the
same neighbourhoods where rent is high anyway. A naive comparison would blame Airbnb for rent
that downtown living explains. The model has to untangle that.
Controls explain two thirds of rent before Airbnb gets any credit
share of rent variation explained (adjusted R²) as each control layer joins the model – 0 to 100% scale – 6,165 Toronto rental listings, Sept 2024
MA thesis, University of Guelph (2026) · adjusted R² across the stepwise specifications · same numbers as the prose
Controls were step one, and they end on a twist: with all 19 in place, the ordinary
regression finds no significant Airbnb effect at all. Step two is the clever
part. A formal check (the Durbin–Wu–Hausman test, below) shows that naive null
is biased, because something invisible still drives both Airbnb activity and rents.
So I borrowed a technique from economics (an instrumental-variable design) and
built the instrument myself: public transit time to the airport.
The logic: a quick train to the airport matters a lot to tourists, so Airbnbs cluster
where airport access is good. But long-term renters rarely pay extra rent just to reach
the airport faster, especially once the model already accounts for general transit quality,
walkability, and distance to downtown. That one-sidedness lets the model isolate the part of
Airbnb activity driven by tourism, and measure what that does to rents. And the
data agree with the logic: when the location variables entered the rent model, every one
of them priced in significantly except transit time to the airport.
One-way lever: why airport transit time works
And then I checked the machinery: formal tests confirmed the correction was needed
(a Durbin–Wu–Hausman test showed the naive model really was biased), that the lever is
statistically strong (first-stage F-statistic above the conventional threshold of 10),
and that the result survives a stricter confidence test (an Anderson–Rubin interval that
is wider, yet its floor actually rises, from about +0.07% to +0.09% per listing, so even
the most cautious reading stays above zero). The estimate:
each additional entire-home Airbnb per 1,000 homes is linked to a 0.42% rent increase,
statistically significant across all 6,165 rental listings (p < 0.05).
For technical readers, the full specification. Both stages run at the
listing level. Stage one predicts each tract's Airbnb density from the airport
instrument; stage two prices rents using the predicted density in place of the observed one:
At(i) = π0 + π1Airporti + π′Xi + νi
log Ri = β0 + βIVÂt(i) + γ′Xi + εi
where Ri is the asking rent of listing i; At(i) is entire-home
Airbnb listings per 1,000 private dwellings in the listing's census tract;
Airporti is the door-to-door public transit time to the airport;
Xi collects the 19 controls (home basics, location and access,
neighbourhood profile); and Ât(i) is the fitted density from stage one.
The headline estimate is βIV = 0.0042: each additional listing per
1,000 dwellings is linked to a 0.42% higher rent. Re-estimating the same design with
density split by regulatory status gives 1.07% per listing outside the by-law and
1.55% for the unlicensed subset (chapter 6).
0.42% per listing sounds tiny, until you stack listings the way Toronto's neighbourhoods
actually do. Averaged across the city (weighting neighbourhoods by how many renters live there),
Airbnb activity is associated with rents about 5.62% higher than they would
otherwise be. In the single densest tract, the model puts the premium near 50%.
In the densest tract, the estimated premium reaches about half the rent
estimated rent premium by tract Airbnb density – the curve compounds the thesis's 0.42% per-listing estimate – markers at the citywide average, 50 per 1,000, and the densest tract's level
derived from the thesis 2SLS estimate (0.42% per listing per 1,000 dwellings, compounding) · the +5.6% citywide average and ≈50% densest-tract anchors are the thesis's own figures
What does 5.62% mean for a real tenant?
Drag the slider to your rent. This applies the citywide average estimate. It's an illustration, not a quote for any specific unit.
$133of it each month is the estimated Airbnb premium
$1,596per year, roughly a month's groceries… or more
Math: a rent that is 5.62% higher than its no-Airbnb baseline means about 5.3 cents of every
rent dollar is premium (5.62 ÷ 105.62). Citywide average applied for illustration.
One more wrinkle: the average hides a pattern. A citywide estimate quietly
assumes Airbnb presses on every neighbourhood with the same force. The thesis put that
assumption to a direct test, letting the per-listing effect vary with how owner-occupied
each census tract is. The test found real variation: the effect strengthens as the
owner-occupancy ratio rises, and the pattern repeats whether the ratio comes from the
2011, 2016, or 2021 census. In the headline 2016 model, the link is statistically clear
in tracts covering roughly three quarters of the city.
The rent effect strengthens where more homes are owner-occupied
owner-occupancy ranges where the per-listing effect is statistically clear – headline 2016 model · robustness vintages – conditional interaction model, chapter 4's instrument set aside
MA thesis, Table 3 and Figure 3 (marginal-effect graphs, Brambor et al. 2006 strategy) · interaction positive and significant in all three census vintages
That direction is a genuine surprise. A prominent U.S. study (Barron and colleagues,
2021) predicts the opposite, reasoning that low-ownership areas hold more convertible
rental stock and should feel Airbnb hardest. The thesis offers a Toronto-sized
explanation: market thickness. In high-ownership tracts the rental market is thin, with
few rental units and few nearby substitutes, so when Airbnb tightens supply, renters
have nowhere to step sideways and the pressure shows up in rent. In low-ownership
tracts the market is thick enough to absorb more of the blow. Conversion of homes into
Airbnbs still happens there; its rent effect is diluted by all the alternatives around
it.
For technical readers: the moderation model interacts Airbnb density with the tract's
owner-occupancy ratio.
where Ownt(i) is the owner-occupancy ratio of the listing's census tract
(2016 preferred; 2011 and 2021 as robustness checks) and everything else is as in the
chapter 4 specification. The interaction β3 is positive and
statistically significant in all three vintages. At the citywide mean ratio (45.65%),
the conditional per-listing effect is 0.041%; in the 2016 model the effect is
statistically significant except when the ratio sits around 36–46%. This is the
conditional model, with chapter 4's instrument set aside, so its levels run muted; the
finding is the slope, the way the effect grows with ownership.
Toronto's short-term rental by-law only covers stays of under 28 days. Set the
minimum stay to 28 days or more, and a listing slips outside the rules: no licence, no
accommodation tax. I split the data along that line and measured each side separately.
Inside the rules
Minimum stay under 28 days · governed by By-law 503-2024
✓ Must register and hold a licence
✓ Pays the Municipal Accommodation Tax
✓ Pays GST/HST
Outside the rules
Minimum stay 28+ days · falls under general tenancy law instead
✕ No licence required
✕ Exempt from the accommodation tax
✕ Exempt from GST/HST
Two thirds of the market stands outside the by-law, and most of that is unlicensed
where Toronto's 14,120 entire-home Airbnb listings stood in September 2024 – the second bar zooms into the outside segment
MA thesis · Inside Airbnb snapshot, Sept 2024, with City of Toronto licence status · shares of entire-home listings
The further a listing sits outside the rules, the harder the hit on rents
estimated rent increase per additional entire-home listing per 1,000 dwellings, by listing type – same 2SLS design, with density split by regulatory status – notches mark each estimate's strictest-test floor
MA thesis · per-listing 2SLS estimates with Anderson-Rubin lower bounds (+0.09% / +0.24% / +0.22%) · outside ≈ 2.5× the average-listing effect; unlicensed ≈ 3.7×
Two details for careful readers. The gaps in that chart were tested formally rather than
eyeballed: per additional listing, the outside class carries a 0.58-point larger rent
effect than the regulated class, and, within the outside class, unlicensed listings carry
0.78 points more than licensed ones, with both differences statistically significant.
And when each class gets the same city-wide weighting that produced the 5.62% average,
the association grows: rents about 10.35% higher for the outside class's density, 11.90%
for its unlicensed core, since the stronger per-listing effect more than offsets the
smaller listing count.
The verdict: the by-law works, but only inside its own fence. Rather than returning
homes to the long-term market, most hosts stepped just over the 28-day line, kept charging
nightly-style rates, and kept the pressure on rents. For policymakers, the message is concrete:
the decisive question is what to do about the two-thirds of the market standing outside the fence.
Where this stands in 2026: a follow-up study on this site revisits the
loophole with fresh data. In the June 2026 snapshot, 58.7% of entire homes sit past the
28-day line, priced like housing at asking rents far above CMHC benchmarks.
Read the follow-up →
The numbers are local, but the forces aren't. Global investment money and global platforms
now reach into every neighbourhood's housing market, pulling very different cities toward
the same outcome: less affordable rentals. My thesis proposes an updated framework,
the "Converging Housing Ecosystem", to help researchers and policymakers
see local housing decisions inside that global context.
The housing market, before and after platforms
Then: a local balance Social housing vs. for-profit housing, shaped mostly by national policy
Now: a global pull Finance and platforms reach into local markets everywhere at once
Global forces: investment capital + rental platforms
↓ ↓ ↓
Social housing squeezed further
Long-term rentals now compete with…
Short-term rentals a new rival inside the same housing stock
Simplified from the thesis framework. The practical takeaway: a city can't regulate its rental
market as if it were sealed off: platforms connect it to global demand.
Research only matters if people can use it. The full analysis lives in a 135-page thesis;
a 25-minute presentation to my examining committee told the same story; and the whole
project compresses into one sentence anyone can repeat:
"Airbnb is linked to rents about 5.6% higher across Toronto, and the listings that sidestep
the city's by-law are linked to over twice the impact of those that follow it."
That habit (original data work, careful methods, plain-language delivery) is what the
SOAN ENGAGE Conference recognized with its Methodological Excellence Award (April 2026),
citing "original dataset creation, complex data analysis methods, and clear communication of findings."
It's the same approach I bring to briefing notes, dashboards, and stakeholder presentations
in my current research roles, and the approach I'd bring to your team.
I'm open to planning, housing, and data analyst roles. The topic here was Airbnb, but the pipeline transfers to any policy question: vacancy taxes, zoning changes, transit investment. I'm always happy to talk methods in as much (or as little) detail as you like.