diff --git a/tradein-mvp/backend/app/services/estimator.py b/tradein-mvp/backend/app/services/estimator.py index c2fb473a..de181775 100644 --- a/tradein-mvp/backend/app/services/estimator.py +++ b/tradein-mvp/backend/app/services/estimator.py @@ -93,8 +93,15 @@ SBER_TIME_FACTOR_MAX = 1.6 # guard-bands (НЕ относительные) для ЕКБ-вторички: рынок ~100–400 К/м² (ср. пороги # _band_haircut 180/350К), премиум до ~680К. Нижняя/верхняя границы заведомо вне # рынка — режут «4.98 М за 125 м²» = 39.7 К/м² и т.п. Этаж: ЕКБ-максимум ~52 эт. +# +# Mera-audit fix-4: верифицировано vs данных prod deals (2026-06-21): +# deals p90=172_419 ₽/м², p95=199_583 ₽/м², p99=278_681 ₽/м², p99.9=500_000 ₽/м² +# deals >800k = 13 штук (0.026%) — нерыночные outlier'ы, не легитимный премиум. +# listings p99 (is_active, <800k фильтр) = 392_795 ₽/м². +# Вывод: DEAL_MAX_PPM2=800_000 НЕ режет легитимный ЕКБ-премиум (p99.9 сделок=500k). +# Значение НЕ изменено — порог адекватен. Проверить повторно при p99 > 700_000. DEAL_MIN_PPM2 = 50_000 # ниже = не arms-length (доля/обременение/ошибка) -DEAL_MAX_PPM2 = 800_000 # выше премиума → опечатка/коммерция +DEAL_MAX_PPM2 = 800_000 # выше премиума → опечатка/коммерция (verified p99.9=500k, 2026-06-21) DEAL_MAX_FLOOR = 60 # выше реального максимума ЕКБ → битый этаж (напр. floor:100) # Когорта по году постройки — типизация массовой застройки РФ.