docs(mera/estimate): сегментные множители откалиброваны на артефакте измерения — предупреждение в конфиге #3249

Merged
lekss361 merged 1 commit from docs/3249-segment-multiplier-artifact-guard into main 2026-08-29 19:55:42 +00:00
Owner

Summary

Комментарий к estimate_segment_multipliers утверждал, что движок систематически занижает верхние сегменты (бизнес −16.3%, элит −25.7%), и множители 1.08/1.06 это чинят. Посылка оказалась артефактом измерения.

scripts/backtest_estimator.py::_segment_metrics группирует ошибки по SOLD ₽/м² — по той самой величине, которую движок предсказывает. Группировка по исходу даёт регрессию к среднему: монотонный спуск «чем дороже сегмент, тем сильнее занижаем» появляется у ЛЮБОГО предиктора.

Контрольный опыт (13 074 сделки ЕКБ с 2025-06), предиктор без сегментного перекоса по построению:

бэнд по SOLD артефакт реальный движок (n=1191)
эконом +22.28% +2.46%
комфорт −3.24% −1.69%
бизнес −17.04% −9.74%
элит −30.06% −18.45%

Артефакт больше наблюдаемого перекоса в каждой верхней корзине. Перекрёстная проверка с бэндом по независимому прокси (медиана объявлений собственного дома, own_n≥3) градиента не показывает вовсе — остаётся ровный уровень +20…+27%, то есть разрыв asking↔sold, который чинит asking_to_sold_ratio.

Что меняется

Только текст комментария. Флаг estimate_segment_multiplier_enabled как был False, так и остался; значения множителей не тронуты. Историческая посылка сохранена дословно, но помечена как ненадёжная.

Смысл правки — предотвратить чужую ошибку: комментарий выглядел как готовое обоснование включить флаг, что подняло бы бизнес и элит на 6-8% без причины.

Test plan

  • config.py парсится, settings загружается
  • estimate_segment_multiplier_enabled = False, множители байт-в-байт прежние
  • CI зелёный (поведенческих изменений нет — правка комментариев)

Разбор: vault segment-bias-is-regression-to-the-mean-artifact.

## Summary Комментарий к `estimate_segment_multipliers` утверждал, что движок систематически занижает верхние сегменты (бизнес −16.3%, элит −25.7%), и множители 1.08/1.06 это чинят. **Посылка оказалась артефактом измерения.** `scripts/backtest_estimator.py::_segment_metrics` группирует ошибки **по SOLD ₽/м²** — по той самой величине, которую движок предсказывает. Группировка по исходу даёт регрессию к среднему: монотонный спуск «чем дороже сегмент, тем сильнее занижаем» появляется у ЛЮБОГО предиктора. Контрольный опыт (13 074 сделки ЕКБ с 2025-06), предиктор без сегментного перекоса по построению: | бэнд по SOLD | артефакт | реальный движок (n=1191) | |---|---|---| | эконом | +22.28% | +2.46% | | комфорт | −3.24% | −1.69% | | бизнес | **−17.04%** | −9.74% | | элит | **−30.06%** | −18.45% | Артефакт больше наблюдаемого перекоса в каждой верхней корзине. Перекрёстная проверка с бэндом по независимому прокси (медиана объявлений собственного дома, own_n≥3) градиента не показывает вовсе — остаётся ровный уровень +20…+27%, то есть разрыв asking↔sold, который чинит `asking_to_sold_ratio`. ## Что меняется Только текст комментария. Флаг `estimate_segment_multiplier_enabled` как был `False`, так и остался; значения множителей не тронуты. Историческая посылка сохранена дословно, но помечена как ненадёжная. Смысл правки — предотвратить чужую ошибку: комментарий выглядел как готовое обоснование включить флаг, что подняло бы бизнес и элит на 6-8% без причины. ## Test plan - [x] `config.py` парсится, `settings` загружается - [x] `estimate_segment_multiplier_enabled` = `False`, множители байт-в-байт прежние - [ ] CI зелёный (поведенческих изменений нет — правка комментариев) Разбор: vault `segment-bias-is-regression-to-the-mean-artifact`.
lekss361 added 1 commit 2026-08-29 19:50:05 +00:00
docs(mera/estimate): пометить сегментные множители как откалиброванные на артефакте
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 10s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m56s
d5201c37f6
Комментарий к estimate_segment_multipliers утверждал, что движок систематически
занижает верхние сегменты (бизнес -16.3%, элит -25.7%), и множители 1.08/1.06
это чинят. Посылка неверна: _segment_metrics в бэктесте группирует ошибки по
SOLD руб/м2 — по той самой величине, которую движок предсказывает. Группировка
по исходу даёт регрессию к среднему, и монотонный спуск «чем дороже сегмент,
тем сильнее занижаем» появляется у любого предиктора.

Контрольный опыт на 13074 сделках ЕКБ: предиктор без сегментного перекоса по
построению даёт в тех же корзинах бизнес -17.04%, элит -30.06% — больше, чем
наблюдавшийся перекос движка (-9.74% и -18.45% на n=1191). Перекрёстная
проверка с бэндом по независимому прокси (цена собственного дома) градиента не
показывает вовсе.

Флаг выключен, поведение не меняется — правка только текстовая. Смысл: не дать
включить множители по прежнему обоснованию, подняв бизнес и элит на 6-8% без
причины. Историческая посылка сохранена, но помечена как ненадёжная.
lekss361 merged commit 0bdc7227a3 into main 2026-08-29 19:55:42 +00:00
lekss361 deleted branch docs/3249-segment-multiplier-artifact-guard 2026-08-29 19:55:43 +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#3249
No description provided.