% Author: Simon-Pierre Boucher — contact@spboucher.ai
% =============================================================================
% appendix_data.tex — Additional data details
% =============================================================================
\section{Data Appendix}\label{app:data}

\subsection{Variable Definitions}

Table~\ref{tab:var_definitions} provides a comprehensive list of variables used in the analysis, including their definitions, sources, and units.

\begin{table}[htbp]
    \centering
    \caption{Variable Definitions}
    \label{tab:var_definitions}
    \small
    \begin{tabularx}{\textwidth}{l l X l}
        \toprule
        \textbf{Variable} & \textbf{Source} & \textbf{Definition} & \textbf{Unit} \\
        \midrule
        \multicolumn{4}{l}{\textit{Rental listing variables}} \\
        \addlinespace
        \texttt{rent} & Realtor.ca & Monthly asking rent & CAD \\
        \texttt{log\_rent} & Constructed & Natural log of monthly rent & --- \\
        \texttt{bedrooms} & Realtor.ca & Number of bedrooms & Count \\
        \texttt{bathrooms} & Realtor.ca & Number of bathrooms (total) & Count \\
        \texttt{building\_type} & Realtor.ca & Building type (Apartment, House, Row/Townhouse) & Category \\
        \texttt{size\_interior} & Realtor.ca & Interior floor area & sq ft \\
        \texttt{lat}, \texttt{lon} & Realtor.ca & Latitude and longitude of the listing & Degrees \\
        \texttt{city} & Realtor.ca & City / municipality name & Category \\
        \addlinespace
        \midrule
        \multicolumn{4}{l}{\textit{Airbnb listing variables}} \\
        \addlinespace
        \texttt{price\_numeric} & Airbnb & Nightly asking price & CAD \\
        \texttt{log\_price} & Constructed & Natural log of nightly price & --- \\
        \texttt{property\_type} & Airbnb & Property type (Rental unit, House, Cabin/Chalet, Condo, Apartment) & Category \\
        \texttt{rating} & Airbnb & Star rating (0--5 scale) & Numeric \\
        \texttt{num\_reviews} & Airbnb & Number of guest reviews & Count \\
        \texttt{is\_superhost} & Airbnb & Superhost status indicator & Binary \\
        \texttt{is\_guest\_favorite} & Airbnb & Guest favourite designation & Binary \\
        \texttt{pets\_allowed} & Airbnb & Whether pets are allowed & Binary \\
        \texttt{is\_entire\_home} & Constructed & Indicator for entire-home property types & Binary \\
        \texttt{lat}, \texttt{lon} & Airbnb & Latitude and longitude of the listing & Degrees \\
        \texttt{city} & Airbnb & City name (standardised) & Category \\
        \addlinespace
        \midrule
        \multicolumn{4}{l}{\textit{Airbnb exposure variables (constructed via spatial buffer merge)}} \\
        \addlinespace
        \texttt{airbnb\_count\_$r$} & Constructed & Number of Airbnb listings within radius $r$ & Count \\
        \texttt{airbnb\_density\_$r$} & Constructed & Airbnb count / buffer area ($\pi r^2$) & Per km$^2$ \\
        \texttt{mean\_airbnb\_price\_$r$} & Constructed & Mean Airbnb nightly price within radius $r$ & CAD \\
        \texttt{share\_entire\_home\_$r$} & Constructed & Share of entire-home Airbnb listings within $r$ & Proportion \\
        \texttt{mean\_rating\_$r$} & Constructed & Mean rating of Airbnb listings within $r$ & Numeric \\
        \texttt{superhost\_share\_$r$} & Constructed & Share of superhost listings within $r$ & Proportion \\
        \addlinespace
        \midrule
        \multicolumn{4}{l}{\textit{City-level variables}} \\
        \addlinespace
        \texttt{airbnb\_count\_city} & Constructed & Total Airbnb listings in the city & Count \\
        \texttt{mean\_airbnb\_price\_city} & Constructed & City-level mean Airbnb nightly price & CAD \\
        \texttt{share\_entire\_home\_city} & Constructed & City-level share of entire-home listings & Proportion \\
        \texttt{mean\_rent\_city} & Constructed & City-level mean monthly rent & CAD \\
        \bottomrule
    \end{tabularx}
    \begin{flushleft}
        \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.
    \end{flushleft}
\end{table}

\subsection{City Name Standardisation}

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

\begin{table}[htbp]
    \centering
    \caption{City Name Standardisation Mapping}
    \label{tab:city_mapping}
    \small
    \begin{tabular}{ll}
        \toprule
        \textbf{Original Name(s)} & \textbf{Standardised Name} \\
        \midrule
        Montr\'{e}al & Montreal \\
        Qu\'{e}bec City, Quebec City, Quebec & Qu\'{e}bec \\
        Levis & L\'{e}vis \\
        Saint Come & Saint-C\^{o}me \\
        Sainte Adele, Sainte-Adele, Ste-Ad\`{e}le & Sainte-Ad\`{e}le \\
        Saint Sauveur, Saint-Sauveur-des-Monts & Saint-Sauveur \\
        Ste-Agathe-des-Monts & Sainte-Agathe-des-Monts \\
        \bottomrule
    \end{tabular}
\end{table}

\subsection{Sample Attrition}

The following summarises the sample attrition at each stage of data cleaning:

\begin{itemize}
    \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.
    \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.
    \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).
    \item \textbf{Regressions:} The baseline hedonic sample comprises the 7{,}925 rental listings with non-missing bedrooms and bathrooms.
\end{itemize}
