ПО «Магуча»
машинное чтение вакансий и резюме

Сигнатура исследования

Уважаемые коллеги!

Перед вами краткая инструкция по оформлению заявки на получение «сырых данных» по статистике вакансий и резюме.  

Определимся с терминологий

  • Исследование — это обработка баз данных вакансий и/или резюме по вашей заявке.
  • Сырые данные — это результат исследования, то есть то, что вы получите после оформления заявки в качестве итогового результата нашей работы. Интерпретация полученных данных сюда не входит.
  • Сигнатура исследования — это название, пришедшее к нам от программистов. По характерным элементам (сигнатуре) они определяют тип программного обеспечения и тип/настройки вычислительных ресурсов. Сейчас словом сигнатура называется весь набор настроек как методических, так и «железа», которое обрабатывает данные.
  • Метка сигнатуры исследования — это загадочный набор из цифр и букв, который присваивается каждому исследованию и позволяет быстро восстановить его настройки при повторном просчете или перепроверке. Сохраняйте метки сигнатур при получении данных, они пригодятся.
  • Грубые настройки — это настройки, которые имеют непосредственное отношение к структуре данных в вакансиях и резюме (обратите внимание, в разных источниках данных эти структуры отличаются). Их заполняют для каждого исследования при отправке заявки.
  • Тонкие настройки — это настройки программного обеспечения, например, заданная глубина онтологической базы в программе «Магуча», подключение особых версий таксономий и так далее.

Настройки

Цель вашего исследования определяет смысл всех настроек. Диапазон запросов очень широкий.

Кто-то планирует узнать «сколько было вакансий (резюме) по такой-то профессии в таком-то городе (регионе, всей стране) за такой-то период». Кто-то исследует «социальный портрет такой-то профессии в таком -то городе за такую-то дату». Это также может быть что-то совсем иное, что получается путем анализа данных из вакансий и резюме.

В одном случае «жизненно» необходимы и тонкие, и грубые настройки, без них получится профанация и фикция. В других случаях достаточно «плюс минус пол слона» и заморачиваться не требуется. Но указать параметры грубых настроек в форме заявки необходимо.

Форма доступна по адресу: https://forms.gle/iFZoLwqUj9yQqkCNA

Ниже даны комментарии к настройкам.

Грубые настройки

Источник(и) данных.

В России по состоянию на осень 2022 года есть два лидера job-сайтов, которые вырвались далеко вперед от других. Это государственный и бесплатный ресурс trudvsem.ru, идеально подходящий для массового подбора в сегменте профессий индустриальной и аграрной экономики. И уже отстающий как по числу вакансий и резюме, так и по числу функциональных возможностей бывший, но хорошо раскрученный лидер — hh.ru.

Источники мы выбираем в зависимости от цели исследований. Если нужна картина по всем оригинальным вакансиям или резюме, то подключаем данные с парсеров (программы сбора информации) со всех источников: это могут быть небольшие/местные job-сайты, и телеграм/ватсап каналы, и другое.

Если объект исследования конкретный город — то по нему составляется отдельный план исследования, «затачиваются» нужные парсеры под имеющиеся источники данных.

Если нужна сводная ситуация по стране/региону — то данные с трудвсем и с хедхантера дадут надежные цифры.

Консолидированные данные — это скрещивание данных из разных источников с целью получения уникального множества, в котором удалены одинаковые вакансии и резюме. 

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

Однако, в получении консолидированных данных есть множество нюансов, как методологических, так и технических (и немножко юридических).

