% ============================================================================ \begin{appendices} \section{Additional tables} \label{app:tables} % ============================================================================ \begin{table}[H] \centering \caption{Coverage of the error surface: share of test targets (\%) for which a value is returned, by radius and window} \label{tab:surface_cov} \input{tables/surface_cov} \end{table} \begin{table}[H] \centering \caption{Error surface without physical adjustment: out-of-sample MdAPE (\%), selection by distance, time adjustment only, twelve-month window} \label{tab:surface_none} \small \input{tables/surface_geo_none} \end{table} \begin{table}[H] \centering \caption{Error surface with selection by similarity: out-of-sample MdAPE (\%), hedonic grid, twelve-month window} \label{tab:surface_sim} \small \input{tables/surface_sim_hedo} \end{table} \begin{table}[H] \centering \caption{Best configuration of the error surface by selection and adjustment (chosen on 2024, evaluated on 2025--2026)} \label{tab:e1best} \small \input{tables/e1_best} \end{table} \begin{table}[H] \centering \caption{Out-of-sample MdAPE (\%) by administrative region} \label{tab:regions} \footnotesize \input{tables/regions} \end{table} \begin{table}[H] \centering \caption{Out-of-sample MdAPE (\%) by price quintile, age and physical link} \label{tab:price} \footnotesize \input{tables/strata_other} \end{table} \section{Implementation details} \label{app:impl} \paragraph{Computation.} The backtest evaluates \nConfigs{} configurations on \nTargetsAll{} targets. For each target the candidate pool is retrieved with a $k$-d tree on projected coordinates, the time, conventional, hedonic, regional, local, GBM and ratio adjustments are computed once for every candidate, and the selection--window--count--weighting--reconciliation combinations are evaluated as operations on the resulting vectors. The computation is embarrassingly parallel over targets and was distributed over five Apple-silicon nodes of a local cluster; a full run takes under ten minutes. The quarterly re-estimation of the adjustment grids and gradient-boosting benchmarks (eleven as-of dates) takes a comparable time. All code is in Python (pandas, NumPy, SciPy, LightGBM) and is available from the author. \paragraph{Local grid.} The local regression (adjustment scheme f) estimates, on the subject's candidates within 10~km and 24 months, the coefficients of log living area, log lot area, age, the two attached-dwelling indicators and the number of storeys, by ridge regression with penalty $\lambda=50$ towards the regional grid; with fewer than 40 candidates the regional grid is used. \paragraph{Gradient boosting.} LightGBM with 127 leaves, minimum 40 observations per leaf, learning rate 0.05, feature and bagging fractions 0.8, $L_2$ regularisation 1, L1 objective, number of trees by early stopping (patience 100) on the chronologically last 10\% of the training sample with a floor of 300 trees, then refit on the whole training sample. Features: log living area, log lot area, age, age$^2$, physical-link and construction-type indicators, storeys, new-build indicator, latitude, longitude, projected coordinates, region, building type, month of sale (capped at the last training month), and for M11b the log assessed value, its land share and its roll vintage. \paragraph{Cluster bootstrap.} Municipality--quarter cells of the test period are resampled with replacement 400 times; for each replication the mean of the paired APE differences is recomputed from cell sums, and for 150 replications the difference in medians is recomputed from the resampled observations. \end{appendices}