gendesign/tradein-mvp/backend
lekss361 7eeffe353a feat(tradein): house analytics section на trade-in странице
Backend: GET /api/v1/trade-in/estimate/{id}/house-analytics — resolves target
house_ids через нормализованный адрес или geo-fallback 100m, expand до 300m
если в самом доме <8 hist rows. Возвращает:
- price_history: median ₽/м² по году (из house_placement_history)
- recent_sold: последние 12 мес снятые с фактической ценой + торгом
- kpi: median exposure_days, median bargain %, sold_rate %

Frontend: HouseAnalyticsSection (под PlacementHistoryCard) c 3 блоками:
- PriceHistoryChart (Recharts line, median ₽/м²)
- HouseAnalyticsKpiRow (3 KPI cards)
- RecentSoldList (таблица снятых лотов)

Использует уже собранные данные house_placement_history (15k+ rows от
backfill scripts: avito_imv + yandex_valuation). Новых таблиц нет.
2026-05-24 21:00:42 +03:00
..
app feat(tradein): house analytics section на trade-in странице 2026-05-24 21:00:42 +03:00
data/sql feat(tradein): Phase C — Avito IMV per-house backfill (SQL + script) (#534) 2026-05-24 14:50:31 +00:00
tests refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row (#544) 2026-05-24 16:25:56 +00:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
pyproject.toml fix(tradein-photos): sanitize uploaded images via Pillow re-encode (#511) 2026-05-24 11:32:04 +00:00