Ряд Московской области в Сбериндексе — грузим заранее, до включения региона 50 #3498

Merged
lekss361 merged 1 commit from feat/sber-index-mo into main 2026-09-12 12:56:38 +00:00
Owner

Зачем сейчас, а не вместе с регионом

Под задачу «регион 50 в продукт» нужна поправка на время по области. Разведка предлагала просто завести имя ряда в карте эстиматора. SQL показал, что заводить нечего: в sber_price_index лежат ровно три города.

Город Точек Последний месяц
Москва 216 2026-07
Свердловская область 216 2026-07
Россия 216 2026-07

Строка в карте без загруженного ряда молча увела бы оценку на общероссийский ряд — ровно в ту ошибку, от которой карта и защищает.

Источник проверен живьём

Запросил REF_AREA=50 из прода 12.09.2026. Область есть на всех трёх дашбордах, под именем «Московская область», с той же глубиной и свежестью, что Москва.

Дашборд Точек Период
real_estate_deals 116 2017-01 … 2026-08
residential_real_estate_prices 47 2022-10 … 2026-08
dinamika-tsen-obyavlenii 56 2021-12 … 2026-07

Загрузку включаем заранее и отдельно: ряд наполняется месяцами и задним числом не восстанавливается. Начнём грузить одновременно с включением региона — первые недели область будет считаться по стране.

Почему это ничего не ломает

Эстиматор берёт ряды через _SBER_REGION_SERIES; кода 50 там нет, и до его появления область в расчёт не попадает. Монитор свежести тоже молчит: списки обязательных и наблюдаемых рядов считаются от карты эстиматора, а не от карты загрузчика. Тест это закрепляет, чтобы связь не разъехалась при следующей правке.

Test plan

  • REF_AREA=50 отдаёт «Московская область» на всех трёх дашбордах (живой запрос из прода)
  • Область не попала ни в обязательные, ни в наблюдаемые ряды
  • 86 passed по четырём сберовским тест-файлам
  • ruff check — чисто
  • Первый штатный прогон sber_index_pull подтянет область

🤖 Generated with Claude Code

https://claude.ai/code/session_01NQb6WeJtagZwZnUsSjDizs

## Зачем сейчас, а не вместе с регионом Под задачу «регион 50 в продукт» нужна поправка на время по области. Разведка предлагала просто завести имя ряда в карте эстиматора. SQL показал, что заводить нечего: в `sber_price_index` лежат ровно три города. | Город | Точек | Последний месяц | |---|---|---| | Москва | 216 | 2026-07 | | Свердловская область | 216 | 2026-07 | | Россия | 216 | 2026-07 | Строка в карте без загруженного ряда молча увела бы оценку на общероссийский ряд — ровно в ту ошибку, от которой карта и защищает. ## Источник проверен живьём Запросил `REF_AREA=50` из прода 12.09.2026. Область есть на всех трёх дашбордах, под именем «Московская область», с той же глубиной и свежестью, что Москва. | Дашборд | Точек | Период | |---|---|---| | real_estate_deals | 116 | 2017-01 … 2026-08 | | residential_real_estate_prices | 47 | 2022-10 … 2026-08 | | dinamika-tsen-obyavlenii | 56 | 2021-12 … 2026-07 | Загрузку включаем **заранее и отдельно**: ряд наполняется месяцами и задним числом не восстанавливается. Начнём грузить одновременно с включением региона — первые недели область будет считаться по стране. ## Почему это ничего не ломает Эстиматор берёт ряды через `_SBER_REGION_SERIES`; кода 50 там нет, и до его появления область в расчёт не попадает. Монитор свежести тоже молчит: списки обязательных и наблюдаемых рядов считаются от карты **эстиматора**, а не от карты загрузчика. Тест это закрепляет, чтобы связь не разъехалась при следующей правке. ## Test plan - [x] `REF_AREA=50` отдаёт «Московская область» на всех трёх дашбордах (живой запрос из прода) - [x] Область не попала ни в обязательные, ни в наблюдаемые ряды - [x] 86 passed по четырём сберовским тест-файлам - [x] `ruff check` — чисто - [ ] Первый штатный прогон `sber_index_pull` подтянет область 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01NQb6WeJtagZwZnUsSjDizs
lekss361 added 1 commit 2026-09-12 12:45:34 +00:00
feat(sber-index): грузим ряд Московской области заранее, до появления региона 50
All checks were successful
CI / changes (pull_request) Successful in 10s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 7s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 7m9s
1dc1d75cf1
Под задачу «регион 50 в продукт» нужна поправка на время по области. Разведка
предлагала завести имя ряда в карте эстиматора — но SQL показал, что ряда в БД
нет вовсе: в sber_price_index лежат ровно три города, Москва, Свердловская
область и Россия. Строка в карте без загруженного ряда молча увела бы оценку на
общероссийский ряд, то есть ровно в ту ошибку, от которой карта и защищает.

Проверил источник живьём 12.09.2026 через прод: REF_AREA=50 отдаёт данные под
именем «Московская область» на всех трёх дашбордах, глубина и свежесть те же,
что у Москвы — real_estate_deals 116 месячных точек 2017-01..2026-08.

Поэтому загрузку включаем СЕЙЧАС, отдельно и заранее. Ряд наполняется месяцами
и задним числом не восстанавливается: начнём грузить вместе с включением
региона — первые недели область будет считаться по стране.

На оценку это ничего не меняет. Эстиматор берёт ряды через _SBER_REGION_SERIES,
кода 50 там нет, и до его появления область в расчёт не попадает. Монитор
свежести тоже молчит: SBER_REQUIRED_REGIONS и SBER_MONITORED_REGIONS считаются
от карты ЭСТИМАТОРА, а не от карты загрузчика — это и закреплено тестом, чтобы
связь не разъехалась при следующей правке.

Тесты: 86 passed по четырём сберовским файлам, ruff чистый.

Claude-Session: https://claude.ai/code/session_01NQb6WeJtagZwZnUsSjDizs
lekss361 merged commit 3ed759da7d into main 2026-09-12 12:56:38 +00:00
lekss361 deleted branch feat/sber-index-mo 2026-09-12 12:56:38 +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#3498
No description provided.