Анализ данных*SQL*Python*Карьера в IT*Data Mining*

Data Analyst: roadmap с нуля, стек SQL / Python / BI и разбор задач с собеседований

Полная дорожная карта аналитика данных: продвинутый SQL с оконными функциями, анализ данных в Pandas, A/B-тестирование, продуктовые метрики и типичные кейсы на интервью.

Команда Capycodio
Команда Capycodio
·9 мин

Аналитик данных (Data Analyst) помогает бизнесу принимать решения на основе реальных цифр, а не интуиции. В отличие от Data Scientist (который тренирует сложные ML-модели) и Data Engineer (который строит пайплайны ETL и хранилища DWH), аналитик данных исследует поведение пользователей, строит дашборды, оценивает результаты A/B-тестов и находит точки роста выручки.

В этой статье мы подробно разберем:

  1. Ключевые компетенции аналитика данных.
  2. Пошаговый roadmap освоения инструментов.
  3. 5 классических задач и вопросов с собеседований с подробными решениями.

Что должен знать Data Analyst?#

ТаблицаСвайп вправо
НаправлениеКлючевые навыкиИнструменты
SQL (Главный инструмент)Оконные функции, CTE (WITH), сложные джойны, оптимизация тяжелых аналитических выборокPostgreSQL, ClickHouse, BigQuery
Python для анализаПредобработка сырых таблиц, группировка, визуализация распределенийpandas, numpy, matplotlib, seaborn
Продуктовые метрикиРасчет юнит-экономики: LTV, CAC, Retention, Churn Rate, ARPU, конверсии воронкиExcel, Google Sheets, Amplitude
A/B-тестированиеПроверка статистических гипотез, p-value, размер выборки, ошибки первого и второго родаSciPy, Statsmodels
BI и визуализацияПроектирование понятных интерактивных дашбордов для топ-менеджментаApache Superset, Power BI, Tableau

Дорожная карта (Roadmap) обучения#

Пошаговый план развития Data Analyst

5 этапов
01
Продвинутый SQL и базы данных
1-1.5 месяца

Оконные функции (OVER, PARTITION BY), ранжирование, смещения LAG/LEAD, CTE и оптимизация тяжелых аналитических выборок.

PostgreSQLClickHouseBigQueryОконные функцииCTE
02
Python для анализа данных (Pandas & NumPy)
1-1.5 месяца

Очистка сырых данных, обработка пропусков и выбросов, группировки (groupby), сводные таблицы (pivot_table) и базовая визуализация.

PythonPandasNumPyMatplotlibSeaborn
03
Продуктовая аналитика и юнит-экономика
3-4 недели

Расчет метрик продукта: LTV, CAC, Retention, Churn Rate, ARPU, конверсии в воронках и когортный анализ.

Юнит-экономикаLTV / CACRetention RateКогортыAmplitude
04
Теория вероятностей, статистика и A/B-тесты
1 месяц

Проверка статистических гипотез, критерии Стьюдента и Манна-Уитни, бутстреп, оценка мощности теста и расчет размера выборки.

СтатистикаA/B тестированиеp-valueBootstrapSciPy
05
BI-инструменты и визуализация для бизнеса
2-3 недели

Проектирование наглядных интерактивных дашбордов для руководства, регулярные отчеты и data storytelling.

Apache SupersetPower BITableauДашборды

1. SQL для аналитики#

  • Оконные функции (OVER (PARTITION BY ... ORDER BY ...)).
  • Аналитические функции ранжирования: ROW_NUMBER(), RANK(), DENSE_RANK().
  • Функции смещения: LAG() и LEAD() для расчета динамики продаж от месяца к месяцу.

2. Python и анализ данных#

  • Структуры данных Series и DataFrame.
  • Фильтрация, группировки (groupby), сводные таблицы (pivot_table), слияния (merge).
  • Очистка «грязных» данных: обработка пропусков (fillna, dropna), дедупликация, поиск аномалий и выбросов.

