BI-аналитик — это человек, который превращает сырые данные в дашборды и отчёты, понятные бизнесу. SQL для него — основной рабочий инструмент. Но какой именно SQL нужен для этой роли? И как HR проверить уровень кандидата, не разбираясь в технических деталях?
Чем BI-аналитик отличается от дата-инженера
Дата-инженер строит трубопроводы данных (пайплайны), оптимизирует хранилища, думает об инфраструктуре. BI-аналитик работает с уже подготовленными данными: строит отчёты, рассчитывает метрики, отвечает на бизнес-вопросы.
Это значит, что BI-аналитику нужен хороший аналитический SQL, но не обязательно глубокое знание оптимизации или администрирования БД.
Что обязательно знать BI-аналитику
Уровень must-have
SELECT,WHERE,ORDER BY,LIMIT— базовая выборкаJOINвсех типов:INNER,LEFT,RIGHT,FULL- Агрегатные функции:
SUM,AVG,COUNT,MIN,MAX GROUP BYиHAVINGCASE WHENдля условных вычислений- Работа с датами:
DATE_TRUNC,EXTRACT,DATEDIFF - Подзапросы и CTE (
WITH ... AS)
Уровень nice-to-have
- Оконные функции:
ROW_NUMBER(),LAG(),LEAD(), скользящие средние - Работа с
NULL:COALESCE,NULLIF,IS NULL UNION/UNION ALL- Базовое понимание индексов (для ускорения запросов)
Уровень не обязателен
- Рекурсивные CTE
- Транзакции и блокировки
- DDL (создание таблиц, изменение схем)
- Настройка производительности на уровне СУБД
Типичные задачи BI-аналитика
Вот реальные бизнес-вопросы, которые BI-аналитик решает каждый день:
- «Покажи выручку по месяцам за последний год в разрезе по регионам»
- «Найди топ-10 клиентов по сумме заказов за квартал»
- «Рассчитай Retention Rate за первые 30 дней после регистрации»
- «Сколько пользователей совершили более 3 покупок за месяц?»
- «Построй когортный анализ по месяцу первой покупки»
Если кандидат может решить эти задачи в SQL, он готов к работе BI-аналитиком.
Тестовые задания для скрининга
Используйте эти задачи на техническом скрининге. Они не требуют сложных конструкций, но чётко показывают аналитическое мышление.
Задача 1 — базовый уровень
Есть таблица orders (order_id, user_id, amount, created_at). Напишите запрос, который выводит сумму заказов по каждому месяцу за 2024 год.
Проверяет: GROUP BY, DATE_TRUNC или EXTRACT, фильтрацию по дате.
Задача 2 — средний уровень
Найдите пользователей, которые сделали первую покупку в январе и вернулись за второй покупкой в феврале.
Проверяет: подзапросы или CTE, понимание последовательности событий.
Задача 3 — продвинутый уровень
Рассчитайте скользящую сумму продаж за последние 7 дней для каждого дня.
Проверяет: оконные функции с ROWS BETWEEN.
Как HR оценивает результат без технических знаний
Попросите нанимающего менеджера дать вам эталонный ответ на каждую задачу. На скрининге обращайте внимание на:
- Кандидат написал SQL-код? Если нет — явно не тот уровень.
- Код выглядит структурированным? Отступы, псевдонимы таблиц, комментарии — признак опытного специалиста.
- Кандидат задавал уточняющие вопросы? («А временная зона учитывается?», «NULL в amount — это 0 или пропуск?») — хороший знак.
- Сколько времени ушло? На задачу уровня 1 опытный аналитик тратит 3-5 минут.
Для автоматической проверки SQL-задач удобно использовать платформы вроде sqllab.ru — кандидат решает задачи онлайн, результаты фиксируются автоматически.
Инструменты и диалекты
Уточните на скрининге, с какими инструментами работал кандидат:
| Инструмент | SQL-диалект |
|---|---|
| PostgreSQL | стандарт + расширения |
| MySQL / MariaDB | немного отличается |
| Redshift | на базе PostgreSQL |
| BigQuery | Standard SQL |
| ClickHouse | свой диалект |
| dbt | Jinja + SQL |
Для большинства BI-позиций достаточно знания PostgreSQL или BigQuery.
Чек-лист требований к BI-аналитику
- JOIN всех типов — обязательно
- Агрегации с GROUP BY — обязательно
- Работа с датами — обязательно
- CTE — желательно
- Оконные функции — для middle+
- Опыт с конкретным BI-инструментом (Tableau, Metabase, Power BI) — зависит от стека компании
Итог
BI-аналитику не нужен SQL уровня DBA. Нужен хороший аналитический SQL: агрегации, фильтрация, работа с датами, подзапросы. Проверьте именно это — и вы найдёте человека, который будет полезен бизнесу с первой недели.