Методологические нюансы в свою очередь тоже разделяются на группы:

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

    Относительно высокое число работодателей завышают зарплату в вакансии, размещаемой на hhru и указывают более низкие цифры предлагаемой зарплаты на сайте trudvsem. Возможно, это связано с тем, что hhru – платный ресурс и в гонке за «привлекательностью» предложения в глазах соискателя, работодатели вынужденно идут на такой «подлог».

    Другой пример про соискателя. Кроме самой проблемы «миражных резюме», один и тот же соискатель на разных сайтах может претендовать на различные зарплаты (и должности), и даже указывать различный опыт и «развитые качества». И это не единичный пример.

    Разница в средней и медианной заработной плате как предлагаемой, так и ожидаемой может расходиться у этих двух источников в 1,5-2 раза.

    Заказчик исследования (то есть вы) должны описать правила (выбрать настройки), как учитываются такие «дифференцированные» вакансии и резюме одного владельца.
  • Далее существуют настройки «глубины» сверки между вакансиями и резюме с разных источников для идентификации. Есть набор минимальных сверяемых полей (реквизиты работодателя, наименование должности и так далее), но есть и дополнительные поля: вплоть до учета «паттерна» заполнения со специфическими опечатками; учет даты создания и обновления вакансии / резюме и многие другие. Большее число сверяемых полей повышает точность результата (но увеличивает объём и продолжительность вычислений).

    При консолидации каждой сравниваемой вакансии / резюме присваивается ранг соответствия. От 100% (точное совпадение) и ниже. Каждый исследователь сам устанавливает процент, ниже которого данные уже не учитываются. И сам определяет «глубину» сверки, которая поднимает точность сверки, но увеличивает время (и стоимость) вычислительных процессов.
  • К техническим нюансам относится именно расчет сроков и стоимости для выбранных настроек консолидации параметров. Буквально один «крыжик» в настройке сигнатуры может сдвигать время работы вычислительного оборудования с часов на сутки, и соответствующим образом повышать себестоимость исследования.
  • К юридическим тонкостям относится вопрос идентификации всех пользователей и организаций. Программы настроены так, чтобы никаким образом не нарушать требования законодательства. Это влияет на увеличение объёма и сроков вычислений, но не обсуждается.

    Настройка консолидации данных относится к тонким настройкам, которые доступны для опытных экспертов.

Период / дата исследования.

Здесь есть два пересекающихся момента: технический и методологический.

К техническому мы относим конкретную дату, за которую «поднимаются» нужные базы вакансий и резюме. Например, вы говорите: «интересуют данные на 31 декабря 2021 года» — и мы берем их. Или просто «декабрь 2021» года – и тогда берем базу за один из дней декабря, если не требуется иное методологическое решение по задачам исследования.

Такая дата может быть не одна (продолжая пример: «берем данные за декабрь 2021 и декабрь 2020 года» или «берем за каждый месяц 2021-го», и так далее). Эти опции доступны для грубых настроек.

С методологическим сложнее, особенно, если мы говорим про анализ вакансий. Когда мы получаем «срез» за конкретный день, то в нем не отразятся «все» вакансии, которые были в этом месяце. И число будет не идеально точным: во время получения среза какой-то работодатель редактировал вакансии (и они могли быть недоступными), кто-то сразу после этого снял вакансии, а кто-то открыл и так далее.

Поэтому есть методика соединения нескольких срезов: от «супертонкой» — несколько срезов в течении одного дня (например, утром и вечером) или в режиме «непрерывного парсинга», когда источник информации «зеркалится» 24 часа в сутки, накапливая, но не удаляя «сущности» (так мы называем вакансии и резюме как единицу информации).

Есть методика, когда мы берем за требуемый интервал (например, месяц) несколько срезов, а потом получаем комбинированным методом интерполяции «средневзвешенную картину» по вакансиям на заданный период. Нюансы и конкретные методы определяют эксперт с программистом и эта работа относится к «гибким настройкам».

Настройки общего характера: «теплое с мягким»

Допустим, вы хотите получить данные по вакансиям (и сравнить их с данными по резюме).

Вакансии

