spb/wp5_uqo Public
UQO Working Paper No. 5 — Airbnb, residential rents and housing market pressure.
TeX 53.4%
Python 46.5%
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} provides a comprehensive list of variables used in the analysis, including their definitions, sources, and units.1011\begin{table}[htbp]12 \centering13 \caption{Variable Definitions}14 \label{tab:var_definitions}15 \small16 \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 & 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 & sq ft \\28 \texttt{lat}, \texttt{lon} & Realtor.ca & Latitude and longitude of the listing & Degrees \\29 \texttt{city} & Realtor.ca & City / municipality name & Category \\30 \addlinespace31 \midrule32 \multicolumn{4}{l}{\textit{Airbnb listing variables}} \\33 \addlinespace34 \texttt{price\_numeric} & Airbnb & Nightly asking price & CAD \\35 \texttt{log\_price} & Constructed & Natural log of nightly price & --- \\36 \texttt{property\_type} & Airbnb & Property type (Rental unit, House, Cabin/Chalet, Condo, Apartment) & Category \\37 \texttt{rating} & Airbnb & Star rating (0--5 scale) & Numeric \\38 \texttt{num\_reviews} & Airbnb & Number of guest reviews & Count \\39 \texttt{is\_superhost} & Airbnb & Superhost status indicator & Binary \\40 \texttt{is\_guest\_favorite} & Airbnb & Guest favourite designation & Binary \\41 \texttt{pets\_allowed} & Airbnb & Whether pets are allowed & Binary \\42 \texttt{is\_entire\_home} & Constructed & Indicator for entire-home property types & Binary \\43 \texttt{lat}, \texttt{lon} & Airbnb & Latitude and longitude of the listing & Degrees \\44 \texttt{city} & Airbnb & City name (standardised) & Category \\45 \addlinespace46 \midrule47 \multicolumn{4}{l}{\textit{Airbnb exposure variables (constructed via spatial buffer merge)}} \\48 \addlinespace49 \texttt{airbnb\_count\_$r$} & Constructed & Number of Airbnb listings within radius $r$ & Count \\50 \texttt{airbnb\_density\_$r$} & Constructed & Airbnb count / buffer area ($\pi r^2$) & Per km$^2$ \\51 \texttt{mean\_airbnb\_price\_$r$} & Constructed & Mean Airbnb nightly price within radius $r$ & CAD \\52 \texttt{share\_entire\_home\_$r$} & Constructed & Share of entire-home Airbnb listings within $r$ & Proportion \\53 \texttt{mean\_rating\_$r$} & Constructed & Mean rating of Airbnb listings within $r$ & Numeric \\54 \texttt{superhost\_share\_$r$} & Constructed & Share of superhost listings within $r$ & Proportion \\55 \addlinespace56 \midrule57 \multicolumn{4}{l}{\textit{City-level variables}} \\58 \addlinespace59 \texttt{airbnb\_count\_city} & Constructed & Total Airbnb listings in the city & Count \\60 \texttt{mean\_airbnb\_price\_city} & Constructed & City-level mean Airbnb nightly price & CAD \\61 \texttt{share\_entire\_home\_city} & Constructed & City-level share of entire-home listings & Proportion \\62 \texttt{mean\_rent\_city} & Constructed & City-level mean monthly rent & CAD \\63 \bottomrule64 \end{tabularx}65 \begin{flushleft}66 \footnotesize\textit{Notes:} Buffer radii $r \in \{250\text{m}, 500\text{m}, 1\text{km}, 2\text{km}\}$. All monetary values are in Canadian dollars (CAD). ``Constructed'' indicates variables derived from the raw data during the cleaning and merge stages.67 \end{flushleft}68\end{table}6970\subsection{City Name Standardisation}7172The Airbnb dataset contains city names with inconsistent formatting, including accented and unaccented variants and abbreviations. Table~\ref{tab:city_mapping} lists the standardisation mapping applied during data cleaning.7374\begin{table}[htbp]75 \centering76 \caption{City Name Standardisation Mapping}77 \label{tab:city_mapping}78 \small79 \begin{tabular}{ll}80 \toprule81 \textbf{Original Name(s)} & \textbf{Standardised Name} \\82 \midrule83 Montr\'{e}al & Montreal \\84 Qu\'{e}bec City, Quebec City, Quebec & Qu\'{e}bec \\85 Levis & L\'{e}vis \\86 Saint Come & Saint-C\^{o}me \\87 Sainte Adele, Sainte-Adele, Ste-Ad\`{e}le & Sainte-Ad\`{e}le \\88 Saint Sauveur, Saint-Sauveur-des-Monts & Saint-Sauveur \\89 Ste-Agathe-des-Monts & Sainte-Agathe-des-Monts \\90 \bottomrule91 \end{tabular}92\end{table}9394\subsection{Sample Attrition}9596The following summarises the sample attrition at each stage of data cleaning:9798\begin{itemize}99 \item \textbf{Airbnb:} Raw dataset $\approx 5{,}000$ listings. After dropping listings with missing or non-positive prices, the cleaned sample retains 3{,}456 listings.100 \item \textbf{Rentals:} Raw dataset of 8{,}356 records. After restricting to single-family properties with monthly rental periods and positive parsed rents, the cleaned sample retains 8{,}303 listings, all with valid coordinates.101 \item \textbf{Spatial merge:} All rental listings with valid coordinates are retained; the Airbnb count is zero for listings with no Airbnb neighbours within the buffer radius (composition variables such as the mean nearby price are undefined in that case).102 \item \textbf{Regressions:} The baseline hedonic sample comprises the 7{,}925 rental listings with non-missing bedrooms and bathrooms.103\end{itemize}104