3. Продуктовая аналитика и A/B-тесты#

  • Когортный анализ: построение когорт по дате первой покупки или регистрации.
  • Оценка достоверности: критерий Стьюдента ($t$-тест), Манна-Уитни, бутстреп (Bootstrap).

Топ-5 вопросов и задач с собеседований#

1. В чем разница между ROW_NUMBER(), RANK() и DENSE_RANK()?#

Самый популярный вопрос на знание оконных функций SQL.

Представим зарплаты сотрудников: [100, 90, 90, 80]:

ТаблицаСвайп вправо
ФункцияЛогика нумерацииРезультат для [100, 90, 90, 80]
ROW_NUMBER()Строго последовательная нумерация каждой строки1, 2, 3, 4
RANK()Одинаковые значения получают одинаковый ранг, следующий ранг пропускается1, 2, 2, 4 (ранг 3 пропущен)
DENSE_RANK()Одинаковые значения получают одинаковый ранг, пропусков нет1, 2, 2, 3
SQL
SELECT 
    name, 
    salary,
    DENSE_RANK() OVER (ORDER BY salary DESC) AS salary_rank
FROM employees;

2. Что такое Когортный анализ и как посчитать Retention 7-го дня?#

Retention Rate 7-го дня (Коэффициент удержания) — это процент пользователей, которые вернулись в сервис на 7-й день после даты регистрации.

Алгоритм расчета в SQL:

  1. Для каждого пользователя фиксируем дату когорты (день регистрации).
  2. Вычисляем разницу в днях между датой активности и датой когорты: activity_date - cohort_date.
  3. Считаем количество активных пользователей на 7-й день и делим на общий размер когорты 0-го дня:
TEXT
Retention Day 7 = (Активные пользователи на 7-й день / Размер когорты дня 0) × 100%

3. Ошибки I и II рода в A/B-тестировании#

При проведении эксперимента бизнес рискует принять ложное решение:

  • Ошибка I рода (False Positive, alpha): Мы решили, что новая фича увеличила конверсию, хотя на самом деле изменения были случайным шумом (отклонили верную нулевую гипотезу). Контролируется уровнем значимости (обычно alpha = 0.05).
  • Ошибка II рода (False Negative, beta): Новая фича действительно работала лучше, но мы не заметили эффекта и выкатили старую версию (не отклонили ложную нулевую гипотезу). Контролируется мощностью теста (1 - beta, обычно 80%).

4. Как найти вторую максимальную зарплату в таблице без LIMIT и OFFSET?#

Классическая алгоритмическая задача на SQL:

SQL
SELECT MAX(salary) AS second_highest_salary
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);

Или через оконную функцию:

SQL
WITH ranked AS (
    SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) as rnk
    FROM employees
)
SELECT salary FROM ranked WHERE rnk = 2 LIMIT 1;

5. Что такое p-value простыми словами?#

p-value (вероятность ошибки) — это вероятность получить наблюдаемый (или еще более экстремальный) результат эксперимента при условии, что нулевая гипотеза верна (то есть на самом деле никакой разницы между версиями А и Б нет).

Если значение p-value < 0.05, мы говорим: «Вероятность того, что такой рост конверсии случаен — менее 5%. Мы отвергаем нулевую гипотезу и признаем победу варианта Б».


Резюме#

Успешный аналитик данных сочетает техническую свободу в SQL и Python с ясным продуктовым чутьем. Умение не просто выгрузить таблицу, а ответить на вопрос «Что бизнесу нужно сделать прямо сейчас на основе этих цифр?» — главный критерий на собеседовании.

Capycodio

Прокачивай IT-скиллы с Capycodio

Не зубри теорию часами перед компьютером. Короткие 3-минутные интерактивные сессии прямо с телефона: по дороге, за кофе или перед сном.

Теги публикации:
#data_analyst#sql#python#pandas#ab_тестирование#собеседование#метрики
Капибара
Команда Capycodio

Мы создаем интерактивный мобильный тренажер для разработчиков. Короткие сессии по 3-5 минут, чтобы держать базу и закрывать пробелы перед собеседованиями.