Давайте посмотрим на настройки у вакансий:

  • Минимальная и максимальная зарплаты. Работодатели обычно указывают диапазон: минимальную и максимальную зарплату. Если исследование требует подсчет зарплат, то можно использовать ту или другую, или обе сразу, или посчитать сначала среднее между ними.
  • Диапазоны зарплат. Некоторые работодатели не указывают или указывают заведомо неадекватные цифры по зарплате (например, «0» или «1 000 000»). Чтобы такие цифры не создавали перекоса в полученных данных стоит считать медианные зарплаты, но можно отсечь неадекватных через заданный диапазон зарплат (например, от такой-то до такой-то или не ниже (не выше) такой-то).
  • Рабочие места. Наш любимый сайт trudvsemru часто пишет о миллионах вакансий, на самом деле считая рабочие места, а вакансий там 2-3 раза меньше. Подробнее можно узнать в статье «липовые вакансии», но для исследования вы должны указать: считаем только вакансии или рабочие места тоже, и если тоже, то берем на веру всё или указываем «доверительный диапазон», или (для тонких настроек) подключаем алгоритм, самостоятельно определяющий липовые это рабочие места или реальные по множеству критериев (настройки которых опытный эксперт может проверить и изменить).
  • Рабочий график и тип занятости. Чтобы получить точные данные по средней и медианной заработной плате или сверять между собой вакансии и резюме, мы должны убедиться, что сверяем однотипные данные.


Если вакансии между собой отличаются по предлагаемому графику работы, то вряд ли стоит брать их вместе для подсчета заработных плат. Подробно о сравнении теплого с мягким написано в статье «Индекс конкурентности профессии».

  • Актуальность вакансий. Обычно все вакансии считаются актуальными, в отличие от резюме, но тем не менее можно выбрать вакансии как все имеющиеся, так и опубликованные / модифицированные за конкретный период.
  • Требования к образованию. На сайте trudvsem.ru обычно пишут требования к образованию соискателя. Хотя все больше работодателей не указывают это требование.

Можно подключить программу Магуча, которая сама определяет, требует данная работа высшего или среднего профессионального образования или достаточно школы и курсов. Настройка Магучи – это уже тонкие настройки для опытных экспертов.

Резюме

Если данные вакансий планируется сверить с данными резюме, то надо настроить сигнатуру обработки резюме:

  • Актуальность резюме. К сожалению, большая часть соискателей не снимает резюме с публикации после трудоустройства. Поэтому для получения валидных данных требуется указывать актуальность резюме — например, опубликованные или модифицированные (измененные, обновленные) за последние 100 дней или иное число.

    Для тонких настроек рекомендуется использовать индекс «скорости трудоустройства» для конкретных профессий.
  • Уникальность резюме. Как писалось в статье про «миражные резюме» на одного соискателя может приходиться несколько резюме — с указанием других профессий, других ожидаемых зарплат и даже других биографических и карьерных данных. Совпадет только личность самого соискателя.

    Вам потребуется указать, брать ли все резюме или только уникальные — одно резюме на одного соискателя. И если уникальные, то определить приоритеты выбора среди нескольких резюме одного соискателя. По конкретной профессии? По дате первой / последней / промежуточной публикации? По объему заполненных данных? По той, где ожидается большая / меньшая заработная плата? По комбинации условий? (…)

В резюме также есть поля настроек, аналогичные вышеописанным для вакансий:

  • Заработная плата
  • График работы и тип занятости
  • Образование

Есть и уникальные поля, такие как пол и возраст.

В форме заявки (вот она, кто потерял) вы можете написать и другие указания по обработке данных, которые должен учесть программист.

Всё настройки учитываются в «сигнатуре исследования» и будут тем «отпечатком сигнатуры», по которым в любое время можно будет легко идентифицировать исследование среди множества похожих.

Анализ по конкретным профессиям.

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

Первый способ — когда исследователь четко указывает наименование и программа должна проверять на 100% соответствие этому наименованию, вне зависимости от того, что внутри вакансии (или резюме).

Такое бывает, например, когда анализируются типичные ошибки в наименованиях. У нас есть исследователь, который третий год мониторит статистику вакансий и резюме с ошибочными написаниями типа «повОр», «юрисТконсульт» и так далее. (Растет число таких опечаток как со стороны соискателей, так и со стороны работодателей; причем как среди рабочих профессий, так и среди профессий, требующих высшего образования).

