Тестовые задания для data analyst — это почти всегда работа с реальными (или приближенными к реальным) данными: SQL, Python, интерпретация результатов. Разбираем типичные форматы и как подходить к решению.
Типичные форматы тестовых заданий DA
SQL-задачи: набор таблиц, несколько вопросов на написание запросов. От простых JOIN до оконных функций.
Анализ датасета (Python/Excel): дают CSV/Excel с данными, нужно ответить на бизнес-вопросы, визуализировать, сформулировать выводы.
A/B тест: дают результаты эксперимента, нужно интерпретировать — есть ли эффект, какой вывод.
Кейс-задача: «у нас упала конверсия в корзину на 15% — как бы вы разбирались». Проверяют структуру мышления.
Разбор кейса: анализ датасета интернет-магазина
Типичное условие:
> У вас есть данные интернет-магазина за квартал (orders.csv, users.csv, products.csv). Ответьте на вопросы:
> 1. Какой товар принёс наибольшую выручку?
> 2. Из каких каналов пришли пользователи с наибольшим средним чеком?
> 3. Есть ли сезонность в продажах?
> 4. Какие выводы вы сделали? Что бы порекомендовали бизнесу?
Шаг 1: разведочный анализ (EDA)
До ответов на вопросы — посмотрите на данные:
```python
import pandas as pd
orders = pd.read_csv('orders.csv')
print(orders.shape) # размер
print(orders.dtypes) # типы данных
print(orders.isnull().sum()) # пропуски
print(orders.describe()) # статистика
print(orders.head()) # первые строки
```
Что проверить: пропуски, дубликаты, аномалии (отрицательные цены, даты в будущем), распределение ключевых метрик.
Не пропускайте EDA — это то, что отличает аналитика от «просто запрос написал».
Шаг 2: ответы на вопросы с кодом
```python
# Выручка по товарам
revenue_by_product = (
orders.groupby('product_name')['revenue']
.sum()
.sort_values(ascending=False)
.head(10)
)
```
Каждый ответ — код + вывод + интерпретация на русском языке. Не просто таблица цифр.
Шаг 3: визуализации
Минимум одна визуализация на каждый вопрос. Правила:
- заголовок графика
- подписи осей
- читаемые метки
- нет «радужного» цвета везде — одна цветовая схема
```python
import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots(figsize=(10, 6))
revenue_by_product.plot(kind='bar', ax=ax)
ax.set_title('Топ-10 товаров по выручке, Q1 2024')
ax.set_xlabel('Товар')
ax.set_ylabel('Выручка, руб.')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
```
Шаг 4: выводы и рекомендации
Это самая важная часть. Работодатель хочет видеть не просто «товар X принёс 1 млн руб.», а:
- Что это значит для бизнеса: «товар X составляет 30% выручки при 5% ассортимента — критически важная позиция».
- Что рекомендуете: «обеспечить надёжный запас, проверить маржинальность, рассмотреть кросс-продажи».
- Ограничения анализа: «данные только за квартал — для вывода о сезонности нужен год».
Шаг 5: оформление ноутбука
Jupyter Notebook — стандартный формат. Правила:
- начните с описания датасета и задачи
- структура: EDA → анализ → выводы
- Markdown-ячейки с пояснениями между кодом
- нет лишних `print()` и закомментированного кода
- финальный запуск «Kernel → Restart & Run All» — всё должно воспроизводиться
Разбор кейса: SQL-задание
Типичные SQL-вопросы:
1. Найти пользователей, сделавших более 3 покупок за последние 30 дней
2. Посчитать retention по месяцам
3. Найти товары, которые покупают вместе чаще всего
Совет: добавьте комментарии к сложным запросам:
```sql
-- Retention: доля пользователей месяца N, вернувшихся в месяц N+1
WITH monthly_users AS (
SELECT
user_id,
DATE_TRUNC('month', order_date) AS month
FROM orders
GROUP BY 1, 2
)
...
```
Что проверяют в тестовом задании DA
- Качество EDA: заметили ли аномалии и пропуски.
- Правильность SQL/кода: верные результаты, оптимальные запросы.
- Интерпретация: не просто числа, а что они значат.
- Оформление: структурированный ноутбук, который можно читать как документ.
- Рекомендации: умение переводить данные в бизнес-выводы.
FAQ
Нужно ли использовать ML для тестового задания DA?
Почти никогда. Если не просили — не добавляйте. ML в тестовом DA смотрится как избыточность.
Какой инструмент лучше — Python или Excel?
Если не указано — Python (pandas + matplotlib). Это демонстрирует больше навыков. Excel — только если просили.
Как оформить ноутбук для отправки?
Загрузите на GitHub и дайте ссылку. Или приложите .ipynb + HTML-экспорт (удобно для чтения без Jupyter).
Сколько времени занимает типичное тестовое для DA?
3–8 часов. Если дают неделю — не нужно тратить всё время. Главное — качество выводов, а не объём.
Что делать с пропусками в данных?
Задокументировать: сколько их, в каких колонках. Объяснить, как обработали: удалили, заполнили медианой/модой, оставили с пометкой.