[tradein][analytics] Point-in-time backtest на listing_source_snapshots — заблокировано данными, не кодом #2320

Open
opened 2026-07-03 21:25:38 +00:00 by lekss361 · 0 comments
Owner

Follow-up от #1966 (закрыт 2026-07-03 — остальной DoD реализован сериями PR #1976/#1966-PR2/3/#9448a945/#2255).

Проблема

Единственный нерешённый пункт DoD #1966: честный point-in-time backtest — брать asking-медиану на дату сделки из listing_source_snapshots, а не текущее состояние listings vs прошлые ДКП (time-mismatch).

Почему не сейчас — блокер данных, не инженерный

  • listing_source_snapshots копится только с 2026-05-30.
  • Свежие ДКП (deals) имеют квартальный лаг регистрации Росреестра.
  • Пересечение окна snapshot-истории и дат сделок на 2026-07-03 практически нулевое.
  • Прогноз пересечения (из аудита 06-27, не переподтверждён на дату закрытия #1966): не раньше ~Q4 2026.

Что можно сделать заранее (низкий приоритет, необязательно)

  • database-expert: разовый read-only запрос — MIN(snapshot_date) из listing_source_snapshots vs MAX(deal_date) из deals, посчитать текущий overlap-window. Не для запуска бэктеста — чтобы иметь актуальный ETA вместо предположения недельной давности.

DoD (когда данные накопятся)

  • backend-engineer: --point-in-time режим в scripts/backtest_estimator.py — источник цены листинга из snapshot на дату ≈ deal_date конкретной ДКП (join по временному окну), пересчёт full-spine метрик (гарнесс уже full-spine, нужен только другой источник цены на вход).

Не блокирует

Ничего в текущем backlog не зависит от этого issue. Blocked-until: overlap-window > 0 (переоценить не раньше Q4 2026, или раньше если появится другой источник исторических asking-цен).

Refs #1966, #570.

Follow-up от #1966 (закрыт 2026-07-03 — остальной DoD реализован сериями PR #1976/#1966-PR2/3/#9448a945/#2255). ## Проблема Единственный нерешённый пункт DoD #1966: честный point-in-time backtest — брать asking-медиану **на дату сделки** из `listing_source_snapshots`, а не текущее состояние listings vs прошлые ДКП (time-mismatch). ## Почему не сейчас — блокер данных, не инженерный - `listing_source_snapshots` копится только с 2026-05-30. - Свежие ДКП (`deals`) имеют квартальный лаг регистрации Росреестра. - Пересечение окна snapshot-истории и дат сделок на 2026-07-03 практически нулевое. - Прогноз пересечения (из аудита 06-27, не переподтверждён на дату закрытия #1966): не раньше ~Q4 2026. ## Что можно сделать заранее (низкий приоритет, необязательно) - `database-expert`: разовый read-only запрос — `MIN(snapshot_date)` из `listing_source_snapshots` vs `MAX(deal_date)` из `deals`, посчитать текущий overlap-window. Не для запуска бэктеста — чтобы иметь актуальный ETA вместо предположения недельной давности. ## DoD (когда данные накопятся) - `backend-engineer`: `--point-in-time` режим в `scripts/backtest_estimator.py` — источник цены листинга из snapshot на дату ≈ `deal_date` конкретной ДКП (join по временному окну), пересчёт full-spine метрик (гарнесс уже full-spine, нужен только другой источник цены на вход). ## Не блокирует Ничего в текущем backlog не зависит от этого issue. Blocked-until: overlap-window > 0 (переоценить не раньше Q4 2026, или раньше если появится другой источник исторических asking-цен). Refs #1966, #570.
lekss361 added the
analytics
ci
scope/backend
tradein
labels 2026-07-03 21:25:47 +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#2320
No description provided.