Второй способ — это когда требуется учесть все названия профессии, в том числе синонимичные.  Например, ищем мы данные по сантехникам. В поле нашего внимания попадут все слесари-сантехники, мастера сантехнических работ, специалист по монтажу и обслуживанию водопроводных коммуникаций и так далее. Эта опция доступна для «грубых настроек», которые настраиваются в форме заявки. Облако синонимов для каждой профессии подключит программист.

Третий способ — это когда требуется учесть группу однотипных по характеристикам профессий. Например, рабочий, разнорабочий, строительный рабочий, рабочий склада, рабочий по … — и так далее, но, опять же, сюда не войдет горнорабочий, потому что это совсем другие условия труда, требования, заработная плата и т.д.

В тонких настройках, когда мы задействуем онтологию «Магуча», она будет смотреть на описание трудовых действий и обязанностей и если встретит там паттерны, характерные для описания сантехнических работ, то она определит вес соответствия этой сущности (вакансии или резюме) к профессии сантехника. Но тут есть нюанс, который заключается в том, что Магуча работает с собственной таксономией профессий, а разные квалификационные справочники или медийно-раскрученные наименования ей не указ.

Для большего понимания процесса настроек Магучи рекомендуем к прочтению статью «Как настроить аналитику рынка труда».

  Обратите внимание, что среди наименований вакансий и резюме можно выделить несколько таксономических сущностей, и надо точно понимать, что именно вы ищете.  

Например, «врач» — это что?

В нашей таксономии, врач – это «группа профессий». В нее входят врачи более 120 специальностей. Если вам нужна информация по всем врачам совокупная, то имейте в виду, что вместе с ней вы получите «общую температуру по больнице»: средний врач-нейрохирург получает в 5-7 раз выше среднего врача-терапевта, но при этом врач терапевт требуется в 1000 раз чаще нейрохирургов. А у вас все данные по востребованности, по зарплате, по половозрастным данным для соискателей и так далее сольются в общую информацию (сомнительного содержания), но, возможно, так нужно для вашего исследования.

Аналогичная ситуация и с другими группами профессий, внутри которых есть разнородные специальности. К таким группам профессий можно отнести учителей, инженеров, программистов, менеджеров и так далее. 

Учитывать специальность очень важно, иначе вы будете среди тех исследователей, которые свято верят, что «водитель» — это самая массовая профессия. Но если не раскладывать водителей на специальности: такси, большегрузный транспорт, спецтранспорт, автобус, троллейбус, маршрутка и так далее.

Кроме просто специальностей можно исследовать еще специальности с учетом квалификации – разряда или категории. Например, вы хотите узнать, швеи какой категории наиболее востребованы или сколько доплачивают за каждую категорию в разных профессиях? И чем отличаются требования к соискателю в зависимости от категории? В этом случае в настройках в заявке указывайте требуемую вам специальность с учетом категории и сделайте пометку, насколько важно строго соответствовать (чтобы программист не запустил поиск по второму и третьему варианту, когда попадут данные по профессиям и без категории или другой категории).

После отправки заявки

Вам на почту придет подтверждение, что ваша заявка получена, обработана и поставлена в очередь на вычисленные мощности с указанием предполагаемой даты готовности. Либо придут уточняющие вопросы. Если не пришло ни то, ни другое — то это что-то странное, видимо, все болеют или в отпуске, или вы указали неверный e-mail в заявке.

Уточнить, что происходит, можно по телефону, указанному в разделе контакты.

Метка сигнатуры исследования

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

Этот набор и есть сигнатура, по которой мы можем быстро определить – откуда были получены данные, с помощью каких программ/инструментов, какие были настройки и так далее.

По готовым сигнатурам проще делать повторные или однотипные исследования, находить ошибки в данных или вычислениях, вести учет и т.д.

Мы постоянно совершенствуем программное обеспечение, а также постепенное «переезжаем» на полноценное использование нейросети. По одинаковым настройкам мы тестируем разные алгоритмы, определяя наиболее эффективные как с точки зрения получаемой точности данных, так и с позиций скорости и объема вычислений.

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

Декабрь 2022