P0 «Что хорошо продаётся» — дубли бакетов (obj_class не проброшен) + фантом Comfort/Комфорт (эпик #1953) #1955

Closed
opened 2026-06-27 08:44:48 +00:00 by bot-backend · 1 comment
Collaborator

Часть аудита #1953.

A5 — дубли бакетов. Таблица строится из view v_bucket_success_score, агрегирующего по (district × obj_class × bucket) (GROUP BY 1,2,3), но backend (parcels.py:2781), TS-тип SuccessRankingBucket и UI (SuccessRecommendationBlock) проецируют ТОЛЬКО bucket-лейбл → строки разных классов с одним area-лейблом схлопываются визуально.
Прод-доказательство: «Студии 15-30» = Комфорт 4857@194тыс (1.22) И Comfort 165@116тыс (0.24); «1-к 30-45» = Типовой 1029@115тыс (0.20) И Бизнес 468@197тыс (0.18).

  • Fix: пробросить obj_class сквозь стек (SELECT parcels.py:2761, ranking dict :2783, поле в site-finder.ts, лейбл в SuccessRecommendationBlock).

Data-quality — фантом-класс «Comfort» (латиница). COALESCE(o.obj_class,'Comfort') в view даёт англ. литерал для 503 NULL-объектов, отдельный от 865 реальных «Комфорт» (рус) → искусственное расщепление класса.

  • Fix: в view 86 — NULL-класс → явная категория «класс не указан» (или маппинг на «Комфорт»); нормализация синонимов классов (Элит/Элитный, Стандарт/Типовой).
Часть аудита #1953. **A5 — дубли бакетов.** Таблица строится из view `v_bucket_success_score`, агрегирующего по `(district × obj_class × bucket)` (GROUP BY 1,2,3), но backend (`parcels.py:2781`), TS-тип `SuccessRankingBucket` и UI (`SuccessRecommendationBlock`) проецируют ТОЛЬКО bucket-лейбл → строки разных классов с одним area-лейблом схлопываются визуально. Прод-доказательство: «Студии 15-30» = Комфорт 4857@194тыс (1.22) И Comfort 165@116тыс (0.24); «1-к 30-45» = Типовой 1029@115тыс (0.20) И Бизнес 468@197тыс (0.18). - Fix: пробросить `obj_class` сквозь стек (SELECT `parcels.py:2761`, ranking dict `:2783`, поле в `site-finder.ts`, лейбл в `SuccessRecommendationBlock`). **Data-quality — фантом-класс «Comfort» (латиница).** `COALESCE(o.obj_class,'Comfort')` в view даёт англ. литерал для 503 NULL-объектов, отдельный от 865 реальных «Комфорт» (рус) → искусственное расщепление класса. - Fix: в view 86 — NULL-класс → явная категория «класс не указан» (или маппинг на «Комфорт»); нормализация синонимов классов (Элит/Элитный, Стандарт/Типовой).
Author
Collaborator

Закрыто — отгружено на прод + verified. obj_class проброшен в бакеты + фантом англ-Comfort→«не указан» (PR #1978); лейбл «бакет · класс» на фронте (PR #1985). Дубли студий устранены. См. финал эпика #1953.

✅ Закрыто — отгружено на прод + verified. obj_class проброшен в бакеты + фантом англ-`Comfort`→«не указан» (PR #1978); лейбл «бакет · класс» на фронте (PR #1985). Дубли студий устранены. См. финал эпика #1953.
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#1955
No description provided.