B1: дефолт months_window 12→24, расширение fallback 24→27 (max архив). 2024Q1+Q2 теперь реально влияют на recommend_mix (raw 784→3815 сделок для Академического, ×4.9). B2: per-bucket elasticity через MODE по семантике (is_studio+rooms), а не PERCENTILE_CONT(0.5) по total_area. ЖК с mix studios+3к больше не попадают в bucket "1-к" как среднее. Для Академического: 1-к получает 208 точек регрессии (vs 118), slope -1.17. B3: share_window_months и elasticity_window_months в API scope — прозрачность для UI tooltip про рассинхрон окон (24mo rosreestr vs 36mo sale_graph). B4: cad_buildings.floors при INSERT больше НЕ приводится к INT — NSPD отдаёт диапазоны "1-2", "2-3" которые теряются как NULL. Хранится как TEXT, аналитика делает CAST через regex. R1: data/sql/66_indexes_recommend.sql — 4 индекса для горячего пути recommend_mix (sale_graph composite, kn_objects partial, kn_flats partial, cad_buildings partial). Применены в проде через MCP. R3: ON CONFLICT в insert_buildings теперь обновляет ВСЕ изменяемые поля (purpose, address, floors, geom, registration_date) — раньше при re-scrape апдейтились только cost/area/year, остальное игнорилось. |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| models | ||
| schemas | ||
| services | ||
| workers | ||
| __init__.py | ||
| main.py | ||