Image Image Image Image Image Image Image Image Image Image

Simplenomics | Июнь 27, 2017

Scroll to top

Top

No Comments

Получение подробных данных по бюджетам субъектов РФ

Большую часть экономики составляет бюджетный сектор. В прошлом году расходы консолидированного бюджета РФ составили чуть больше 20 трлн рублей (около 37% ВВП), из них на федеральный бюджет пришлось почти 11 трлн рублей, остальное — внебюджетные фонды, бюджеты субъектов РФ и муниципальные бюджеты.
Не так давно встала задача с получением и анализом довольно подробных данных по бюджетам отдельных субъектов РФ. Основным источником информации является отчетность Федерального Казначейства, который ежемесячно предоставляет данные об исполнении бюджетов. В случае федерального бюджета за каждый месяц — это стандартный набор файлов Excel.
Для региональных бюджетов — все гораздо сложнее. Казначейство выкладывает огромный архив (данные за каждый месяц в архиве занимают более 10 мегабайт) html-файлов. Структура данных простая: «регион-бюджетная форма отчетности» — отдельный файл.
Министерство финансов проводит некоторую аналитическую работу и предоставляет те же данные в более удобоваримом виде. Однако в случае данных Минфина возникает две проблемы:

  1. Набор показателей включает в себя базовые вещи вроде общих расходов и доходов регионального бюджета, но набор специфических показателей достаточно скуден. 
  2. Данные начинаются с февраля 2011 года, хотя Казначейство дает информацию аж с 2000 года. 
Что делать, если нужны подробные данные и длинная история? Как обычно, если цифр немного, то проще всего собрать цифры ручками. В противном случае, приходится «изобретать велосипед» и пытаться автоматизировать процесс, так как источники информации мало заботятся о нуждах простых аналитиков.
Когда возникла подобная необходимость, я написал набор скриптов на Python, которые обрабатывали предварительно сохраненные на локальном диске папки с исходными файлами. На каждый год я создавал отдельный скрипт для того, чтобы можно было посмотреть исходные данные. К  сожалению, из-за того, что коды бюджетной классификации регулярно меняются, как и формат предоставления данных. Поэтому скрипт, написанный для данных 2010 года, потребует, незначительной «подкрутки» для того, чтобы работать на данных 2006 года.
Для обработки html файлов я использовал отличную библиотеку Beautiful Soup. Парсинг файлов занимает относительно много времени (около 30-40 секунд для отдельного файла), поэтому скрипт работает довольно долго (около 10-15 минут на моем компьютере). Но так как он работает сам по себе, в это время можно заниматься другими полезными вещами.
  

Исходные коды, если кому-то пригодятся (так как я не программист, то код, видимо, не самый оптимальный):