Как объективно анализировать зарплаты с помощью no-code инструментов Clickhouse и Apache Superset
Учет внутренней справедливости, настройка мэппинга и интерфейс из одной кнопки. Кейс интегратора low-code-решений AFFINAGE и компании управленческого консалтинга Lens Consulting.
Уровень заработных плат отражает рынок труда, но для объективности нужен доступ к данным коллег по рынку под NDA или специальные инструменты. Компании, у которых нет ни того, ни другого, используют открытые ресурсы, Job-борды и другие источники для определения стоимости должностей. Однако данные о вилках могут быть необъективны: зарплата зависит от бюджета, пула обязанностей и скиллов будущего сотрудника. Специалисты сами склонны демпинговать или завышать прайс, что не соответствует реальности.
Чтобы не терять эффективность, компании обращаются в консалтинг, где им помогают определить стоимость должностей. Для одной из таких компаний, Lens Consulting (консалтинговая компания, которая сотрудничает с крупнейшими российскими корпорациями – АльфаБанк, Норильский Никель, HeadHunter и другими), мы и разработали инструменты анализа с глубокой детализацией — Apache Superset и Clickhouse. Это платформы для сбора, исследования и визуализации данных с возможностью загрузки таблиц из Excel. О том, как мы пришли к этой идее и как ее реализовали, рассказываем в нашем материале.
С чего все началось
С Lens Consulting мы уже работали по другой задаче — создавали инструмент для внутреннего анализа зарплат для их клиентов. Мы начали работу над ним, и где-то в середине процесса клиент пришел к нам с новой идеей: сделать полноценный инструмент аналитики, который бы строил отчеты по рыночным зарплатам.
Заказчики увидели, что с нами удобно работать, это и вызвало взаимное доверие. Они поинтересовались, сможем ли мы реализовать нужные функции. Некоторые команды не берутся за такие задачи и отказываются, но мы решили рискнуть и разработать новый для нас продукт.
Важным критерием была цена, которая обуславливалась выбором no-code-инструментов (Open Source). Они не требуют знаний в программировании для настройки основных фич и более доступные для основных пользователей — HR-менеджеров и руководителей.
После пары встреч с клиентом мы поняли, что сможем закрыть задачу своими силами. Впоследствие сформировали несколько стратегий. Если бы через месяц Open Source не подошел, мы бы выбрали план Б и разработали проект без no-code инструментов — с аналитикой, проектированием и программированием.
Что нужно было сделать
Консалтинговая компания хотела получить продукт анализа зарплат для своих клиентов. Вот какие задачи стояли перед нами:
- Предоставить конечным пользователям удобную инфографику с отчетами — дашбордами. В них пользователь настраивает фильтры и таблицы с графиками визуально меняются.
- Соблюдать конфиденциальность пользователейУсловная компания «ИТ-мастера» покупает доступ на дашборд, но данные других они не видят. Они мониторят статистику по определенному сегменту рынка, опираясь на информацию от Lens Consulting.
- Провести сравнительный анализЗдесь конечным клиентам предлагается сравнить зарплаты внутри компании с цифрами внутри рынка. Это и был конечный результат. Сейчас система развивается, и в ней уже будет несколько дашбордов под разные задачи.
- Детально проанализировать статистику по ФОТВ систему нужно добавить большое количество фильтров: регион, индустрия, семья/подсемья должности, грейд и специализация.
- Рассчитать внутреннюю справедливостьС этой функцией пользователь загружает данные о своих сотрудниках и смотрят, насколько это коррелирует внутри компании.
- Добавить функцию выгрузки данных в Excel.
Цели продукта и аудитория
В общем смысле наш продукт нужен для принятия управленческих решений. Если говорить более детально, то целей несколько:
- Выплачивать работникам оклады, соответствующие их компетенциям.
- Сохранять конкурентоспособность на рынке труда и привлекать новые кадры.
- Определять, сколько денег запрашивает специалист под нужную задачу.
- Сформировать адекватную «вилку» по вакансиям.
- Проводить справедливую переоценку з/п с ростом грейда сотрудников.
- Оптимизировать статью расходов, связанную с оплатой гонораров.
- Находить несоответствия окладов между грейдами.
- В некоторых случаях определять KPI по задачам.
Есть аналогичные западные продукты, и некоторые российские компании ими пользуются. Благодаря нашей разработке они могут перейти на отечественный софт и не бояться санкций. Фактически наша программа — это импортозамещение, и аналогов ей еще нет. Системой уже пользуются банки, соцсети, доски объявлений и маркетплейсы.
Принцип работы инструмента анализа заработных плат
Конечный пользователь подписывает договор, оплачивает доступ к системе и получает логин, пароль и ссылку на дашборд. В целях конфиденциальности права доступа ограничены — без авторизации войти невозможно. Логин привязывается к компании. Проверка прав происходит внутри системы, и её невозможно обмануть, то есть данные клиентов надежно защищены. На дашборде предусмотрены фильтры, например, зарплаты рынка по Москве, и специализация — разработка на JS и другие варианты.
Также инструмент можно использовать в целях прогноза. Например, аналитики со стороны компаний могут моделировать ситуации из серии «что будет, если мы повысим свои оклады на 20%, а рынок при этом останется на том же уровне».
Особую ценность представляет точечная аналитика по внешней конкурентоспособности и внутренней справедливости. Внешняя конкурентоспособность — это когда мы находим данные о своих должностях и сотрудниках, сравниваем с рынком и строим графики и таблицы.
Внутренняя справедливость — сводные таблицы и данные по грейдам внутри организации. Если условный разработчик находится на 23 грейде, то мы сравниваем специалистов 23 грейда внутри штата. Это методология грейдов, в которой действуют собственные разработки по агрегации данных, — они учитывают только реалистичные цифры.
Этапы разработки
За полтора месяца проект прошел через пять этапов: проектирование, DevOps, загрузка данных, интеграция и публикация. Управление проектом проводили в Trello.
Раз в неделю мы демонстрировали результат и обсуждали, что будем делать на следующей неделе. Клиент присылал образцы расчетов в XLSX, а мы повторяли расчёты в связке Сlickhouse + Superset. Это позволило сильно сократить время приемки и запустить проект в срок.
1. Проектирование
На этом этапе наша команда проработала инфраструктуру серверов на сайте и спроектировала безопасную и отказоустойчивую систему. Мы сравнили несколько продуктов и решили использовать Open-Source и Self-hosted-решений, — в качестве базы данных выбрали Clickhouse, для визуализации — Superset. В общей сложности мы сравнили 9 BI-инструментов и написали об этом статью.
2. DevOps
Нам предстояло установить Superset, Redis, Clickhouse, Nginx, микросервисный сайт, настроить https-подключение и DNS-зону доменов. Все это было нужно для того, чтобы на сервере каждый узел архитектуры работал корректно.
В результате этого этапа Superset и микросервисный сайт открываются по домену, то есть пользователь переходит по ссылке и получает всю необходимую информацию. Clickhouse отдает запрашиваемые данные в Superset, и Superset корректно выводит их из Clickhouse.
3. Загрузка данных
На этапе загрузки данных нужно было настроить меппинг анкет сотрудников с указанием окладов, премий и других показателей из структуры XLSX в Clickhouse. Для этого выбрали стек node.js, koa, vue, vuetify. В текущей версии интерфейс может загружать XLSX-файлы размером более 300 мегабайт, что в 3,5 раза больше технических ограничений. Это нам удалось сделать с помощью потоков. Про все технические особенности разработки этой системы мы уже готовим отдельную статью, скоро ее опубликуем и поделимся ссылкой.
4. Интеграция Superset и Clickhouse
Установили необходимые драйверы для Superset, разграничили права ролей для повышения безопасности приложения. Благодаря интеграциям данные из Clickhouse обрабатываются и визуализируются в Superset, и конечный пользователь видит дашборды, сводные графики и таблицы, с которыми уже можно работать.
5. Публикация
После запуска работающего и протестированного сервиса подключили к системе конечных клиентов Lens Consulting. Чтобы наши заказчики быстрее смогли адаптироваться в новом полезном инструменте, написали инструкцию по созданию пользователей в необходимых ролях.
Как инструмент помог Lens Consulting
Саму платформу компания использует для развития направления предоставления информационно-аналитический услуг в области практик вознаграждения и и для своих консалтинговых проектов. Например, компания решила внедрить систему грейдов, и на ее основе разработать вилки вознаграждения. В этом случае Lens Consulting без труда сможет определить стоимость работ и предложить решение.
Еще одна польза для клиента — интеграция с первоначальным продуктом Lens Consulting — Grade.me, мы называем это процедурой моделирования зарплат. И она приносит много ценности конечным заказчикам. Например, HR-менеджер планирует поменять оклады и проводит бизнес-анализ. Мы поможем этот анализ сделать быстро, просто и правдоподобно, потому что цифры реальные и агрегируются в Clickhouse.
Итоги и перспективы развития
Lens Consulting планирует расширять исследования рынка и подключить к аналитике зарплат еще 150 компаний, в том числе зарубежных.