Как объективно анализировать зарплаты с помощью 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.
Lens Consulting планировали релиз продукта к определенному сроку. Заказчик попросил своих клиентов прислать данные анкет с окладами. У них было представление, когда пул анкет будет сформирован, поэтому дедлайн был жесткий — всего 1,5 месяца. К тому моменту анкеты уже должны были быть собраны и загружены в систему.
Цели продукта и аудитория
В общем смысле наш продукт нужен для принятия управленческих решений. Если говорить более детально, то целей несколько:
- Выплачивать работникам оклады, соответствующие их компетенциям.
- Сохранять конкурентоспособность на рынке труда и привлекать новые кадры.
- Определять, сколько денег запрашивает специалист под нужную задачу.
- Сформировать адекватную «вилку» по вакансиям.
- Проводить справедливую переоценку з/п с ростом грейда сотрудников.
- Оптимизировать статью расходов, связанную с оплатой гонораров.
- Находить несоответствия окладов между грейдами.
- В некоторых случаях определять 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 раза больше технических ограничений. Это нам удалось сделать с помощью потоков. Про все технические особенности разработки этой системы мы уже готовим отдельную статью, скоро ее опубликуем и поделимся ссылкой.
Главная «фишка» этого этапа — создать сайт с интерфейсом, который принимает на вход XLSX-файл, парсит его и загружается данные в Clickhouse. Было несколько этапов улучшения сайта. Мы совершенствовали сервис до тех пор пока интерфейс не стал действительно удобным и информативным. Например, мы отображаем все компании, которые загружены в систему, и количество загруженных сотрудников. Дело в том, что у контент-менеджера нет прямого доступа в Сlickhouse, но при этом кто-то должен следить за содержимым базы. Мы сделали так, что содержимое таблиц в базе видно, и теперь можно сравнивать количество данных в XLSX-анкетах с количеством данных в базе, — это дополнительная проверка корректности загрузки данных.
4. Интеграция Superset и Clickhouse
Установили необходимые драйверы для Superset, разграничили права ролей для повышения безопасности приложения. Благодаря интеграциям данные из Clickhouse обрабатываются и визуализируются в Superset, и конечный пользователь видит дашборды, сводные графики и таблицы, с которыми уже можно работать.
5. Публикация
После запуска работающего и протестированного сервиса подключили к системе конечных клиентов Lens Consulting. Чтобы наши заказчики быстрее смогли адаптироваться в новом полезном инструменте, написали инструкцию по созданию пользователей в необходимых ролях.
После публикации мы продолжаем поддерживать проект. Одним из последних коррективов стал экспорт в Excel для клиентов. Выяснилось, что им неудобно проверять фильтры по каждому региону, — а их 86 штук, — и каждый раз кликать кнопку «Применить» – настраивать фильтр – ждать – выгружать. Мы это оперативно поправили для лучшего юзабилити и сделали кнопку экспорта на дашбордах. По клику скачивается XLSX-файл со всеми возможными вариантами фильтрации. Теперь действия, которые раньше занимали у людей 6 часов, система выполняет меньше чем за минуту.
Как инструмент помог Lens Consulting
Наша компания занимается управленческим консалтингом. Мы разрабатываем стратегии вознаграждения, оптимизируем численность, пересматриваем показатели эффективности. В этом году мы стали провайдером по сбору рыночных практик в области вознаграждения, и в рамках этого отдельного направления предоставляем компаниям возможность приобрести информацию о рыночной стоимости специалистов. При этом наша система учитывает именно текущий уровень вознаграждения, который сотрудники получают в настоящее время в компании, а также сложность выполняемой работы — это мы учитываем через процесс классификации должностей.
Саму платформу компания использует для развития направления предоставления информационно-аналитический услуг в области практик вознаграждения и и для своих консалтинговых проектов. Например, компания решила внедрить систему грейдов, и на ее основе разработать вилки вознаграждения. В этом случае Lens Consulting без труда сможет определить стоимость работ и предложить решение.
На рынке до недавнего времени существовали аналогичные продукты. Но они обладали меньшей функциональностью, и выгрузок данных приходилось ждать продолжительное время (до получаса). На сегодняшний день на Российском рынке аналогичных продуктов нет.
Еще одна польза для клиента — интеграция с первоначальным продуктом Lens Consulting — Grade.me, мы называем это процедурой моделирования зарплат. И она приносит много ценности конечным заказчикам. Например, HR-менеджер планирует поменять оклады и проводит бизнес-анализ. Мы поможем этот анализ сделать быстро, просто и правдоподобно, потому что цифры реальные и агрегируются в Clickhouse.
Итоги и перспективы развития
Размер заработной платы — ключевой вопрос в HR-процессах и расчете бюджета. Платить сотрудникам мало значит потерять компетентных специалистов. Платить много — необоснованно тратить капитал. Благодаря нашей совместной разработке у Lens Consulting появился инструмент объективного анализа, который поможет их клиентам рассчитать справедливый оклад для специалистов.
Lens Consulting планирует расширять исследования рынка и подключить к аналитике зарплат еще 150 компаний, в том числе зарубежных.