UQO Working Paper No. 5 — Airbnb, residential rents and housing market pressure.
1% Author: Simon-Pierre Boucher — contact@spboucher.ai2% =============================================================================3% appendix_data.tex — Additional data details4% =============================================================================5\section{Data Appendix}\label{app:data}67\subsection{Variable Definitions}89Table~\ref{tab:var_definitions} lists the variables used in the analysis, with their sources, definitions and units.1011\begin{table}[htbp]12 \centering13 \caption{Variable Definitions}14 \label{tab:var_definitions}15 \footnotesize\setlength{\tabcolsep}{4pt}16 \begin{tabularx}{\textwidth}{l l X l}17 \toprule18 \textbf{Variable} & \textbf{Source} & \textbf{Definition} & \textbf{Unit} \\19 \midrule20 \multicolumn{4}{l}{\textit{Rental listing variables}} \\21 \addlinespace22 \texttt{rent} & Realtor.ca & Monthly asking rent (winsorised at p1/p99) & CAD \\23 \texttt{log\_rent} & Constructed & Natural log of monthly rent & --- \\24 \texttt{bedrooms} & Realtor.ca & Number of bedrooms & Count \\25 \texttt{bathrooms} & Realtor.ca & Number of bathrooms (total) & Count \\26 \texttt{building\_type} & Realtor.ca & Building type (Apartment, House, Row/Townhouse) & Category \\27 \texttt{size\_interior} & Realtor.ca & Interior floor area (reported for 3{,}699 listings) & sq ft \\28 \texttt{lat}, \texttt{lon} & Realtor.ca & Latitude and longitude of the listing & Degrees \\29 \texttt{city} & Realtor.ca & Municipality (standardised; boroughs collapsed) & Category \\30 \texttt{postal\_code} & Realtor.ca & Six-character postal code & Category \\31 \texttt{fsa} & Constructed & Forward sortation area (first three characters of the postal code) & Category \\32 \addlinespace33 \midrule34 \multicolumn{4}{l}{\textit{Airbnb listing variables}} \\35 \addlinespace36 \texttt{price\_numeric} & Airbnb & Displayed price (winsorised at p1/p99; see Section~\ref{sec:data_airbnb}) & CAD \\37 \texttt{log\_price} & Constructed & Natural log of displayed price & --- \\38 \texttt{property\_type} & Airbnb & Property type (Rental unit, House, Cabin/Chalet, Condo, Apartment, Other) & Category \\39 \texttt{rating} & Airbnb & Star rating (median-imputed when missing) & 0--5 \\40 \texttt{num\_reviews} & Airbnb & Number of guest reviews (zero when missing) & Count \\41 \texttt{bedrooms}, \texttt{bathrooms} & Airbnb & Number of bedrooms and bathrooms & Count \\42 \texttt{guests\_count} & Airbnb & Maximum number of guests & Count \\43 \texttt{amenities\_count} & Airbnb & Number of listed amenities & Count \\44 \texttt{is\_superhost} & Airbnb & Superhost status indicator & Binary \\45 \texttt{is\_entire\_home} & Constructed & Property type in \{House, Cabin/Chalet, Condo\} & Binary \\46 \texttt{lat}, \texttt{lon} & Airbnb & Latitude and longitude of the listing & Degrees \\47 \texttt{city} & Airbnb & City name (standardised) & Category \\48 \addlinespace49 \midrule50 \multicolumn{4}{l}{\textit{Airbnb exposure variables (spatial buffer merge, $r \in \{250\text{\,m}, 500\text{\,m}, 1\text{\,km}, 2\text{\,km}\}$)}} \\51 \addlinespace52 \texttt{airbnb\_count\_$r$} ($A_{i,r}$) & Constructed & Number of Airbnb listings within radius $r$ & Count \\53 \texttt{airbnb\_density\_$r$} & Constructed & $A_{i,r}/(\pi r^2)$ & Per km$^2$ \\54 \texttt{mean\_airbnb\_price\_$r$} & Constructed & Mean displayed price of Airbnb listings within $r$ (undefined if $A_{i,r}=0$) & CAD \\55 \texttt{share\_entire\_home\_$r$} & Constructed & Share of entire-home listings within $r$ (undefined if $A_{i,r}=0$) & Proportion \\56 \texttt{mean\_rating\_$r$} & Constructed & Mean rating within $r$ & 0--5 \\57 \texttt{superhost\_share\_$r$} & Constructed & Share of superhost listings within $r$ & Proportion \\58 \texttt{any\_airbnb\_500m} & Constructed & $\mathbf{1}[A_{i,500\text{m}}>0]$ & Binary \\59 \texttt{airbnb\_ring\_500m\_1km} & Constructed & $A_{i,1\text{km}} - A_{i,500\text{m}}$ & Count \\60 \addlinespace61 \midrule62 \multicolumn{4}{l}{\textit{City-level variables}} \\63 \addlinespace64 \texttt{airbnb\_count\_city} ($A_c$) & Constructed & Total Airbnb listings in the city & Count \\65 \texttt{mean\_rent\_city} & Constructed & City mean of \texttt{log\_rent} & --- \\66 \texttt{mean\_airbnb\_price\_city} & Constructed & City mean displayed Airbnb price & CAD \\67 \texttt{share\_entire\_home\_city} & Constructed & City share of entire-home listings & Proportion \\68 \bottomrule69 \end{tabularx}70 \begin{flushleft}71 \footnotesize\textit{Notes:} All monetary values are in Canadian dollars. ``Constructed'' indicates variables derived during cleaning and merging.72 \end{flushleft}73\end{table}7475\subsection{City Name Standardisation}7677The Airbnb data contain city names with inconsistent formatting, and the Realtor.ca addresses identify Montreal boroughs, Quebec City and Longueuil arrondissements and similar subdivisions, which are collapsed to the municipality. Table~\ref{tab:city_mapping} lists the explicit mappings applied to the Airbnb data; the rental data are standardised by prefix rules in \texttt{scripts/03\_clean\_rent.py}.7879\begin{table}[htbp]80 \centering81 \caption{City Name Standardisation Mapping (Airbnb Data)}82 \label{tab:city_mapping}83 \small84 \begin{tabular}{ll}85 \toprule86 \textbf{Original name(s)} & \textbf{Standardised name} \\87 \midrule88 Montr\'{e}al & Montreal \\89 Qu\'{e}bec City, Quebec City, Quebec & Qu\'{e}bec \\90 Levis & L\'{e}vis \\91 Saint Come & Saint-C\^{o}me \\92 Sainte Adele, Sainte-Adele, Ste-Ad\`{e}le & Sainte-Ad\`{e}le \\93 Saint Sauveur, Saint-Sauveur-des-Monts & Saint-Sauveur \\94 Ste-Agathe-des-Monts & Sainte-Agathe-des-Monts \\95 \bottomrule96 \end{tabular}97\end{table}9899\subsection{Sample Construction}100101The Airbnb file contains 5{,}000 listings, of which 1{,}544 (30.9\%) have no price and are dropped, leaving 3{,}456 listings, all with coordinates; 2{,}437 of them are located in a municipality with rental listings and enter the Airbnb pricing model, and 1{,}699 of those are priced at or below \$1{,}000 per night. The Realtor.ca file contains 8{,}356 records; restricting to single-family residential listings with a monthly rental period and a positive parsed rent leaves 8{,}303 listings, all with valid coordinates and postal codes. All 8{,}303 enter the spatial merge; the Airbnb count is zero for listings with no Airbnb within the radius, and the composition variables are undefined in that case (4{,}370 listings have positive 500\,m exposure). The baseline regression sample comprises the 7{,}925 listings with non-missing bedrooms; the FSA-fixed-effects sample drops singleton FSAs (7{,}883 listings in 289 FSAs); the interior-size specifications use 3{,}531 (city fixed effects) and 3{,}485 (FSA fixed effects) listings.102