-- DOM.RF additional snapshots (downloaded as XLSX/PDF from наш.дом.рф via "Скачать" buttons). -- Snapshot date stamped on the file: 26.04.2026 (mortgage_rates is 19.04.2026). -- These extend the JSON dashboard data with: full developer registry, escrow banks, -- 214-FZ guaranty per region, sold-out (Tile3 velocity), housing info by mechanism, mortgage rates. -- 1. Полный реестр застройщиков с метриками (НЕ группа компаний — а юрлица из проектных деклараций) CREATE TABLE IF NOT EXISTS domrf_developers_full ( snapshot_date DATE NOT NULL, developer_name TEXT NOT NULL, area_thousand_sqm NUMERIC, permits_count INT, houses_count INT, flats_count INT, market_share_pct NUMERIC, PRIMARY KEY (snapshot_date, developer_name) ); -- 2. Банки эскроу с метриками CREATE TABLE IF NOT EXISTS domrf_escrow_banks ( snapshot_date DATE NOT NULL, bank_name TEXT NOT NULL, houses_count INT, permits_count INT, area_thousand_sqm NUMERIC, developers_count INT, regions_count INT, PRIMARY KEY (snapshot_date, bank_name) ); -- 3. Долевое стр-во по 214-ФЗ — по регионам с разбивкой эскроу/ПП480 CREATE TABLE IF NOT EXISTS domrf_guaranty_regions ( snapshot_date DATE NOT NULL, territory_name TEXT NOT NULL, -- 'Российская Федерация' | 'Центральный ФО' | 'Свердловская область' ... territory_level TEXT NOT NULL, -- 'rf' | 'fo' | 'region' -- Всего строится total_permits INT, total_area_th_sqm NUMERIC, total_developers INT, -- Имеют право привлекать ДУ по 214-ФЗ (всего) fz214_permits INT, fz214_area_th_sqm NUMERIC, fz214_developers INT, fz214_pct_of_total NUMERIC, -- В т.ч. с эскроу escrow_permits INT, escrow_area_th_sqm NUMERIC, escrow_developers INT, -- В т.ч. ПП №480 (без эскроу) pp480_permits INT, pp480_area_th_sqm NUMERIC, pp480_developers INT, PRIMARY KEY (snapshot_date, territory_name) ); -- 4. Сводные показатели по механизмам привлечения (housing_info) CREATE TABLE IF NOT EXISTS domrf_housing_summary ( snapshot_date DATE NOT NULL, territory_name TEXT NOT NULL, -- 'Российская Федерация' | город | регион territory_level TEXT NOT NULL, -- 'rf' | 'region' | 'city' mechanism TEXT NOT NULL, -- 'all' | 'escrow' | 'fund' | 'no_attraction' developers_count INT, permits_count INT, declarations_count INT, houses_count INT, area_thousand_sqm NUMERIC, flats_thousand NUMERIC, PRIMARY KEY (snapshot_date, territory_name, mechanism) ); -- 5. Плановые сроки ввода (housing_info, нижняя таблица) CREATE TABLE IF NOT EXISTS domrf_planned_commissioning ( snapshot_date DATE NOT NULL, plan_year INT NOT NULL, escrow_th_sqm NUMERIC, fund_th_sqm NUMERIC, no_attraction_th_sqm NUMERIC, total_th_sqm NUMERIC, PRIMARY KEY (snapshot_date, plan_year) ); -- 6. Реализация (sold_out_info) — РФ итог + регионы CREATE TABLE IF NOT EXISTS domrf_sold_out ( snapshot_date DATE NOT NULL, -- '2026-04-11' (отчёт за март 2026) territory_name TEXT NOT NULL, -- Площади total_area_th_sqm NUMERIC, sold_area_th_sqm NUMERIC, unsold_area_th_sqm NUMERIC, not_open_area_th_sqm NUMERIC, -- Проценты sold_pct NUMERIC, unsold_pct NUMERIC, not_open_pct NUMERIC, -- Дополнительно (только для РФ) avg_price_per_sqm NUMERIC, -- ₽/м² attracted_funds_mln_rub NUMERIC, -- млн ₽ PRIMARY KEY (snapshot_date, territory_name) ); -- 7. Реализация по году ввода CREATE TABLE IF NOT EXISTS domrf_sold_out_by_year ( snapshot_date DATE NOT NULL, plan_year TEXT NOT NULL, -- '2026' .. '2031+' total_th_sqm NUMERIC, pct_of_total NUMERIC, sold_pct NUMERIC, unsold_pct NUMERIC, not_open_pct NUMERIC, PRIMARY KEY (snapshot_date, plan_year) ); -- 8. Распределение по % реализации в доме CREATE TABLE IF NOT EXISTS domrf_sold_out_by_progress ( snapshot_date DATE NOT NULL, progress_bucket TEXT NOT NULL, -- 'not_open' | '0-20' | '21-40' | '41-60' | '61-80' | '80+' total_th_sqm NUMERIC, pct_of_total NUMERIC, sold_pct_within NUMERIC, unsold_pct_within NUMERIC, PRIMARY KEY (snapshot_date, progress_bucket) ); -- 9. Ставки ипотеки топ-20 банков (mortgage_rates) CREATE TABLE IF NOT EXISTS domrf_mortgage_rates ( snapshot_date DATE NOT NULL, bank_name TEXT NOT NULL, primary_rate NUMERIC, -- %, NULL если 'не предоставляет' secondary_rate NUMERIC, refinance_rate NUMERIC, note TEXT, -- 'Максимальный срок – 19 лет', 'ПВ от 50%' etc. PRIMARY KEY (snapshot_date, bank_name) ); CREATE INDEX IF NOT EXISTS idx_domrf_developers_full_share ON domrf_developers_full (market_share_pct DESC); CREATE INDEX IF NOT EXISTS idx_domrf_guaranty_level ON domrf_guaranty_regions (territory_level); CREATE INDEX IF NOT EXISTS idx_domrf_housing_summary_terr ON domrf_housing_summary (territory_name, mechanism);