Deterministic, no-LLM market metrics from Objective data for a location (district and/or obj_ids): absorption_rate, months_of_supply, sell_through_pct, unit/area_velocity, liquidity_index per room-type, overstock_index, demand_concentration (HHI), price_sensitivity (reuses analytics_queries._elasticity_coef). Frozen MarketMetrics dataclass + as_dict, sample-size confidence (§15 spirit). Graceful on thin data (the #1 coverage risk): no data → metric None (never 0/crash), confidence='low'. Filters by district/obj_ids to sidestep the sparse domrf↔objective mapping. Read-only SELECTs, 55 unit/mock tests. Consumed by forecast (#952) + relevance (#949 PR B). No migration, no endpoint. |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| models | ||
| observability | ||
| schemas | ||
| scrapers | ||
| services | ||
| templates | ||
| workers | ||
| __init__.py | ||
| main.py | ||