[EPIC] tradein: расширение Меры на всю Свердловскую область #2576

Open
opened 2026-07-31 13:01:41 +00:00 by lekss361 · 0 comments
Owner

Разведка проведена 2026-07-31 (три направления: данные в БД, код, рынок). Ниже — состояние и план. Эпик открыт после эпика ролевки #2549.

Что уже готово (сделано в июле, работать будет без правок)

Геокодер oblast-aware (#2504), сделки Росреестра по всей области, ценовые коридоры, СберИндекс (регион 66), загрузчики ГИС ЖКХ / ГАР / ДОМ.РФ, PDF-отчёты (13 городов + честный дефолт), поиск и каталог домов, Циан-скрапер (region_id параметризован). Оценщик честно понижает уверенность, когда считает по сделкам вместо объявлений.

Что измерено

Данные: единственный источник с честным покрытием области — deals Росреестра (97к записей, 370 нас. пунктов, 9 кварталов). Живых объявлений вне ЕКБ почти нет: Н.Тагил 260, Первоуральск 7, Каменск-Уральский и Серов — 0. Справочник houses вне ЕКБ почти пуст (5894 из 6526 — ЕКБ).

Практика: продукт не выдал ни одной рабочей оценки вне ЕКБ. По Первоуральску и Каменску-Уральскому попыток не было вообще, по Серову 29 попыток → n_analogs=0, по Н.Тагилу 6 из 7 → n_analogs=0.

Рынок: самостоятельный рынок с достаточным объёмом дают Н.Тагил (328к жит.), Каменск-Уральский (160к), Первоуральск (111к). Спутники (В.Пышма, Берёзовский) — дёшево технически, но цены уже почти екатеринбургские. В городах <20-25к жителей одновременно висит <20 объявлений — автооценка методологически ненадёжна.

Блокеры (по убыванию вреда)

  1. P0 #2574 — сбор данных стоял (прокси). Чинится сейчас; без него расширение бессмысленно.
  2. 4 из 5 city-sweep выключены с 13 июля (avito/cian/yandex_city_sweep_* для kamensk_uralskiy, pervouralsk, serov, verkhnyaya_pyshma) — работает только Н.Тагил. «Обучен карте» ≠ «собирается».
  3. Геокодер молча подставляет Екатеринбург (geocoder.py:464,674,748), если в адресе нет маркера города; фронт город не передаёт вообще. Житель Тагила, вбивший «Ленина, 1», получит оценку по чужому городу — тихая неверная цена.
  4. deal_city_price_bands без авто-refresh (SQL 178): для города без строки действует глобальный порог DEAL_MIN_PPM2=50_000, откалиброванный по ЕКБ. В Североуральске медиана ~21.7к — весь город молча отбрасывается как «нерыночный».
  5. avito_detail_backfill.py:208 — жёсткий фильтр source_url LIKE '%/ekaterinburg/%': объявления других городов никогда не получат координаты и 30+ полей детали.
  6. CITY_LOCATIONS — 5 городов из ~30 (pipeline.py:330). Остальные не скрейпятся ничем.
  7. Domclick EKB-only (providers/domclick/detail.py:9), houses вне ЕКБ почти пуст.

План (порядок важен)

  • A. Разблокировать сбор#2574 (прокси/ротация) + включить 4 выключенных city-sweep, убедиться что данные идут.
  • B. Закрыть тихие дефекты — геокодер (город с фронта + запрет молчаливого EKB-дефолта), авто-refresh ценовых бэндов, снять EKB-фильтр в avito detail. Это чинит качество уже существующей области.
  • C. Расширить охват городовCITY_LOCATIONS до приоритета 1-2 (Н.Тагил, Каменск-Уральский, Первоуральск, В.Пышма, Берёзовский, Серов, Новоуральск, Ревда, Асбест, Полевской), наполнить houses.
  • D. Честность на тонком рынке — явный порог: если аналогов меньше N, не показывать точную цифру как обычную оценку. Для моногородов и <20к жителей — либо не запускать, либо явная низкая уверенность.

Принцип

Расширять охват только после B: сейчас каждый новый город добавляет не оценки, а риск уверенно неверной цены. Тихая ошибка хуже отказа.

Разведка проведена 2026-07-31 (три направления: данные в БД, код, рынок). Ниже — состояние и план. Эпик открыт после эпика ролевки #2549. ## Что уже готово (сделано в июле, работать будет без правок) Геокодер oblast-aware (#2504), сделки Росреестра по всей области, ценовые коридоры, СберИндекс (регион 66), загрузчики ГИС ЖКХ / ГАР / ДОМ.РФ, PDF-отчёты (13 городов + честный дефолт), поиск и каталог домов, Циан-скрапер (region_id параметризован). Оценщик честно понижает уверенность, когда считает по сделкам вместо объявлений. ## Что измерено **Данные:** единственный источник с честным покрытием области — `deals` Росреестра (97к записей, 370 нас. пунктов, 9 кварталов). Живых объявлений вне ЕКБ почти нет: Н.Тагил 260, Первоуральск 7, Каменск-Уральский и Серов — 0. Справочник `houses` вне ЕКБ почти пуст (5894 из 6526 — ЕКБ). **Практика:** продукт не выдал ни одной рабочей оценки вне ЕКБ. По Первоуральску и Каменску-Уральскому попыток не было вообще, по Серову 29 попыток → `n_analogs=0`, по Н.Тагилу 6 из 7 → `n_analogs=0`. **Рынок:** самостоятельный рынок с достаточным объёмом дают Н.Тагил (328к жит.), Каменск-Уральский (160к), Первоуральск (111к). Спутники (В.Пышма, Берёзовский) — дёшево технически, но цены уже почти екатеринбургские. В городах <20-25к жителей одновременно висит <20 объявлений — автооценка методологически ненадёжна. ## Блокеры (по убыванию вреда) 1. **P0 #2574 — сбор данных стоял** (прокси). Чинится сейчас; без него расширение бессмысленно. 2. **4 из 5 city-sweep выключены** с 13 июля (`avito/cian/yandex_city_sweep_*` для kamensk_uralskiy, pervouralsk, serov, verkhnyaya_pyshma) — работает только Н.Тагил. «Обучен карте» ≠ «собирается». 3. **Геокодер молча подставляет Екатеринбург** (`geocoder.py:464,674,748`), если в адресе нет маркера города; фронт город не передаёт вообще. Житель Тагила, вбивший «Ленина, 1», получит оценку по чужому городу — **тихая неверная цена**. 4. **`deal_city_price_bands` без авто-refresh** (SQL 178): для города без строки действует глобальный порог `DEAL_MIN_PPM2=50_000`, откалиброванный по ЕКБ. В Североуральске медиана ~21.7к — весь город молча отбрасывается как «нерыночный». 5. **`avito_detail_backfill.py:208`** — жёсткий фильтр `source_url LIKE '%/ekaterinburg/%'`: объявления других городов никогда не получат координаты и 30+ полей детали. 6. **`CITY_LOCATIONS` — 5 городов из ~30** (`pipeline.py:330`). Остальные не скрейпятся ничем. 7. Domclick EKB-only (`providers/domclick/detail.py:9`), `houses` вне ЕКБ почти пуст. ## План (порядок важен) - **A. Разблокировать сбор** — #2574 (прокси/ротация) + включить 4 выключенных city-sweep, убедиться что данные идут. - **B. Закрыть тихие дефекты** — геокодер (город с фронта + запрет молчаливого EKB-дефолта), авто-refresh ценовых бэндов, снять EKB-фильтр в avito detail. Это чинит *качество* уже существующей области. - **C. Расширить охват городов** — `CITY_LOCATIONS` до приоритета 1-2 (Н.Тагил, Каменск-Уральский, Первоуральск, В.Пышма, Берёзовский, Серов, Новоуральск, Ревда, Асбест, Полевской), наполнить `houses`. - **D. Честность на тонком рынке** — явный порог: если аналогов меньше N, не показывать точную цифру как обычную оценку. Для моногородов и <20к жителей — либо не запускать, либо явная низкая уверенность. ## Принцип Расширять охват **только после** B: сейчас каждый новый город добавляет не оценки, а риск уверенно неверной цены. Тихая ошибка хуже отказа.
lekss361 added the
business
enhancement
priority/p2
scope/backend
tradein
labels 2026-08-16 10:25:08 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2576
No description provided.