gendesign/tradein-mvp/backend/app/tasks
bot-backend e7272183d4 fix(tradein/location): заменить сломанный location-coef на калиброванный location index
coef = 0.95 + score/100*0.10 не был связан с ценой и не участвовал в расчёте
estimator'а вовсе (0 упоминаний), но интерфейс рисовал «база -> результат»,
обещая влияние на цену. Замеры на боевой БД: по 1500 адресам ЕКБ 67% попадают
в -1%..+1%, весь город укладывается в размах 1.10x; медиана руб/м2 по бакетам
коэффициента плоская и немонотонная (бакет -4% дороже бакета +3%). Для
сравнения, расстояние до центра даёт монотонный градиент с размахом 2.70x
(93 677 -> 249 686 руб/м2 по 31 тыс. лотов).

Новый показатель — отклонение медианы руб/м2 сопоставимых активных листингов
в радиусе от медианы по городу (percentile_cont, лестница радиусов до набора
выборки). Честная деградация вне ЕКБ и при малой выборке вместо молчаливого
вырождения в 0.95. В цену по-прежнему не идёт — аналоги берутся из того же
района, локация в базовой цене уже учтена.

Заодно две причины потери POI:
1. Overpass-фильтр метро ловил только station=subway, без railway=station+subway=yes.
2. v_tradein_osm_poi_ekb резала всё, что не редактировали в OSM 2 года. Проверено
   на проде: из 5133 точек доходило 2787 (-46%), причём смещённо — парки -84%,
   больницы -80%, магазины -83%, остановки 0%. Из 9 станций метро терялись 4,
   включая Площадь 1905 года. Станция не перестаёт существовать оттого, что её
   тег два года не трогали; Site Finder использует эту дату как мягкий сигнал
   уверенности, а не как фильтр существования.
2026-07-26 23:09:43 +03:00
..
__init__.py feat(tradein): search matview + indexes (Phase 3.1) (#469) 2026-05-23 14:01:18 +00:00
asking_to_sold_ratio.py fix(tradein): city-scope ДКП-запросы — убрать oblast-контаминацию (C1+C2) 2026-07-12 20:18:36 +03:00
avito_detail_backfill.py refactor(tradein/tasks): avito_detail_backfill build_warmed_session на kit + config= (#2397 Part D1, #2330) 2026-07-04 15:15:45 +03:00
backfill_listings_coords_geoportal.py refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C) 2026-07-04 13:00:30 +03:00
cadastral_geo_match.py refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C) 2026-07-04 13:00:30 +03:00
cian_history_backfill.py fix(tradein/cian): персист bti_data/valuation house_info в houses + дедуп УК (#2435) (#2437) 2026-07-04 20:21:32 +00:00
deactivate_stale_avito.py refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C) 2026-07-04 13:00:30 +03:00
deals_freshness_monitor.py refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C) 2026-07-04 13:00:30 +03:00
domclick_detail_backfill.py feat(tradein/domclick): production Layer B detail-backfill orchestrator (#2000) (#2436) 2026-07-04 19:49:07 +00:00
domrf_kapremont_load.py feat(tradein): fill houses.year_built/material_walls from ДОМ.РФ КР1.1/1.2 + zhkh_year, propagate to listings (#2013) (#2476) 2026-07-12 13:12:07 +00:00
ekb_geoportal_ingest.py feat(tradein/scraper-kit): migrate backfill-task imports to kit, Group C (#2310) 2026-07-04 01:19:34 +03:00
gar_flats_load.py feat(tradein): канонический матч ГАР↔houses (0%→41% yield) + tradein_canon_addr + --match-only (#2063) 2026-06-28 15:50:07 +00:00
geocode_missing.py fix(geocode): set geocode_tried_at on successful geocode UPDATE 2026-06-16 10:07:51 +03:00
listing_source_snapshot.py refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C) 2026-07-04 13:00:30 +03:00
newbuilding_enrich_backfill.py refactor(tradein/tasks): newbuilding_enrich_backfill на kit cian.newbuilding + config= (#2397 Part D3) 2026-07-04 15:20:18 +03:00
osm_poi_ekb_refresh.py fix(tradein/location): заменить сломанный location-coef на калиброванный location index 2026-07-26 23:09:43 +03:00
refresh_search_matview.py feat(tradein): premium_houses MV + premium_building flag (#2002) 2026-06-27 16:40:39 +00:00
rosreestr_quarter_poll.py feat(tradein): scheduled monthly Rosreestr new-quarter poll → ingest alert (#888) (#894) 2026-05-31 13:13:55 +00:00
sber_freshness_monitor.py feat(tradein): монитор свежести СберИндекса (audit п.1) 2026-07-12 23:27:35 +03:00
sber_index_pull.py feat(tradein): СберИндекс monthly city-level price index pull (#887, data-layer) (#890) 2026-05-31 12:44:56 +00:00
yandex_address_backfill.py feat(tradein): schedule yandex address backfill task (#855) (#866) 2026-05-31 07:31:10 +00:00
yandex_detail_backfill.py feat(tradein/scraper-kit): migrate backfill-task imports to kit, Group C (#2310) 2026-07-04 01:19:34 +03:00
yandex_newbuilding_sweep.py refactor(tradein/tasks): yandex_newbuilding_sweep на kit + config= (#2397 Part D5) 2026-07-04 15:18:40 +03:00
zhkh_flats_load.py fix(tradein): cadastre ЖКХ-fallback + COALESCE merge-key + median-floors guard 2026-06-29 01:32:48 +03:00