feat(backtest): read-only estimator-vs-ДКП accuracy harness (#648) #649

Merged
Light1YT merged 1 commit from feat/648-backtest-estimator into main 2026-05-29 12:54:00 +00:00
Owner

Read-only harness measuring estimator accuracy vs rosreestr ДКП sold prices. SELECT-only (code-reviewer verified airtight — no writes). Reuses estimator._filter_outliers/_percentile. Prod run (sample 60): over-predicts sold by median +29.6%, MAPE 30.5% — confirms #648. 19 unit tests. Merge = no prod behavior change (script not wired into app/scheduler).

Refs #648, #647.

Read-only harness measuring estimator accuracy vs rosreestr ДКП sold prices. SELECT-only (code-reviewer verified airtight — no writes). Reuses estimator._filter_outliers/_percentile. Prod run (sample 60): **over-predicts sold by median +29.6%, MAPE 30.5%** — confirms #648. 19 unit tests. Merge = no prod behavior change (script not wired into app/scheduler). Refs #648, #647.
Light1YT added 1 commit 2026-05-29 12:53:59 +00:00
Add scripts/backtest_estimator.py — measures the asking-median+IQR estimator
core against rosreestr ДКП sold prices. Reuses estimator._filter_outliers /
_percentile for fidelity; SELECT-only, no writes. Reports overall + per-rooms
bias / MAPE / p25-p75 and a city-wide ask-vs-deal spread; --json + argparse.

Prod run (sample 60): estimator over-predicts sold prices by median +29.6%
(MAPE 30.5%) — a confirmed systematic asking→sold bias (#648). Pure metric
helpers factored out and unit-tested (19 tests, no live DB).
Light1YT merged commit 228d12eab1 into main 2026-05-29 12:54:00 +00:00
Light1YT deleted branch feat/648-backtest-estimator 2026-05-29 12:54:01 +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#649
No description provided.