Я спарсил 5000 вакансий маркетологов с HH и вот что я узнал
Вступление
Привет, я работаю маркетологом больше 8 лет, за это время успел поработать над многими проектами, с разными рекламными площадками, получать разную зарплату.
В январе 2023 я начал изучать Python для анализа данных, а сейчас появились силы и знания сделать пару pet-проектов по аналитике. Мне интересна эта сфера и хотелось бы дальше в ней развиваться, я решил проанализировать рынок вакансий на HH, собрать данные и узнать что-то полезное для себя, ну и конечно поделиться с VC.
Ниже, я расскажу как собирал вакансии с HH, о чистке данных и аналитике, если вам интересны картинки и выводы, то листайте сразу до Аналитики. :)
Сбор данных
Для сбора данных я использовал Python, библиотеки Selenium, Requests, BeautifulSoup, Fake_UserAgent. Если кто-то спросит, а почему я не использовал api HH, то сразу отвечу, что просто хотел проверить свои знания этих библиотек.
Я подбирал вакансии только по ключевому слово «маркетолог». Я решил собирать вакансии только из РФ, у которых указан доход и фильтранул поиск только по ключевому слову «маркетолог» в названии вакансии. Но мой парсер, в итоге, всё равно собрал часть вакансий без указания зарплаты, ну и Бог с ними.
У HH есть неприятная особенность, если вы просто будете искать вакансии с фильтром выше, то HH покажет, что сейчас есть около 5.000 подходящих вакансий (на апрель 2023), при этом HH формирует только 40 страниц с вакансиями, где на каждой странице только 50 штук оных. В итоге из 5.000 мы видим только 40х50=2000 вакансий.
Для того чтобы обойти эту особенность, я собирал их не сразу со всей Великой и Могучей, а по частям: отдельно с Москвы, отдельно с СПБ, отдельно регионы. В итоге как раз вышло около 5000 штук. Для моего исследования этого достаточно.
Парсинг занял около 4 часов. Я использовал задержку в 3 секунды перед каждым парсингом вакансии. Я никуда не спешил, не хотел ДДОСить сервер, не хотел словить бан от площадки и пока еще не знаком с асинхронным программированием.
Я собирал следующие данные с вакансии:
название
ссылка
зарплата
требуемый опыт
условия занятости (полная занятость, частичная, стажировка и тд)
условия занятости (в офисе, удаленная работа и тд)
название компании
город
ключевые навыки
дата публикации
Чистка данных
Я не буду особо вдаваться, как я приводил данные к одному виду, чтобы их было легче анализировать, затрону только зарплаты.
Зарплаты в иностранной валюте я приводил к рублю по курсу ЦБ на 11.04:
USD — 81₽, EUR — 89₽
Если в зарплате было указано «до вычета налогов», то я вычитал 13%.
Если в вакансии разброс «от 100 000 до 150 000 руб. на руки», то я брал нижнюю планку, т.е. 100.000₽.
О зарплатах можно долго спорить, например вас могут взять на зарплату как большую, так и меньшую, чем указано в вакансии, зависит только от вас. Поэтому будем держать эту условность в голове.
Аналитика и выводы
Количество вакансий и средняя ЗП
Один из основных графиков моего исследования. Логично, что в Москве и Питере вакансий больше и там самые большие зарплаты. Меня удивил Владивосток и расстроил Киров. Теперь буду называть Киров «чистилищем маркетологов».
Мода по зарплатам
Я разбил зарплаты по категориям +- 10.000. Если в вакансии зарплата 50.000-59.999, то вакансия попадает в категорию 50.000.
Требуемый опыт работы и зарплата
Компании чаще всего ищут специалистов с опытом 1-3 года. При этом, компании готовы доплачивать за специалистов с опытом. Логично :)
Условия рабочего дня и зарплата
Вакансий с полным рабочий днём в офисе больше, чем удаленки, в 6 раз. Но на удаленке, в среднем, платят на 5000₽ больше.
Итог
Я вобще не затронул тему ключевых навыков в вакансиях, потому что мне пока лень. :) Надеюсь вам было полезно или хотя-бы интересно.
Буду рад критике, советам и комментам.
Я создал свой телеграм-канал, подписывайтесь :) Там пока что только эта статья, но я собираюсь в ближайшее время добавить ещё аналитику про вакансиям дизайнеров.