feat(tradein): калибровка repair-коэффициентов с base 1.0 (#7) #619

Merged
Light1YT merged 1 commit from feat/tradein-repair-coef-calibration into main 2026-05-28 11:16:00 +00:00
Owner

Summary

Поправка на ремонт уже была реализована (a7d0101), но коэффициенты не откалиброваны + база была 0.98 (срезала 2% с каждой standard-оценки). Перекалибровано: needs_repair=0.94 / standard=1.00 (baseline no-op) / good=1.05 / excellent=1.10.

Почему не из данных

Проверил прод: listings.repair_state покрытие ~2% (avito 1%, cian 5%, yandex/n1 0%), значения сырые un-normalized (cosmetic/euro/fine/without/designer/rough вместо enum), медианы confounded площадью (without-отделки 193k > euro 167k — немонотонно). Деривация = мусор. Коэффициенты помечены как tunable-эвристика.

Follow-up для настоящего v2

  1. Нормализовать listings.repair_state → enum
  2. Поднять repair-покрытие в скраперах

Tests

5 new (ratio, baseline no-op, None no-op, note present/absent — читают _REPAIR_COEF динамически) + 7 cian-integration. Ruff clean. code-reviewer APPROVE (mechanics корректны, application-блок не тронут, _IMV_REPAIR_MAP не тронут).

Closes #7.

## Summary Поправка на ремонт уже была реализована (a7d0101), но коэффициенты не откалиброваны + база была 0.98 (срезала 2% с каждой standard-оценки). Перекалибровано: needs_repair=0.94 / standard=1.00 (baseline no-op) / good=1.05 / excellent=1.10. ## Почему не из данных Проверил прод: listings.repair_state покрытие ~2% (avito 1%, cian 5%, yandex/n1 0%), значения сырые un-normalized (cosmetic/euro/fine/without/designer/rough вместо enum), медианы confounded площадью (without-отделки 193k > euro 167k — немонотонно). Деривация = мусор. Коэффициенты помечены как tunable-эвристика. ## Follow-up для настоящего v2 1. Нормализовать listings.repair_state → enum 2. Поднять repair-покрытие в скраперах ## Tests 5 new (ratio, baseline no-op, None no-op, note present/absent — читают _REPAIR_COEF динамически) + 7 cian-integration. Ruff clean. code-reviewer APPROVE (mechanics корректны, application-блок не тронут, _IMV_REPAIR_MAP не тронут). Closes #7.
Light1YT added 1 commit 2026-05-28 11:15:58 +00:00
_REPAIR_COEF → tunable market-эвристика: needs_repair=0.94, standard=1.00
(baseline no-op; было 0.98 — срезало 2% с каждой standard-оценки), good=1.05,
excellent=1.10. Деривация из данных отклонена: listings.repair_state покрытие
~2%, сырые un-normalized значения, медианы confounded площадью (issue #7).

+ regression-тест (читает _REPAIR_COEF динамически — переживёт рекалибровку):
ratio excellent/needs_repair, standard/None no-op, наличие/отсутствие note.
Поправлен mislabeled comment над _IMV_HOUSE_TYPE_MAP. _IMV_REPAIR_MAP не тронут.

code-reviewer:  APPROVE no critical/minor. Tests: 5 new + 7 cian-integration.
Ruff clean.

Closes #7
Light1YT merged commit 3dfa179d47 into main 2026-05-28 11:16:00 +00:00
Sign in to join this conversation.
No reviewers
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#619
No description provided.