# Прогноз населения Беларуси 2026–2075, v2026.3 (проверяемый пакет)

Уровни 0–3: страна, 6 областей, Минск, 118 районов, ~200 городов;
три детерминированных сценария; 80% интервал для базового (уровни 0–1);
два стартовых ряда — official и adjusted (WP-F3: поправка на
незарегистрированную эмиграцию 2020–2026).

## Главный вывод

При любом из трёх сценариев население Беларуси продолжит сокращаться:
с 9,06 млн (01.01.2026) до 7,53 млн к 2050 в базовом сценарии
(80% интервал 6,99–8,09) и до 5,97 млн к 2075 (5,04–6,99). Оптимистический
сценарий даёт 7,11 млн к 2075, негативный (продолжение эмиграционной
волны) — 4,33 млн. Внутри страны — поляризация: пригороды Минска растут
при любом сценарии (Минский район: 287 тыс. → ~655 тыс. к 2075 в базовом),
периферия теряет население вдвое-втрое быстрее среднего (Хойникский
район: 17,7 → 7,7 тыс.); доля Минска и облцентров в населении страны
растёт при общей убыли.

Ряд **adjusted** (WP-F3): официальный старт завышен на
незарегистрированную эмиграцию 2020–2026 — интервальная оценка из
зеркальной статистики 178–416 тыс., центральная 270 тыс. (~3,0%
населения). Со скорректированного старта базовый сценарий даёт 7,24 млн
к 2050 и 5,75 млн к 2075 (−3,8%/−3,7% к official: уехали молодые — эффект
нарастает через потерянные рождения). Методика и чувствительность —
`docs/notes/adjustment.md`.

## Методика (кратко)

**Уровни 0–1**: когортно-компонентный метод (CCMPP), 5-летние группы,
шаг 5 лет, раздельно по областям (страна = сумма). Рождаемость: областные
ASFR-профили 2018 г., масштабируемые к сценарной национальной траектории
СКР. Смертность: таблицы дожития HMD-2018, масштабируемые к сценарным e0.
Миграция: внутренняя — профиль межобластной матрицы переписи-2019 с
калиброванным объёмом; международная — сценарное сальдо по ключам
концентрации. Базовый сценарий следует допущениям UN WPP 2024 medium;
квантили — относительная ширина 80% PI WPP.

**Уровень 2 (118 районов + города обл. подчинения)**: метод
Гамильтона–Перри — коэффициенты когортного изменения (CCR) 2009→2019 по
полу, сдвиг когорты на две 5-летние группы за шаг 10 лет; когорты 0–4/5–9
через child-woman ratio; shrinkage малых когорт к областному профилю
(w = n/(n+1000)); чернобыльские районы классов 1–2 — вес CCR ≤ 50% и
floor 0,6 областного; пять облцентров — собственные CCMPP с
имплицированной миграцией 2009–2019 (затухание до 40% к 2060).
Стартовая калибровка к официальным оценкам 01.01.2026; IPF-согласование
к областному CCMPP по (пол × группа) на каждый год — суммы сходятся точно.

**Уровень 3 (~190 городов и гп)**: логистический тренд доли города в
районе по ряду 1970–2026, прогноз = доля × район сценария; город ≤ 92%
района (кэпы применяются до целочисленного округления экспорта). Все допущения — `params/assumptions.yaml` и
`etl/forecast/scenarios/*.yaml` (с обоснованием каждого значения).

## Как воспроизвести

Требования: Python ≥ 3.10, PyYAML (`pip install -r code/requirements.lock`),
bash. Время: ~2 минуты.

```bash
bash code/run.sh
```

Скрипт: (1) прогоняет прогноз уровней 0–3 → `data/curated/
forecast_v2026_3.csv` и `web/public/data/forecast.json`; (2) бэктест
уровней 0–1 (2009→2019: национальный итог −0,41% при гейте ±2%; MAPE
2,39% против 4,13% наивной); (3) бэктесты уровней 2–3 (районы 2019→2026:
MAPE 2,12% против 2,76%; города, доля ≤2009→2019: 6,7% против 10,9%);
(4) чувствительность; (5) инварианты (в т.ч. сумма районов = область,
город ≤ района, adjusted < official); (6) сверку с
`checks/expected_results.json` (26 метрик). Первым шагом воспроизводится
сам интервал поправки (`python3 -m etl.mirror` из завендоренного сырья
Eurostat/UDSC/ЦНИ).

## Валидация

Отчёт — `docs/notes/validation.md` (§6 — бэктесты уровней 2–3, снятие
отступлений этапа 3); машиночитаемые таблицы — `docs/notes/
backtest_results.json`, `backtest_sub.json`, `sensitivity.json`.

## Состав

`etl/forecast/` — код модели (идентичен репозиторию; `etl/common.py` —
мини-шим путей): `run.py` + `sub.py` (уровни 2–3) + `backtest*.py`;
`data/curated/` — входы (структуры 2026, переписи 2009/2019 по районам,
ASFR, таблицы дожития, миграционная матрица, привязка город–район,
реестр чернобыльских классов); `web/public/data/data.json` — ряды
населения районов и городов 1897–2026 (база проекта);
`data/raw/wpp2024|wcde/` — контрольные прогнозы; `sources/registry.csv` —
реестр первоисточников.

## Живая версия

https://by-population-maps.vercel.app — слайдер за 2026 год переключает
карту в прогнозный режим на всех уровнях (области, районы, города).

## Версия

v1.2.0 пакета = прогноз v2026.3 (2026-07-11), git-тег
`artifact-forecast-v1.2.0`. Official-ряды идентичны v1.1.0 (уровни 0–1 —
прогнозу v2026.1). История — CHANGELOG.md.
