Сколько реальных соискателей стоит за миллионами резюме — и опережает ли напряжённость на платформах официальную безработицу
How many real job seekers stand behind millions of CVs — and whether platform tightness leads official unemployment
Предыстория: вопрос из зала на «Макро мастерской» Банка России 17 февраля 2026 года (ответ А. Заботкина в «Реальном времени») и ранняя версия методологии в журнале «Цифровая экономика» № 1(36), 2026 (DOI 10.34706/DE-2026-01-05). Расширенная версия — на рецензии в журнале «Экономика и математические методы».
Background: a question from the floor at the Bank of Russia Macro Workshop on 17 February 2026 (A. Zabotkin’s answer in Realnoe Vremya) and an early version of the method in the journal Digital Economy, no. 1(36), 2026 (DOI 10.34706/DE-2026-01-05). An extended version is under review at Economics and Mathematical Methods.
Рекордно низкая безработица и устойчивое зарплатное давление повышают ценность оперативных индикаторов рынка труда для денежно-кредитной политики, а официальная статистика выходит с лагом 1–2 месяца. Данные онлайн-платформ занятости доступны почти в реальном времени, но искажены: один соискатель держит несколько резюме, заброшенные профили годами висят в базе, вакансии дублируются. Работа предлагает и проверяет конвейер очистки таких данных: каскадную дедупликацию (точное хэширование → MinHash/LSH → семантическая кластеризация эмбеддингов), поведенческий вес достоверности профиля (Akhtyamov Behavioural Weight, ABW) и калибровку на официальную статистику мостовыми уравнениями с робастными ошибками Newey–West. Из очищенных данных строятся индексы реального предложения труда (RLSI), напряжённости (TI), зарплатного давления (WPI) и структурной эффективности (SEI). На структурной Монте-Карло-панели с известной «истиной» конвейер восстанавливает состояние рынка; результаты устойчивы к порогам и весам. На реальных выгрузках «Работы России», SuperJob и hh.ru и открытых агрегатах hh.ru показана платформенная гетерогенность зарплат и предложения труда. Код и данные открыты.
Российский рынок труда вошёл в 2026 год в состоянии устойчивого дефицита кадров: безработица к концу 2025 года опустилась до исторического минимума 2,1–2,2%, в дефицитных сегментах номинальные зарплаты в 2024–2025 годах росли на 13–20%, инфляция услуг составила около 9,3%. Банк России называет дефицит кадров и опережающий рост оплаты труда ключевым проинфляционным риском. Чем выше ставка, тем дороже ошибка в оценке рынка труда — и тем ценнее информация, доступная раньше официальной статистики.
Работа выросла из вопроса из зала на научной конференции Банка России «Макро мастерская» в Иннополисе 17 февраля 2026 года: если большие языковые модели ошибаются в оперативных прогнозах инфляции, как регулятору совместить «чёрный ящик» ИИ с интерпретируемостью структурных моделей? Зампред Банка России Алексей Заботкин ответил, что модели машинного обучения используются как инструмент первичной обработки больших массивов — в том числе данных сайтов вакансий там, где не хватает оперативности официальной статистики, — а полученный сигнал проверяют структурные модели и эксперты («Реальное время», 2026). Эта работа отвечает на прикладную часть вопроса: что нужно сделать с данными сайтов вакансий, чтобы сигнал стал надёжным и проверяемым.
Данные крупных площадок (hh.ru, «Работа России», SuperJob) формируются почти в реальном времени, но содержат системные искажения: мультипликацию резюме (один соискатель — несколько профилей, коэффициент 1,4–2,8), «мёртвые души» (необновляемые профили, 15–28% массива), информационную асимметрию (завышение компетенций на 30–40%) и дублирование вакансий (10–20%). Концептуальная версия методологии опубликована в журнале «Цифровая экономика» (Ахтямов, 2026); здесь она впервые количественно проверена на панели с известной истиной и на реальных выгрузках трёх площадок.
Конвейер состоит из четырёх этапов: сбор и предобработка; каскадная дедупликация; поведенческое взвешивание; агрегация и калибровка.
Каскадная дедупликация. Трёхуровневый каскад, где каждый уровень только объединяет записи: (1) точное хэширование нормализованных контактов; (2) MinHash + LSH по тексту (заголовок, навыки) для квази-дублей без полного попарного сравнения; (3) семантическая кластеризация эмбеддингов (для русскоязычных текстов — YandexGPT Embeddings) с порогом косинусной близости 0,80. Качество оценивается скорректированным индексом Рэнда (ARI) и ошибкой восстановления числа пользователей.
Поведенческий вес ABW. Каждому резюме присваивается интегральный вес достоверности:
где Nuser — число резюме в кластере (штраф за мультипликацию); C — полнота профиля (0…1); R = max(0; 1 − d/T) — свежесть при окне T = 90 дней; B — надбавка 0,2 при наличии откликов; A = 1,2 при просмотрах выше порога. Веса нормируются внутри кластера, активность кластера ограничена единицей. Поэтому дублирующие и «спящие» профили дают вклад, близкий к нулю, и индекс измеряет не число анкет, а объём реального активного предложения труда.
Индикаторы и калибровка. RLSI — сумма активностей кластеров; TI = Vdedup / RLSI — отношение очищенных вакансий к реальному предложению; WPI — медиана зарплатных вилок новых вакансий; SEI = 1 − D, где D — расстояние полной вариации между распределениями требуемых и предлагаемых навыков. Калибровка на статистику Росстата — мостовым уравнением
где X — сезонные и календарные контроли, стандартные ошибки — Newey–West.
Используются два массива. Реальные выгрузки вакансий открытых площадок на 15.06.2026: «Работа России» (opendata.trudvsem.ru) — 527 666 активных вакансий; SuperJob (официальное API) — 125 433; hh.ru (официальное API) — 769 798 вакансий с указанной зарплатой. Зарплаты взяты как опубликованы, без поправки на НДФЛ. Для проверки очистки построена синтетическая панель из 36 ежемесячных срезов со встроенной «истиной»: активные и «спящие» пользователи, мультипликация около 1,5, доля спящих растёт с 18 до 48%; параметры искажений взяты из независимой литературы, симуляция детерминирована (seed = 42). Сторона предложения дополнительно описана обезличенными агрегатами открытой аналитики hh.ru (stats.hh.ru).
Восстановление предложения труда. Каскадная дедупликация сокращает число записей на 28,8% (95% бутстрэп-интервал 28,2–29,5%; истинный уровень 27,7%), средний ARI = 0,94, ошибка восстановления числа пользователей 1,6%. Абляция показывает, что основной выигрыш даёт семантический уровень, ABW добавляет сверх дедупликации, а «только MinHash» практически не отличается от сырого счёта.
| Вариант метода | corr | 95% ДИ |
|---|---|---|
| Сырой счёт резюме | 0,827 | 0,67–0,92 |
| Только MinHash/LSH | 0,807 | 0,65–0,90 |
| Каскадная дедупликация | 0,918 | 0,84–0,97 |
| Дедупликация + ABW (RLSI) | 0,959 | 0,93–0,98 |
Калибровка и опережение. Мостовое уравнение RLSI → безработица: β = 0,0171 (p < 0,001; t Newey–West ≈ 19,7), R² = 0,92 против 0,69 для сырого счёта. Кросс-корреляция циклических компонент индекса напряжённости и безработицы максимальна (−0,65) при лаге −2 месяца; тест Грейнджера подтверждает направление TI → безработица (F = 5,77; p = 0,008), обратное влияние незначимо (F = 0,43; p = 0,65).
Зарплатное давление и инфляция услуг. Регрессия инфляции услуг на шестимесячный моментум WPI даёт β = 0,098 (робастная s.e. 0,036; t = 2,71; p = 0,012; R² = 0,29). На 36 наблюдениях результат следует трактовать осторожно; направление экономически осмысленно — зарплатное давление предшествует ценам услуг, наиболее чувствительным к издержкам труда.
Реальные данные: платформы не взаимозаменяемы. Медианная зарплата в вакансиях «Работы России» — около 46 830 ₽ (P10–P90 = 27 500–87 000 ₽), сегмент «аналитик» — 68 500 ₽. На SuperJob — 100 000 ₽ по рынку и 80 000 ₽ у аналитиков, на hh.ru — 88 000 ₽ и 140 000 ₽. Совокупный спрос трёх площадок (свыше 1,4 млн вакансий) к официальному числу безработных (≈1,66 млн) даёт TI ≈ 0,86 — нижнюю оценку, поскольку межплатформенные пересечения не исключены.
| Показатель | «Работа России» | SuperJob | hh.ru |
|---|---|---|---|
| Вакансии | 527 666 | 125 433 | 769 798* |
| WPI рынка | 46 830 ₽ | 100 000 ₽ | 88 000 ₽ |
| WPI «аналитик» | 68 500 ₽ | 80 000 ₽ | 140 000 ₽ |
| Профиль выборки | регионы, бюджетный сектор | Москва | преимущественно брутто |
* hh.ru: число вакансий с указанной зарплатой; общий объём площадки выше.
Сторона предложения: hh.индекс. Прямая выгрузка резюме невозможна — это персональные данные, API соискателей закрыт с 15.12.2025. Но открытая аналитика hh.ru публикует hh.индекс — отношение активных резюме (обновлённых за 60 дней) к активным вакансиям. Он вырос с 3,6 в марте 2024 года («рынок соискателя», острый дефицит) до 11,4 в марте 2026 года («рынок работодателя»): за год активных вакансий стало на 27% меньше, резюме — на 41% больше. Официальная безработица при этом оставалась на уровне 2,2%. Расхождение подтверждает центральный тезис работы: платформенные данные несут информацию, которой нет в агрегатах Росстата, но требуют корректной интерпретации и калибровки.
При семантическом пороге 0,72–0,88 корреляция RLSI с истиной держится в пределах 0,947–0,959 (ARI 0,93–0,95), при окне свежести ABW T = 60–120 дней — 0,942–0,978. При вариации надбавки за отклики B в диапазоне 0–0,4 и коэффициента активности A 1,0–1,3 корреляция остаётся в коридоре 0,956–0,970. Конкретные значения (порог 0,80; 90 дней; B = 0,2; A = 1,2) не критичны для результата.
Опережающие и калибровочные свойства проверены на синтетической панели с контролируемой истиной. Риск «циркулярной» валидации смягчается тем, что параметры искажений взяты из независимой литературы, абляция показывает нетривиальность восстановления, а реальная часть опирается на три независимые площадки и открытые агрегаты hh.ru. Малый объём панели (36 месяцев) ограничивает тест Грейнджера и лаговые регрессии, поэтому оценки опережения иллюстративны. Реальные источники имеют свои смещения: региональный и бюджетный уклон «Работы России», московское смещение SuperJob, смещение «выживших»; микроданные резюме недоступны. План апробации: помесячные ряды длиной от 24 месяцев по трём площадкам, лицензионный доступ к обезличенным резюме, мостовые уравнения на рядах Росстата и Банка России, прогноз вне выборки (MAE/RMSE, тест Диболда–Мариано) с критерием успеха — снижение MAE не менее чем на 10% к наивному прогнозу при сохранении опережения TI.
Предложен и проверен конвейер, который превращает «сырые» данные онлайн-платформ занятости в оперативные индикаторы рынка труда: каскадная дедупликация, поведенческий вес ABW и калибровка мостовыми уравнениями. Все четыре гипотезы подтверждены на панели с известной истиной; на реальных данных показана платформенная гетерогенность. Результаты закладывают основу системы оперативного мониторинга рынка труда для целей денежно-кредитной политики.
Код конвейера, синтетическая панель, выгрузки и скрипты рисунков опубликованы в открытом репозитории: github.com/rav11l/labour-market-indicators- (лицензия MIT). Симуляция детерминирована (seed = 42).
Record-low unemployment and persistent wage pressure raise the value of timely labour-market indicators for monetary policy, while official statistics arrive with a one-to-two-month lag. Data from online employment platforms are available in near real time but are distorted: one job seeker keeps several CVs, abandoned profiles stay in the database for years, vacancies are duplicated. This paper proposes and tests a pipeline for cleaning such data: cascaded deduplication (exact hashing → MinHash/LSH → semantic clustering of embeddings), a behavioural reliability weight for each profile (the Akhtyamov Behavioural Weight, ABW), and calibration to official statistics through bridge equations with Newey–West robust errors. The cleaned data yield indices of real labour supply (RLSI), tightness (TI), wage pressure (WPI) and structural efficiency (SEI). On a structural Monte-Carlo panel with a known ground truth the pipeline recovers the state of the market; the results are robust to thresholds and weights. Real extracts from Rabota Rossii, SuperJob and hh.ru and open hh.ru aggregates show platform heterogeneity in wages and labour supply. Code and data are open.
Russia’s labour market entered 2026 in a state of persistent labour shortage: unemployment fell to a historical low of 2.1–2.2% by the end of 2025, nominal wages in shortage segments grew by 13–20% in 2024–2025, and services inflation was about 9.3%. The Bank of Russia names the labour shortage and outpacing wage growth as a key inflationary risk. The higher the policy rate, the costlier a misreading of the labour market — and the more valuable information that arrives before official statistics.
The paper grew out of a question from the floor at the Bank of Russia research conference “Macro Workshop” in Innopolis on 17 February 2026: if large language models make errors in real-time inflation forecasts, how can a regulator reconcile AI’s “black box” with the interpretability of structural models? Bank of Russia Deputy Governor Alexey Zabotkin replied that machine-learning models serve as a tool for primary processing of large datasets — including job-site data where official statistics are not timely enough — and that the resulting signal is then checked by structural models and experts (Realnoe Vremya, 2026). This paper addresses the applied side of that question: what has to be done to job-site data for the signal to become reliable and verifiable.
Data from the large platforms (hh.ru, Rabota Rossii, SuperJob) are generated almost in real time but contain systematic distortions: CV multiplication (one job seeker, several profiles; a factor of 1.4–2.8), “dead souls” (stale profiles, 15–28% of the stock), information asymmetry (skills overstated by 30–40%) and duplicate vacancies (10–20%). A conceptual version of the method was published in the journal Digital Economy (Akhtyamov, 2026); here it is tested quantitatively for the first time on a panel with a known truth and on real extracts from three platforms.
The pipeline has four stages: collection and preprocessing; cascaded deduplication; behavioural weighting; aggregation and calibration.
Cascaded deduplication. A three-level cascade in which every level only merges records: (1) exact hashing of normalised contacts; (2) MinHash + LSH on text (title, skills) for near-duplicates without full pairwise comparison; (3) semantic clustering of embeddings (YandexGPT Embeddings for Russian-language text) with a cosine-similarity threshold of 0.80. Quality is measured by the adjusted Rand index (ARI) and by the error in recovering the number of users.
The ABW behavioural weight. Each CV receives an integral reliability weight:
where Nuser is the number of CVs in the cluster (the multiplication penalty); C is profile completeness (0…1); R = max(0; 1 − d/T) is freshness with a window T = 90 days; B is a 0.2 bonus when the profile has applications; A = 1.2 when views exceed a threshold. Weights are normalised within a cluster and cluster activity is capped at one. Duplicate and dormant profiles therefore contribute close to zero, and the index measures not the number of profiles but the volume of real active labour supply.
Indicators and calibration. RLSI is the sum of cluster activities; TI = Vdedup / RLSI is cleaned vacancies relative to real supply; WPI is the median wage range of new vacancies; SEI = 1 − D, where D is the total-variation distance between the distributions of required and offered skills. Calibration to Rosstat data uses the bridge equation
where X are seasonal and calendar controls and standard errors are Newey–West.
Two datasets are used. Real vacancy extracts from open platforms as of 15.06.2026: Rabota Rossii (opendata.trudvsem.ru), 527,666 active vacancies; SuperJob (official API), 125,433; hh.ru (official API), 769,798 vacancies with a stated wage. Wages are taken as published, without adjustment for personal income tax. To test the cleaning, a synthetic panel of 36 monthly snapshots with a built-in truth was constructed: active and dormant users, multiplication of about 1.5, a dormant share rising from 18 to 48%; distortion parameters come from independent literature and the simulation is deterministic (seed = 42). The supply side is additionally described by anonymised aggregates from hh.ru open analytics (stats.hh.ru).
Recovering labour supply. Cascaded deduplication cuts the number of records by 28.8% (95% bootstrap interval 28.2–29.5%; true level 27.7%), mean ARI = 0.94, user-count recovery error 1.6%. The ablation shows that most of the gain comes from the semantic level, ABW adds on top of deduplication, and “MinHash only” is practically indistinguishable from the raw count.
| Method variant | corr | 95% CI |
|---|---|---|
| Raw CV count | 0.827 | 0.67–0.92 |
| MinHash/LSH only | 0.807 | 0.65–0.90 |
| Cascaded deduplication | 0.918 | 0.84–0.97 |
| Deduplication + ABW (RLSI) | 0.959 | 0.93–0.98 |
Calibration and lead. The bridge equation RLSI → unemployment gives β = 0.0171 (p < 0.001; Newey–West t ≈ 19.7), R² = 0.92 against 0.69 for the raw count. The cross-correlation of the cyclical components of the tightness index and unemployment peaks (−0.65) at a lag of −2 months; the Granger test confirms the direction TI → unemployment (F = 5.77; p = 0.008), while the reverse is insignificant (F = 0.43; p = 0.65).
Wage pressure and services inflation. Regressing services inflation on six-month WPI momentum gives β = 0.098 (robust s.e. 0.036; t = 2.71; p = 0.012; R² = 0.29). With 36 observations the result should be read with caution; the direction makes economic sense — wage pressure precedes the prices of services, which are most sensitive to labour costs.
Real data: platforms are not interchangeable. The median advertised wage on Rabota Rossii is about RUB 46,830 (P10–P90 = 27,500–87,000), RUB 68,500 for analysts. On SuperJob it is RUB 100,000 for the market and RUB 80,000 for analysts; on hh.ru, RUB 88,000 and RUB 140,000. Total demand on the three platforms (over 1.4 million vacancies) relative to the official number of unemployed (≈1.66 million) gives TI ≈ 0.86 — a lower bound, since cross-platform overlaps are not excluded.
| Indicator | Rabota Rossii | SuperJob | hh.ru |
|---|---|---|---|
| Vacancies | 527,666 | 125,433 | 769,798* |
| Market WPI | RUB 46,830 | RUB 100,000 | RUB 88,000 |
| Analyst WPI | RUB 68,500 | RUB 80,000 | RUB 140,000 |
| Sample profile | regions, public sector | Moscow | mostly gross |
* hh.ru: vacancies with a stated wage; the platform’s total volume is larger.
The supply side: the hh.index. CVs cannot be extracted directly — they are personal data, and the job-seeker API has been closed since 15.12.2025. But hh.ru open analytics publishes the hh.index, the ratio of active CVs (updated within 60 days) to active vacancies. It rose from 3.6 in March 2024 (a job seeker’s market, acute shortage) to 11.4 in March 2026 (an employer’s market): over the year active vacancies fell by 27% and CVs rose by 41%. Official unemployment meanwhile stayed at 2.2%. The divergence confirms the paper’s central point: platform data carry information absent from Rosstat aggregates, but require correct interpretation and calibration.
With a semantic threshold of 0.72–0.88 the correlation of RLSI with the truth stays within 0.947–0.959 (ARI 0.93–0.95); with an ABW freshness window T = 60–120 days, within 0.942–0.978. Varying the application bonus B over 0–0.4 and the activity factor A over 1.0–1.3 keeps the correlation in a 0.956–0.970 corridor. The specific values (threshold 0.80; 90 days; B = 0.2; A = 1.2) are not critical for the result.
The lead and calibration properties are tested on a synthetic panel with a controlled truth. The risk of “circular” validation is mitigated because distortion parameters come from independent literature, the ablation shows that recovery is non-trivial, and the real-data part rests on three independent platforms and open hh.ru aggregates. The small panel (36 months) limits the Granger test and lag regressions, so the lead estimates are illustrative. The real sources have their own biases: the regional and public-sector tilt of Rabota Rossii, the Moscow bias of SuperJob, survivorship; CV microdata are unavailable. Planned validation: monthly series of at least 24 months for the three platforms, licensed access to anonymised CVs, bridge equations on Rosstat and Bank of Russia series, and out-of-sample forecasts (MAE/RMSE, Diebold–Mariano test), with success defined as at least a 10% reduction in MAE relative to a naive forecast while TI keeps its lead.
A pipeline is proposed and tested that turns raw data from online employment platforms into timely labour-market indicators: cascaded deduplication, the ABW behavioural weight and bridge-equation calibration. All four hypotheses are confirmed on a panel with a known truth; real data show platform heterogeneity. The results lay the groundwork for a system of real-time labour-market monitoring for monetary policy.
The pipeline code, the synthetic panel, the extracts and the figure scripts are in an open repository: github.com/rav11l/labour-market-indicators- (MIT licence). The simulation is deterministic (seed = 42).
← На главную Digital Economy Lab← Back to Digital Economy Lab