% ============================================================================ \section{Data} \label{sec:data} % ============================================================================ \subsection{The Vrai Prix transaction database} Our data come from Vrai Prix, a research database that assembles every residential transfer registered in the Quebec land register (\emph{Registre foncier du Québec}) since January 2021 and links each transfer to the corresponding unit of the municipal assessment roll (\emph{rôle d'évaluation foncière}). The snapshot used here was taken on 10 October 2026 and contains \nTransactionsDb{} transactions and \nUnits{} assessment units covering the whole province. For each transaction we observe the registration date, the price, the civic address and coordinates, the property type, and---through the link to the roll---the physical characteristics recorded by the municipal assessor: living area (sum of floor areas), lot area, year of construction, number of storeys, physical link (detached, semi-detached, row, integrated), construction type, the neighbourhood unit used by the assessor, and the assessed value in force at the date of sale together with its land and building components. Assessed values are revised on a three-year cycle that differs across municipalities; we record, for each sale, whether the assessed value in force belongs to the roll that was current at the snapshot date, to the previous roll, or to an older one, and we call this the roll \emph{vintage}. Two features of this database are essential for our purpose. First, it is a population, not a sample: every registered sale is present, so that the comparable pool available on any valuation date is the one an appraiser with full access to the register would have had. We date each sale by its registration date and ignore the lag between the deed and its publication in the register, which slightly favours every method in the same way. Second, the characteristics are those of the assessment roll, harmonised across the province by the \emph{Manuel d'évaluation foncière du Québec}, rather than listing descriptions whose coding varies by broker. The price of this harmonisation is that some characteristics commonly adjusted for in practice---garage, pool, number of bedrooms and bathrooms, interior quality, condition, renovations---are not recorded in the roll extract and are therefore unavailable. We return to this limitation in Section~\ref{sec:conclusion}. \subsection{Sample construction} We restrict attention to single-family dwellings, the segment for which the sales comparison approach is the reference method. Starting from \nSalesRaw{} transactions coded as single-family, we apply a sequence of explicit exclusion rules, each logged with the number of observations it removes (Table~\ref{tab:exclusions}). The rules remove transactions that cannot be matched to the roll; duplicates; units whose roll record is not a single dwelling; implausible or missing living area, lot area or year of construction; sales closed before the dwelling was built (which are land sales) or in the year of construction (whose prices are, on inspection, those of lots or unfinished buildings: a median of \$346{,}108 and a price-to-assessment ratio of 1.15, against \$450{,}000--480{,}000 and 1.30 for dwellings aged one to four years); prices outside \$50{,}000--\$3{,}000{,}000; and resales within 180 days with a price change above 40\%, which signal renovations or flips for which the recorded characteristics no longer describe the dwelling. The most consequential rule is the exclusion of sales whose price-to-assessment ratio lies outside $[0.33, 3]$. The register does not flag non-arm's-length transfers (intra-family sales, transfers at nominal prices, distress sales), and an extreme ratio is the only observable indicator. An appraiser would screen such sales out of the comparable pool; we therefore exclude them both as targets and as comparables, and report the count. Because the rule uses the price, it also removes some genuine but unusual sales, and Section~\ref{sec:robustness} examines how the results depend on its bounds. All other rules are standard. The final sample comprises \nSalesClean{} sales between \dateMin{} and \dateMax{}, with a median price of \$\medianPrice{}. \begin{table}[H] \centering \caption{Sample construction} \label{tab:exclusions} \input{tables/exclusions} \end{table} \subsection{Chronological partition and descriptive statistics} The sample is partitioned chronologically. Sales from January 2021 to December 2023 (\nTrain{} observations) serve to develop the adjustment grids and benchmark models. Sales in 2024 (\nVal{} observations) are the \emph{validation} targets, on which configurations and hyperparameters are chosen. Sales from January 2025 to September 2026 (\nTest{} observations) are the \emph{test} targets, on which all results reported as out of sample are computed. Every sale in the sample, whatever its period, is eligible as a comparable for any later target, and the grids and benchmark models are re-estimated each quarter on all prior sales, including those of the validation period once it has elapsed; what distinguishes the periods is the role of the sale as a target. Table~\ref{tab:descriptives} reports descriptive statistics by period and Figure~\ref{fig:index} shows the hedonic price index by region over the sample. Prices rose steeply until mid-2022, fell by about \idxDrawdown{} to a trough in early 2023, and rose again from 2024 onwards; over the whole period the provincial index gained \idxProvAll{}. The recovery was strongly heterogeneous across regions (Table~\ref{tab:index_growth} in the Appendix): between December 2024 and September 2026 prices rose by about \idxQc{} in the Capitale-Nationale and \idxMonteregie{} in the Montérégie, against \idxMtl{} on the island of Montréal, whose cumulative gain since 2021 (\idxMtlAll{}) is less than half the provincial one, while the Estrie more than doubled (\idxEstrieAll{}). This heterogeneity is a feature, not a nuisance: it is precisely the environment in which the quality of time adjustments and the locality of comparables matter. The median price-to-assessment ratio also falls from 1.39 in 2021--2023 to 1.20 in 2025--2026 as the 2025 and 2026 rolls incorporate the boom, which is why the assessment-ratio adjustment must be restricted to comparables on the same roll (Section~\ref{sec:config}). \begin{table}[H] \centering \caption{Descriptive statistics by period} \label{tab:descriptives} \input{tables/descriptives} \begin{tablenotes}\footnotesize \item Note: ``Sales within 2~km, 12 mo.'' is the number of sample sales within 2~km of the target in the twelve months preceding its date (the density measure of Section~\ref{sec:density}); ``candidate pool'' is the number of prior sales within 25~km and 24 months. Both are defined for targets only. \end{tablenotes} \end{table} \begin{figure}[H] \centering \includegraphics[width=0.85\textwidth]{f7_indice.pdf} \caption{Hedonic price index, province and selected regions, full sample (descriptive). Monthly effects from a within-municipality regression of log price on characteristics, January 2021 $=100$. The point-in-time indices used in the backtest are re-estimated every month from prior sales only and are not shown.} \label{fig:index} \end{figure} \subsection{Market density} \label{sec:density} Because the accuracy of any comparable-based method depends on the supply of comparables, we characterise each target by the number of sample sales that occurred within 2~km during the twelve months preceding its date, excluding prior sales of the subject itself. This \emph{density} measure is computed from the target's own comparable pool and is therefore available at valuation time. We group targets into five strata---fewer than 5, 5--19, 20--49, 50--199 and 200 or more sales---which range from rural municipalities and small towns to the dense suburbs of Montréal and Quebec City. Table~\ref{tab:density_dist} gives the distribution of test targets across strata; a fifth of the test targets are in markets with fewer than twenty sales within 2~km in a year. \begin{table}[H] \centering \caption{Distribution of test targets by market density} \label{tab:density_dist} \input{tables/density_dist} \end{table}