Автор статьи: Азия, наставница по SQL в онлайн-школе анализа данных DataBoom
Ещё недавно HR воспринимался как исключительно «про людей»: собеседования, адаптация, коммуникация, культура. Сегодня этого недостаточно.
Компании растут, конкурируют за таланты и теряют деньги из-за неверных кадровых решений. Именно здесь появляется HR-аналитика.
HR-аналитика — это подход, при котором решения о найме, развитии и удержании сотрудников принимаются на основе данных, а не интуиции.
Ещё недавно HR воспринимался как исключительно «про людей»: собеседования, адаптация, коммуникация, культура. Сегодня этого недостаточно.
Компании растут, конкурируют за таланты и теряют деньги из-за неверных кадровых решений. Именно здесь появляется HR-аналитика.
HR-аналитика — это подход, при котором решения о найме, развитии и удержании сотрудников принимаются на основе данных, а не интуиции.
Какие бизнес-проблемы решает HR-аналитика
1. Снижение текучести и потерь
Каждое увольнение — это:
- затраты на поиск и найм,
- время на адаптацию,
- падение производительности команды.
С помощью аналитики HR может:
- выявлять отделы с высокой текучестью,
- находить связи между увольнениями и зарплатой, нагрузкой, руководителем,
- прогнозировать риск ухода сотрудников заранее.
2. Более качественный найм
Аналитика позволяет отвечать на вопросы:
- какие каналы найма дают лучших сотрудников,
- кто быстрее проходит испытательный срок,
- какие компетенции связаны с высокой эффективностью.
В результате найм становится быстрее, дешевле и точнее.
3. Прозрачность и доверие со стороны бизнеса
Когда HR говорит языком цифр:
- руководители лучше понимают кадровые решения,
- проще защищать бюджет на найм и обучение,
- HR становится партнёром бизнеса, а не вспомогательной функцией.
Отчёт «мы чувствуем, что есть проблема» уступает место отчёту
«в этом отделе текучесть на 18% выше среднего, причина — переработки и разрыв в зарплатах».
«в этом отделе текучесть на 18% выше среднего, причина — переработки и разрыв в зарплатах».
4. Управление развитием сотрудников
HR-аналитика помогает:
- выявлять сотрудников с высоким потенциалом,
- анализировать эффективность обучения,
- строить карьерные треки на основе данных, а не субъективных оценок.
Это особенно важно для удержания сильных специалистов.
Почему именно сейчас HR-аналитика стала критически важной
- Компании работают в условиях кадрового дефицита
- Удалённый и гибридный формат усложнил управление персоналом
- Бизнес требует измеримого результата от каждой функции
HR без аналитики сегодня — это риск:
- потерять ключевых сотрудников,
- не заметить проблемы вовремя,
- принимать дорогие, но неэффективные решения.
Роль данных и SQL в HR-аналитике
HR-аналитика невозможна без работы с данными:
- базы сотрудников,
- оценки эффективности,
- посещаемость,
- зарплаты,
- результаты опросов.
SQL позволяет:
- быстро получать ответы на бизнес-вопросы,
- работать с большими массивами HR-данных,
- создавать основу для дашбордов и автоматических отчётов.
Именно поэтому SQL становится обязательным навыком для современного HR-аналитика.
HR-аналитик — это профессия на стыке людей и данных
Современный HR-аналитик:
- понимает бизнес-цели,
- умеет работать с данными,
- говорит с руководством на языке цифр,
- помогает компании расти за счёт грамотных кадровых решений.
Разберём ключевые моменты на реальных примерах.
Типовая база HR-данных может содержать следующие таблицы:
employees
performance_reviews
attendance
Задача 1. Численность сотрудников по отделам
Одна из базовых задач HR-аналитики — анализ текущей численности персонала.
/* запрос можно скопировать
SELECT
department,
COUNT(*) AS employees_cnt
FROM dbo.employees
WHERE termination_date IS NULL
GROUP BY department
ORDER BY employees_cnt DESC; *
SELECT
department,
COUNT(*) AS employees_cnt
FROM dbo.employees
WHERE termination_date IS NULL
GROUP BY department
ORDER BY employees_cnt DESC; *
📌 Что даёт запрос:
- понимание распределения сотрудников по отделам,
- выявление перегруженных или недоукомплектованных команд.
Задача 2. Текучесть кадров (turnover rate)
Текучесть — ключевая метрика в HR.
/* SELECT
department,
COUNT(CASE WHEN termination_date IS NOT NULL THEN 1 END) AS fired,
COUNT(*) AS total,
CAST(
COUNT(CASE WHEN termination_date IS NOT NULL THEN 1 END) * 100.0 / COUNT(*)
AS INT
) AS turnover_percent
FROM dbo.employees
GROUP BY department; */
department,
COUNT(CASE WHEN termination_date IS NOT NULL THEN 1 END) AS fired,
COUNT(*) AS total,
CAST(
COUNT(CASE WHEN termination_date IS NOT NULL THEN 1 END) * 100.0 / COUNT(*)
AS INT
) AS turnover_percent
FROM dbo.employees
GROUP BY department; */
📌 Используется для:
- выявления проблемных отделов,
- анализа эффективности менеджмента.
Задача 3. Средний стаж работы сотрудников
/* SELECT
department,
CAST(
ROUND(
AVG(DATEDIFF(DAY, hire_date, COALESCE(termination_date, CAST(GETDATE() AS DATE))) / 365.0),
2
) AS DECIMAL(5,2)
) AS avg_years
FROM dbo.employees
GROUP BY department; */
📌 Инсайты:
department,
CAST(
ROUND(
AVG(DATEDIFF(DAY, hire_date, COALESCE(termination_date, CAST(GETDATE() AS DATE))) / 365.0),
2
) AS DECIMAL(5,2)
) AS avg_years
FROM dbo.employees
GROUP BY department; */
📌 Инсайты:
- стабильность команд,
- зрелость сотрудников внутри подразделений.
Задача 4. Анализ зарплат
Средняя зарплата по должностям
/* SELECT
position,
CAST(AVG(salary) AS INT) AS avg_salary
FROM dbo.employees
WHERE termination_date IS NULL
GROUP BY position
ORDER BY avg_salary DESC; */
position,
CAST(AVG(salary) AS INT) AS avg_salary
FROM dbo.employees
WHERE termination_date IS NULL
GROUP BY position
ORDER BY avg_salary DESC; */
Поиск зарплатных перекосов внутри отдела
/*
SELECT
department,
CAST(MAX(salary) - MIN(salary) AS INT) AS salary_gap
FROM dbo.employees
GROUP BY department; */
SELECT
department,
CAST(MAX(salary) - MIN(salary) AS INT) AS salary_gap
FROM dbo.employees
GROUP BY department; */
📌 Полезно для:
- компенсационной аналитики,
- выявления несправедливых различий в оплате.
Задача 5. Эффективность сотрудников
/* SELECT
e.department,
CAST(
ROUND(AVG(p.score * 1.0), 2) AS DECIMAL(4,2)
) AS avg_performance
FROM dbo.employees e
JOIN dbo.performance_reviews p
ON e.employee_id = p.employee_id
GROUP BY e.department; */
e.department,
CAST(
ROUND(AVG(p.score * 1.0), 2) AS DECIMAL(4,2)
) AS avg_performance
FROM dbo.employees e
JOIN dbo.performance_reviews p
ON e.employee_id = p.employee_id
GROUP BY e.department; */
📌 HR может:
- сопоставлять эффективность и текучесть,
- находить отделы с высоким потенциалом роста.
Задача 6. Абсентеизм и переработки
/* SELECT
employee_id,
CAST(
ROUND(AVG(hours_worked), 2) AS DECIMAL(4,2)
) AS avg_hours
FROM dbo.attendance
GROUP BY employee_id
HAVING AVG(hours_worked) < 7; */
employee_id,
CAST(
ROUND(AVG(hours_worked), 2) AS DECIMAL(4,2)
) AS avg_hours
FROM dbo.attendance
GROUP BY employee_id
HAVING AVG(hours_worked) < 7; */
📌 Позволяет выявить:
- Выгорание,
- проблемы с дисциплиной,
- неравномерную загрузку сотрудников.
Типичные SQL-навыки HR-аналитика
Для уверенной работы с HR-данными аналитик должен уметь:
- GROUP BY, HAVING
- оконные функции (ROW_NUMBER, AVG OVER)
- JOIN нескольких таблиц
- работа с датами
- расчёт KPI и метрик
Почему SQL — must-have для HR-аналитика
SQL позволяет:
- работать с реальными корпоративными данными,
- быстро отвечать на бизнес-вопросы HR,
- автоматизировать отчёты,
- быть независимым от Excel и ручных расчётов.
В школе аналитики данных SQL для HR-аналитики — это не просто язык запросов, а инструмент принятия управленческих решений.
Вывод
HR-аналитика — это не «про людей», а про данные о людях.
А SQL — главный язык, который помогает превратить эти данные в решения.
Если вы хотите освоить аналитику данных и работать с реальными HR-кейсами — начинать стоит именно с SQL.