fix(analytics): align portfolio series to area buckets in quartirography (#1406) #1675

Merged
lekss361 merged 1 commit from fix/quartirography-area-bucket-1406 into main 2026-06-17 17:44:59 +00:00
Owner

Проблема (#1406)

Ось графика — диапазоны площади (м²), ряд deals по площади, а portfolio набирался по числу комнат (ONE/TWO/THREE/FOUR) и фронт делал ложную эквивалентность «4+»↔«80+ м²». Сравнение несопоставимых метрик под видом «парадокса портфеля».

Решение

  • analytics_queries.py: quartirography(source='portfolio') переписан — берёт domrf_flat_area_distribution (room_count_type='TOTAL'), агрегирует 8 area-бакетов в 5 бакетов оси по средней площади, percent считается так же как в deals-ветке.
  • QuartirographyChart.tsx: убран хардкод portfolioMap, прямой buckets.map() lookup. Обе серии теперь по площади.

Verify

  • ruff clean; pytest -k "analytics or quartir or portfolio"26 passed; tsc --noEmit → 0 ошибок.

⚠️ Follow-up (не в этом PR)

page.tsx:115 текст «52% портфеля» опирался на старое room-count распределение; post-fix area-бакеты дают ~56% в «1-к 30-45». Направление верное, число слегка устарело — нужен copy-refresh отдельной правкой.

Closes #1406

## Проблема (#1406) Ось графика — диапазоны площади (м²), ряд deals по площади, а portfolio набирался по числу комнат (ONE/TWO/THREE/FOUR) и фронт делал ложную эквивалентность «4+»↔«80+ м²». Сравнение несопоставимых метрик под видом «парадокса портфеля». ## Решение - `analytics_queries.py`: `quartirography(source='portfolio')` переписан — берёт `domrf_flat_area_distribution` (`room_count_type='TOTAL'`), агрегирует 8 area-бакетов в 5 бакетов оси по средней площади, percent считается так же как в deals-ветке. - `QuartirographyChart.tsx`: убран хардкод `portfolioMap`, прямой `buckets.map()` lookup. Обе серии теперь по площади. ## Verify - `ruff` clean; `pytest -k "analytics or quartir or portfolio"` → **26 passed**; `tsc --noEmit` → 0 ошибок. ## ⚠️ Follow-up (не в этом PR) `page.tsx:115` текст «52% портфеля» опирался на старое room-count распределение; post-fix area-бакеты дают ~56% в «1-к 30-45». Направление верное, число слегка устарело — нужен copy-refresh отдельной правкой. Closes #1406
lekss361 added 1 commit 2026-06-17 17:31:03 +00:00
fix(analytics): align portfolio series to area buckets in quartirography (#1406)
Some checks failed
CI / changes (push) Successful in 8s
CI / changes (pull_request) Successful in 9s
CI / frontend-tests (push) Successful in 1m1s
CI / openapi-codegen-check (push) Successful in 1m50s
CI / backend-tests (push) Failing after 9m8s
CI / frontend-tests (pull_request) Successful in 54s
CI / openapi-codegen-check (pull_request) Successful in 1m59s
CI / backend-tests (pull_request) Failing after 8m56s
26ae507c11
Switch portfolio source from domrf_region_aggregates (room_count_type ONE/TWO/THREE/FOUR)
to domrf_flat_area_distribution (area_bucket FROM_0_TO_25…FROM_100), aggregated into the
same 5 area buckets as the deals series. Both series now share the same axis and are
directly comparable. Frontend portfolioMap simplified to direct bucket key lookup.
lekss361 merged commit 3ffba9f8a8 into main 2026-06-17 17:44:59 +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#1675
No description provided.