Пояснения по статистике миграции

Минтруд

Суть в том, что выгрузки из АИК "Миграционные квоты", оформляемые в виде приказов Минтруда, образуются только тогда, когда загружается первый приказ туда (в АИК).

В начале года публикуется сводный приказ по всем заявкам на квотных мигрантов от регионов. Изначальный приказ в формате zip с приложениями. См. пример - https://mintrud.gov.ru/docs/mintrud/orders/473 Этот приказ в zip, и на сайт Министрества он попадает быстрее, чем в АИК - выгружается т.е. не из АИК,а, наоборот данные из приказа вносятся в АИК.

В течение года по мере корректировки отработки (реализации) квот и изменений по распределению квот по регионам, в изначальный приказ вносятся корректировки, призванные отразить реальную отработку квот. См. пример https://mintrud.gov.ru/docs/mintrud/orders/1756 В этом случае корректировки уже подаются в виде xls или xlsx файлов.

Важно, что сами выгружаемые из АИК Минтрудом файлы вне архива не читаемы, т.к. выгрузка не валидна, поэтому тут же мы их валидируем - вместо валидного xlsx в выгрузку у них попадает XML Spreadsheet с пустой первой строкой. См. пример https://mintrud.gov.ru/docs/mintrud/orders/1695

Далее из АИКа неотработанные, но поданные, квоты удаляются и добавляются в течение года новые (возможно) в связи с расширением "разграфки" квот по регионам и реализацией квот по факту. При этом в АИКе остается другой сет квот.

По факту за период 16-20 года корректировки были относительно небольшими, но с середины 20 ого года они стали больше, т.к. многие квоты юр лица не отработали из-за ковида.

Парсер собирает как изначальные приказы, так и все корректировки, скачивая файлы и распределяя их по папкам с датой соответствующего приказа. Используется именно титульная дата приказа (которая берется прямо из его заголовка), а не дата его публикации,

Важно, что на сайте Минтруда и в агрегаторах документов любых доступны данные только с 1 января 2016 года, но на самом деле по прямым ссылкам на id приказов, минуя ajax-интерфейса Минтруда доступны документы и за более ранние периоды - с 12 июля 2012 года (https://mintrud.gov.ru/docs/mintrud/orders/0).

Основанием для их сбора служит id приказа.

Работает все следующим образом: при загрузке парсим base_url на предмет id последнего (по времени) приказа. Если id отличается от сохраненного в БД, то запускаем парсинг приказов от того id (start_id), который есть в БД до текущего (end_id)

МВД

Источник - https://xn--b1aew.xn--p1ai/Deljatelnost/statistics

Данные публикуются поквартально, в каждой таблице два листа - по регионам и по странам сводная статистика. Поля по содержанию и методике сбора за все время публикации одинаковые, но их сет был расширен с 2021 года (с 2 квартала) за счет статистики по труду мигрантов.

*** Необходимо отметить, что в некоторых старых выгрузках МВД есть за пределами видимой части листа скрытые ячейки с доп. информацией, которая стала публиковаться только с 2021 года. Визы и так далее. Но она в скрытом виде есть и в некоторых старых выгрузках.

Ее можно получить raw парсером, но основные парсеры ее не используют, т.к. обрабатывают только не скрытые данные по маске ввиду того, что эта информация скрытая не может считаться официальной - судя по всему, ее попадание в xls выгрузки вызвано просто особенностями техническими выгрузки из БД - кто-то выделял больше полей, а потом просто скрыл ячейки. Но при необходимости маску можно расширить и на скрытые данные - см. raw выгрузку в режиме show, там будет полный набор полей. ***

Названия полей в разные годы несколько отличались, но это учтено в маске парсинга, которая позволяет собирать данные и далее, т.е. датасет сквозной.

Особенности хранения регионов и стран см в описании библиотеки Regions