fix(site_finder): make Location demand_index city-relative (#948) #1167

Merged
bot-backend merged 2 commits from fix/location-demand-relative-948 into main 2026-06-08 09:12:21 +00:00
Showing only changes of commit 4b2e7d9af8 - Show all commits

View file

@ -0,0 +1,20 @@
-- 147_location_demand_comment.sql
-- #948 / #1167: demand_index перешёл с saturating-АБСОЛЮТНОЙ нормировки
-- (clamp01(unit_velocity / 50), фикс. константа) на CITY-RELATIVE: район /
-- max-скорость по городу за прогон refresh_locations (зеркало infra_index).
--
-- Причина: на live-прогоне ВСЕ 8 районов ЕКБ давали demand=1.0 (каждый продаёт
-- ≥50 кв/мес → индекс насыщался в 1.0 везде → ноль дискриминации). См. PR #1167.
--
-- Эта миграция ТОЛЬКО синхронизирует DB-комментарий столбца с новым кодом — старый
-- текст «насыщающее преобразование» теперь врёт (ровно класс «вводящего в
-- заблуждение комментария», который и спрятал баг). Idempotent: COMMENT ON
-- безопасен к повторному применению; никакого DDL над данными.
--
-- Deploy: auto-applied deploy.yml через _schema_migrations (ровно один раз по NN).
-- Требует таблицу `location` из 146 (147 > 146 лексикографически → применяется после).
COMMENT ON COLUMN location.demand_index IS
'Индекс спроса 0..1: city-relative нормировка market_metrics.unit_velocity '
'(скорость продаж района / max-скорость по городу за прогон refresh_locations). '
'NULL при недостатке данных (никогда не фабрикуем 0).';