TeX 52.2%
Python 47.8%
1\begin{table}[H]2\centering3\caption{Sample construction by market segment}4\label{tab:sample}5\begin{threeparttable}6\begin{tabular}{lrrrr}7\toprule8& Houses & Condominiums & Multiplexes & Vacant land \\9\midrule10Raw listings & 18,920 & 9,347 & 4,619 & 9,595 \\11Estimation sample & 6,250 & 1,031 & 3,755 & 9,239 \\12Retention rate (\%) & 33.0 & 11.0 & 81.3 & 96.3 \\13Number of regressors & 17 & 17 & 17 & 11 \\14\midrule15Minimum asking price (\$) & 99,000 & 177,700 & 130,000 & 16,000 \\16Median asking price (\$) & 579,000 & 425,000 & 799,000 & 150,000 \\17Maximum asking price (\$) & 5,295,000 & 2,932,760 & 4,699,999 & 8,900,000 \\18\bottomrule19\end{tabular}20\begin{tablenotes}21\small22\item \textit{Notes:} Centris active listings, Quebec, snapshot of May 2026. The estimation sample retains listings with a positive asking price, valid coordinates, non-missing structural variables required by the segment specification (Table~\ref{tab:specification}), floor area above 100 sq.\,ft.\ where applicable, land area above zero (above 10 sq.\,ft.\ for land), land area winsorised at its 99th percentile, and asking price, floor area and land area trimmed at the 0.5th and 99.5th percentiles of their logarithms. The number of regressors excludes the constant. Minimum and maximum prices are those of the estimation sample. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}.23\end{tablenotes}24\end{threeparttable}25\end{table}26