feat(tradein): add data_quality flag to /sales-vs-listings (#721) #723

Merged
bot-reviewer merged 1 commit from feat/721-data-quality-flag into main 2026-05-30 13:21:09 +00:00
2 changed files with 4 additions and 0 deletions

View file

@ -1581,6 +1581,7 @@ def get_sales_vs_listings(
deals_with_listings=0,
linkage_rate_pct=0.0,
median_discount_pct=None,
data_quality="no_data", # #721 ADR v3: нет сделок / улица не извлеклась
pairs=[],
)
@ -1686,5 +1687,7 @@ def get_sales_vs_listings(
deals_with_listings=deals_with_listings,
linkage_rate_pct=linkage_rate_pct,
median_discount_pct=median_discount,
# #721 ADR v3: total_deals>0 здесь (guard `if not rows` выше → _empty).
data_quality="house_linked" if deals_with_listings > 0 else "street_only",
pairs=pairs,
)

View file

@ -457,6 +457,7 @@ class SalesVsListingsResponse(BaseModel):
deals_with_listings: int # сколько имеют связанный listing
linkage_rate_pct: float # deals_with_listings / total_deals * 100
median_discount_pct: float | None # медиана по парам с listing
data_quality: str # "house_linked" | "street_only" | "no_data" (#721, ADR v3)
pairs: list[SalesListingPair] # все пары, sorted by deal_date DESC