gendesign/tradein-mvp/backend/app/core
lekss361 bd7f40428a feat(tradein): same-building anchor estimator (#651/#652 v2) behind flag
Replaces radius-median ppm2 with a same-building anchor (Tier A: normalized
street+house comps; Tier C: <=500m segment-matched; Tier D: existing radius
fallback). Similarity-weighted mean + guarded premium uplift + ppm2-banded
asking->sold haircut + hard guardrail + tightened FSD range. Fixes ~2.5x
premium underestimate / 15-25% comfort dilution. Address normalizer handles
e->e, Tkacheva->Tkachey alias, base-house-number across corpus letters.
Behind estimate_same_building_anchor_enabled (default on); OFF = prior behavior.
Validated offline (55 golden: coverage 53->95%, premium medAPE 53->18%) + 4 live cases.
19 new tests; full suite 1106 passed; ruff clean.

Refs #651 #652
2026-05-29 23:51:34 +03:00
..
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
auth.py feat(rbac): role-based access control via X-Authenticated-User middleware (#585) 2026-05-26 06:18:40 +00:00
config.py feat(tradein): same-building anchor estimator (#651/#652 v2) behind flag 2026-05-29 23:51:34 +03:00
db.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
fdw.py feat(tradein): postgres_fdw live read of gendesign.cad_buildings (replaces snapshot) (#493) 2026-05-24 08:57:30 +00:00
ratelimit.py fix(tradein): bypass rate-limit for authenticated pilots + configurable limit (#655) (#669) 2026-05-29 15:56:30 +00:00