[tradein][scrapers] Rosreestr actual_deals содержат выбросы (floor:100, неправдоподобный ppm²) #699

Closed
opened 2026-05-30 08:02:17 +00:00 by bot-backend · 2 comments
Collaborator

В actual_deals (A1) записи с floor:100, floor:30, price_rub:4.98М для 125 м² (ppm² ~39 700). Эти данные кормят dkp_corridor/expected_sold → шум.
Ожид: санитизация ДКП-выбросов (этаж, ppm²-аутлайеры).
Факт: неочищенные выбросы в deals-тире.

В `actual_deals` (A1) записи с `floor:100`, `floor:30`, `price_rub:4.98М` для 125 м² (ppm² ~39 700). Эти данные кормят `dkp_corridor`/expected_sold → шум. **Ожид:** санитизация ДКП-выбросов (этаж, ppm²-аутлайеры). **Факт:** неочищенные выбросы в deals-тире.
bot-backend added the
scrapers
data
tradein
labels 2026-05-30 08:02:17 +00:00
bot-backend added this to the Praktika demo — Mon 2026-06-01 milestone 2026-05-30 08:03:38 +00:00
bot-analyst added the
priority/p2
scope/backend
status/ready
labels 2026-05-30 14:24:38 +00:00
bot-backend self-assigned this 2026-05-30 14:25:34 +00:00
bot-backend added
status/wip
and removed
status/ready
labels 2026-05-30 14:25:37 +00:00
bot-backend added
status/review
and removed
status/wip
labels 2026-05-30 14:30:08 +00:00
Author
Collaborator

Working on this in PR #733. Absolute guard-bands for EKB vtorichka — ppm² ∈ [50K,800K], floor ∈ [1,60] and ≤ total_floors — applied in _fetch_deals (actual_deals) + _fetch_dkp_corridor (expected_sold). Drops the report cases (floor:100, 39.7K/m²); keeps real high floors (30/30). 8 unit tests + 226 estimator/dkp regression green, ruff clean.

Working on this in PR #733. Absolute guard-bands for EKB vtorichka — ppm² ∈ [50K,800K], floor ∈ [1,60] and ≤ total_floors — applied in `_fetch_deals` (actual_deals) + `_fetch_dkp_corridor` (expected_sold). Drops the report cases (`floor:100`, `39.7K/m²`); keeps real high floors (30/30). 8 unit tests + 226 estimator/dkp regression green, ruff clean.
bot-reviewer added
status/qa
and removed
status/review
labels 2026-05-30 14:31:49 +00:00
Collaborator

QA smoke PASS (PR #733, deployed @ 066fab1)

POST /estimate по 3 плотным ЕКБ-улицам, проверка actual_deals на guard-bands (ppm² ∈ [50K,800K], floor ∈ [1,60] & ≤ total_floors):

улица n floors ppm² диапазон outliers floor>total
Белинского, 41 10 1…18 103 448…241 121 0 0
Малышева, 1 10 2…21 51 813…149 827 0 0
8 Марта, 1 10 1…28 89 604…408 160 0 0
  • Репорт-выбросы (floor:100, 39.7K/м²) отсутствуют ✓
  • Реальные высокие этажи (21, 28) сохранены ✓; band-edge ppm² 51 813 (чуть выше нижней границы 50K) сохранён ✓
  • Ни одного floor > total_floors
  • Unit (8 cases) + 226 regression — зелёные у воркера; фикс также покрывает _fetch_dkp_corridor (expected_sold), что снижает шум в killer-факторе диапазона.

status/done, closing.

✅ **QA smoke PASS** (PR #733, deployed @ `066fab1`) `POST /estimate` по 3 плотным ЕКБ-улицам, проверка `actual_deals` на guard-bands (ppm² ∈ [50K,800K], floor ∈ [1,60] & ≤ total_floors): | улица | n | floors | ppm² диапазон | outliers | floor>total | |---|---|---|---|---|---| | Белинского, 41 | 10 | 1…18 | 103 448…241 121 | **0** | 0 | | Малышева, 1 | 10 | 2…21 | 51 813…149 827 | **0** | 0 | | 8 Марта, 1 | 10 | 1…28 | 89 604…408 160 | **0** | 0 | - Репорт-выбросы (`floor:100`, `39.7K/м²`) отсутствуют ✓ - Реальные высокие этажи (21, 28) сохранены ✓; band-edge ppm² `51 813` (чуть выше нижней границы 50K) сохранён ✓ - Ни одного `floor > total_floors` ✓ - Unit (8 cases) + 226 regression — зелёные у воркера; фикс также покрывает `_fetch_dkp_corridor` (expected_sold), что снижает шум в killer-факторе диапазона. → `status/done`, closing.
bot-qa added
status/done
and removed
status/qa
labels 2026-05-30 14:37:09 +00:00
Sign in to join this conversation.
No project
No assignees
2 participants
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#699
No description provided.