fix(analytics): rolling 6mo/6mo окна в _district_velocity_trend (#1203) #1265
1 changed files with 9 additions and 3 deletions
|
|
@ -1454,13 +1454,19 @@ def _district_velocity_trend(db: Session, *, district_name: str) -> tuple[float
|
||||||
db.execute(
|
db.execute(
|
||||||
text(
|
text(
|
||||||
"""
|
"""
|
||||||
|
-- #1203: rolling 6mo/6mo окна относительно NOW(), а не
|
||||||
|
-- захардкоженных дат 2025. С хардкодом recent-окно росло
|
||||||
|
-- безгранично (ETL еженедельно доливает report_month) → на
|
||||||
|
-- июнь 2026 recent ≈ 11-12мес vs prior=6мес → ratio ≈ 2.0
|
||||||
|
-- → trend_factor навсегда упирался в кап 2.0 → bucket_velocity
|
||||||
|
-- ×2 → months_to_sellout занижен ×2 в живом recommend_mix.
|
||||||
SELECT
|
SELECT
|
||||||
SUM(crm.deals_total_count)
|
SUM(crm.deals_total_count)
|
||||||
FILTER (WHERE crm.report_month >= DATE '2025-07-01')
|
FILTER (WHERE crm.report_month >= NOW() - INTERVAL '6 months')
|
||||||
AS recent,
|
AS recent,
|
||||||
SUM(crm.deals_total_count)
|
SUM(crm.deals_total_count)
|
||||||
FILTER (WHERE crm.report_month BETWEEN DATE '2025-01-01'
|
FILTER (WHERE crm.report_month >= NOW() - INTERVAL '12 months'
|
||||||
AND DATE '2025-06-30')
|
AND crm.report_month < NOW() - INTERVAL '6 months')
|
||||||
AS prior
|
AS prior
|
||||||
FROM objective_corpus_room_month crm
|
FROM objective_corpus_room_month crm
|
||||||
WHERE crm.district = :dn
|
WHERE crm.district = :dn
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue