The research story · MA thesis, University of Guelph, 2026

Does Airbnb raise rents in Toronto, and are the city's rules working?

Answering one question took eight different jobs. This page walks through each of them, in plain language, with the real numbers.

Toronto · data from Sept 2024 Methodological Excellence Award ~8 minute read 1-page brief (PDF) Full thesis on request
01 Research design

Ask the right question

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 review Gap analysis Research 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.

Collect

Rental listings (property.ca) Inside Airbnb Census 2021 Census 2016 Google Places API Walk Score API OpenStreetMap TTC schedules GO Transit schedules UP Express schedules

Integrate

One clean dataset 6,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.

This rental is in a busy tract, so it inherits that tract's data Airbnb listing More Airbnbs per 1,000 homes Long-term rental
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.

QGISArcGIS geocodingSpatial joinsNetwork routing (r5py)Census geography
04 Statistical modeling

Separate the real effect from coincidence

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.

Step 1: Control for everything else

How much of the variation in rents the model explains, as each layer of controls is added.

Airbnb density alone 0.2% + home basics bedrooms, bathrooms, time listed 63.0% + location & access walkability, transit, downtown distance 65.5% + neighbourhood profile income, age, education, population change 67.2%
Share of rent variation explained (adjusted R²) across model specifications, from the thesis.

Step 2: the clever part. Even with 19 control variables, something invisible could still drive 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.

One-way lever: why airport transit time works

Transit time to the airport Where Airbnbs cluster Long-term rents tourists care renters don't pay extra for it (after controls) So any rent change the airport-time lever produces must travel through Airbnb.

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, but still clearly 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).

StataRegression modelingInstrumental variables (2SLS)Diagnostics (Durbin–Wu–Hausman, first-stage F)Robustness checks
05 Insight & impact

What the numbers say

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%.

The premium compounds with density

Estimated rent premium by neighbourhood Airbnb density, derived from the model estimate.

0% 10% 20% 30% 40% 50% 0 25 50 75 100 Airbnb listings per 1,000 homes in the neighbourhood +4% +23% ≈ +50%: Toronto's densest tract sits about here
Curve computed from the thesis estimate (0.42% per listing per 1,000 homes, compounding). Toronto's most Airbnb-dense census tract reaches roughly this level. Tenants there are estimated to pay about 50% more than if their tract had no Airbnb listings.

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.

Effect-size translationWeighted averagesData storytelling
06 Policy evaluation

Find the loophole in the by-law

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

Most of the market moved outside the rules

Where Toronto's 14,120 entire-home Airbnb listings stood in September 2024.

And the outside listings hit rents harder

Estimated rent increase per additional listing per 1,000 homes, by listing type.

All entire-home listings +0.42% Outside the by-law 28+ day minimum stay +1.07% Outside and unlicensed +1.55%
Listings outside the by-law are linked to a significantly larger rent impact than regulated ones, roughly 2.5× that of the average listing.

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 biggest lever isn't tightening the rules inside the fence. It's deciding what to do about the two-thirds of the market standing outside it.

Policy analysisRegulation & tax researchComparative effect testingActionable recommendations
07 Synthesis & frameworks

Zoom out: why this keeps happening

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.
Framework buildingHousing economicsStrategic thinking
08 Communication

Make 135 pages worth 25 minutes

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.

Plain-language writingPresentation designData visualizationAward-recognized delivery
The end, almost

Want this kind of analysis on 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.