Перейти к основному содержимому

Работа с временными рядами 2011–2026

Назначение и аудитория

Для аналитиков, которые строят длинные ряды исполнения или планов и должны учесть смену КБК, переходы методик (в т.ч. СГФ) и номинал vs реальные величины, не смешивая несопоставимые коды.

Входные данные

Инструменты

  • Python 3 (stdlib: datetime, арифметика; при необходимости pandas для resample).
  • Excel — для графиков и простых соотношений «номинал / индекс».

Шаги

  1. Зафиксируйте частоту и тип показателя (план/факт, касса/начисление).
  2. Приведите КБК к сопоставимому виду — через официальные таблицы соответствия года перехода или через агрегированный разрез (функция, ведомство), если построчное соответствие невозможно.
  3. Постройте непрерывный календарь периодов без пропусков или явно пометьте пропуски как NA.
  4. Для сравнения «через годы» в номинале добавьте столбец с индексом цен и пересчитайте в цены выбранного базисного года.
  5. Документируйте каждое сопоставление кодов и источник индекса.

Воспроизводимый пример

Учебный номинальный ряд по годам и пересчёт в условные цены 2011 года с помощью toy-CPI (не официальный ИПЦ; для боя подставьте ряд из ЦБ).

# Номинал, млрд руб. (учебные числа)
nominal_by_year = {2011: 100.0, 2012: 120.0, 2013: 135.0}
# Условный индекс цен, 2011 = 100
cpi_2011_100 = {2011: 100.0, 2012: 104.0, 2013: 110.0}

real_2011_prices = {}
for year, nom in nominal_by_year.items():
real_2011_prices[year] = nom / (cpi_2011_100[year] / 100.0)

print("В ценах 2011 г.:", real_2011_prices)
yoy_nominal = nominal_by_year[2013] / nominal_by_year[2012] - 1.0
print("Номинальный рост 2012→2013, %:", round(yoy_nominal * 100, 2))

Ожидаемо: В ценах 2011 г. для 2013 года около 135 / 1.1 ≈ 122.73, номинальный рост 2012→2013 — 12.5%.

Проверка результата

  • Для toy-ряда real_2011_prices[2011] == 100.0.
  • После пересчёта в цены 2011 г. рост 2012→2013 в «реале» ниже номинального 12.5% (смешение эффекта объёма и цен).
  • На реальных данных — контрольные точки: сумма по подстатьям не превышает агрегат без двойного учёта после маппинга КБК.

Ограничения и типовые ошибки

  • Склейка рядов с разной частотой (месяц + год в одной модели) без явного resample искажает динамику.
  • Один и тот же «номер КБК» в разные годы — разные смыслы; не делайте JOIN без таблицы соответствия.
  • Официальный ИПЦ и ваш внутренний дефлятор должны быть явно названы; toy-CPI в примере только для иллюстрации формулы.
  • СГФ-2014 и иные смены методик меняют сопоставимость агрегатов бюджета — см. изменения классификации.

Связанные страницы