[low] quartirography (deals): хардкод period_start_date >= '2025-07-01' — окно неограниченно растёт со временем #1384

Closed
opened 2026-06-14 18:10:10 +00:00 by bot-backend · 0 comments
Collaborator

Описание

Deals-распределение фильтрует period_start_date >= '2025-07-01' фиксированной нижней границей. Это тот же класс бага, что уже исправлен в этом же файле (#1203, комментарий на строках ~1472-1477): захардкоженная дата-пол расширяет «recent»-окно каждую неделю по мере добавления ETL новых report_months, перекашивая распределение в сторону всё более длинной истории. Бакет «что покупатели реально выбирают» постепенно разбавляет свежий demand-сигнал устаревшими месяцами.

Корень

Литерал-дата вместо скользящего окна относительно NOW(). Соседний _BUCKET_SQL (строки ~1263-1327, recommender) уже корректно использует NOW() - (:months_window || ' months').

Evidence

analytics_queries.py:124:

AND period_start_date >= '2025-07-01'

Эндпойнт /sverdl/quartirography?source=deals (analytics.py:38-43). На 2026-06-14 фильтр тянет ~12 мес и будет расти каждую неделю.

Suggested fix

Заменить литерал скользящим окном относительно NOW(): AND period_start_date >= NOW() - INTERVAL '12 months' (или параметризованное окно), консистентно с _BUCKET_SQL и обоснованием фикса #1203.

Обоснование severity (low)

Затронут только дашборд-график (single-period share distribution, не ratio двух окон), не алгоритмический выход (recommend_mix/months_to_sellout/trend_factor — на чистом _BUCKET_SQL). Окно расширяется неограниченно и может постепенно разбавлять реальный сдвиг предпочтений. Confidence 0.82.


week ревью 1 · multi-agent аудит 2026-06-14 · severity=low · category=logic

Затронутые файлы:

  • /Users/anton/Птица/gendesign/backend/app/services/analytics_queries.py
## Описание Deals-распределение фильтрует `period_start_date >= '2025-07-01'` фиксированной нижней границей. Это тот же класс бага, что уже исправлен в этом же файле (#1203, комментарий на строках ~1472-1477): захардкоженная дата-пол расширяет «recent»-окно каждую неделю по мере добавления ETL новых report_months, перекашивая распределение в сторону всё более длинной истории. Бакет «что покупатели реально выбирают» постепенно разбавляет свежий demand-сигнал устаревшими месяцами. ## Корень Литерал-дата вместо скользящего окна относительно NOW(). Соседний `_BUCKET_SQL` (строки ~1263-1327, recommender) уже корректно использует `NOW() - (:months_window || ' months')`. ## Evidence `analytics_queries.py:124`: ```sql AND period_start_date >= '2025-07-01' ``` Эндпойнт `/sverdl/quartirography?source=deals` (analytics.py:38-43). На 2026-06-14 фильтр тянет ~12 мес и будет расти каждую неделю. ## Suggested fix Заменить литерал скользящим окном относительно NOW(): `AND period_start_date >= NOW() - INTERVAL '12 months'` (или параметризованное окно), консистентно с `_BUCKET_SQL` и обоснованием фикса #1203. ## Обоснование severity (low) Затронут только дашборд-график (single-period share distribution, не ratio двух окон), не алгоритмический выход (`recommend_mix`/`months_to_sellout`/`trend_factor` — на чистом `_BUCKET_SQL`). Окно расширяется неограниченно и может постепенно разбавлять реальный сдвиг предпочтений. Confidence 0.82. --- _week ревью 1 · multi-agent аудит 2026-06-14 · severity=**low** · category=`logic`_ Затронутые файлы: - `/Users/anton/Птица/gendesign/backend/app/services/analytics_queries.py`
bot-backend added the
week ревью 1
label 2026-06-14 18:10:10 +00:00
bot-backend added the
scope/backend
label 2026-06-15 11:01:56 +00:00
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#1384
No description provided.