fix(tradein): exclude novostroyki from radius-median comp pool #935

Merged
bot-reviewer merged 1 commit from fix/estimator-exclude-novostroyki-comps into main 2026-05-31 21:33:24 +00:00

View file

@ -3081,6 +3081,10 @@ _COMMON_WHERE = """
OR year_built BETWEEN CAST(:cohort_year_min AS integer)
AND CAST(:cohort_year_max AS integer)
)
-- Исключаем новостройки из comp-пула вторички: девелоперский прайс искажает
-- медиану /м². NULL сегмент пропускаем (rosreestr/avito/yandex без сегмента
-- это вторичка или неклассифицированный объект).
AND (listing_segment IS NULL OR listing_segment <> 'novostroyki')
"""
# Note: Tier W has its own inline copy of the cohort clause (PR #519 line
# ~1280). Не удалять — Tier W не использует _COMMON_WHERE из-за inline
@ -3429,6 +3433,9 @@ def _fetch_analogs(
OR year_built BETWEEN CAST(:cohort_year_min AS integer)
AND CAST(:cohort_year_max AS integer)
)
-- Tier W: исключаем новостройки из comp-пула (sync с _COMMON_WHERE).
-- NULL сегмент пропускаем rosreestr/avito/yandex без сегмента вторичка.
AND (listing_segment IS NULL OR listing_segment <> 'novostroyki')
-- 2026-05-23: Avito coords теперь real (PR #487 убрал jitter после
-- C-5 audit). Listings с NULL coords отфильтруются через ST_DWithin
-- (geom IS NULL не matches). geocode-missing-listings backfill