Короткий ответ: базовый стек аналитика данных в 2026 — это SQL, Python с pandas, один BI-инструмент (в РФ чаще DataLens или Superset), колоночная база вроде ClickHouse, dbt для трансформаций и понимание A/B-платформ. Порядок такой: сначала SQL до автоматизма, следом pandas, параллельно осваиваете любой BI, а ClickHouse, dbt и A/B подключаете, когда основа уже стоит. Всё остальное — Git, Airflow, Docker — это «клей», который прикручивается по мере надобности, а не с первого дня. Дальше разберу каждый слой: что он делает, обязателен ли он и сколько времени закладывать.
Я перебрал за годы работы десяток вакансий и провёл кучу собеседований, и картина устойчивая: 80% реальной пользы аналитика приносят два инструмента — SQL и Python. Остальное — усилители. Проблема новичков в том, что они пытаются учить всё сразу, распыляются на пять курсов и в итоге ни один инструмент не доводят до рабочего уровня. Поэтому статья не про «выучите всё», а про приоритеты.
Из чего состоит стек аналитика данных в 2026?
Разложу стек по слоям — от того, что ближе к данным, к тому, что ближе к бизнесу.
- Хранилище: где физически лежат данные. Чаще всего это Postgres для транзакционных систем и ClickHouse (или Greenplum, реже Vertica) для аналитики.
- Язык запросов: SQL. Через него вы достаёте данные из хранилища. Это фундамент, без вариантов.
- Обработка и логика: Python + pandas. Когда SQL уже не тянет — сложная предобработка, статистика, ML-фичи.
- Трансформации: dbt. Превращает сырые таблицы в чистые витрины по расписанию, версионирует SQL-логику.
- Оркестрация: Airflow (или его аналоги). Запускает пайплайны по расписанию, следит за зависимостями.
- Визуализация (BI): DataLens, Superset, Metabase. Дашборды, которые смотрит бизнес.
- Эксперименты: A/B-платформа плюс статистика (обычно на Python/scipy).
- Инженерный минимум: Git для версионирования, немного командной строки, базовое понимание Docker.
Не нужно всё это знать на входе. Junior-аналитик реально работает с SQL, pandas и BI. ClickHouse и dbt подключаются на уровне middle, оркестрация и A/B — ближе к senior или в продуктовых командах. Ниже — про каждый слой отдельно.
С чего начать — SQL или Python?
Однозначно SQL. Это самый частый инструмент в работе аналитика и самый частый предмет на собеседовании. Данные живут в базах, а язык общения с базами — SQL. Даже если вы будете жить в Python, 90% случаев вы начинаете с SELECT, вытаскиваете срез и только потом что-то с ним делаете.
Что нужно уметь на рабочем уровне: JOIN всех типов, агрегации с GROUP BY и HAVING, подзапросы, CTE (WITH), и — критично — оконные функции. Вот пример уровня, который ждут почти везде: посчитать нарастающий итог выручки по дням.
SELECT
order_date,
SUM(revenue) AS daily_revenue,
SUM(SUM(revenue)) OVER (ORDER BY order_date) AS running_total
FROM orders
GROUP BY order_date
ORDER BY order_date;
Если такой запрос вызывает ступор — вам сюда. Systematically с нуля дают в бесплатном курсе «SQL с нуля», а закреплять руками лучше всего в SQL-тренажёре на живых задачах с проверкой. Отдельные функции можно быстро посмотреть в справочнике SQL. SQL реально учится за 4-6 недель до собеседного уровня, если решать по задаче в день, а не смотреть видео.
Зачем нужен pandas, если всё можно сделать в SQL?
Хороший вопрос, и на собеседовании его любят задавать в обратную сторону: «а почему бы не сделать это в SQL?». Правда в том, что многое действительно проще в SQL, и хороший аналитик не тащит данные в Python без причины. Но есть задачи, где pandas выигрывает.
Первое — сложная предобработка: парсинг строк, работа с вложенным JSON, нестандартные преобразования, которые в SQL превращаются в нечитаемую простыню. Второе — статистика и математика: доверительные интервалы, корреляции, проверка гипотез. Третье — всё, что ведёт к ML и построению фич. Четвёртое — автоматизация: выгрузка, обработка, отправка отчёта одним скриптом.
Простой пример — то, что в pandas делается в одну строку:
import pandas as pd
df = pd.read_sql("SELECT user_id, event_date, revenue FROM events", conn)
# средний чек и число заказов по каждому пользователю
agg = df.groupby("user_id").agg(
orders=("revenue", "count"),
avg_check=("revenue", "mean"),
).reset_index()
Замечу: это можно и в SQL. Мой практический принцип — тяжёлую агрегацию оставляю базе (она для этого создана и работает на серверных мощностях), а в pandas тащу то, что база делает плохо или неудобно. Тренироваться на реальных Python-задачах удобно в Python-тренажёре, а быстрые подсказки по методам — в справочнике pandas. Про сам pandas достаточно уметь: индексацию и фильтрацию, groupby, merge, pivot, работу с датами и apply. Numpy и scipy подтянутся сами, когда дойдёте до статистики.
Какой BI выбрать: DataLens, Superset или Metabase?
Учите тот, что стоит у вашего будущего работодателя — но если выбирать вслепую, я бы ставил на связку DataLens и Superset, потому что в РФ они сейчас доминируют.
Коротко про варианты:
- DataLens — облачный, низкий порог входа, хорошо дружит с российской экосистемой и ClickHouse. Отличный первый BI: собрать дашборд можно за вечер.
- Superset — open-source, живёт на SQL, гибкий, ставится on-premise. Любят компании, которым важен контроль и кастомизация. Чуть сложнее на старте.
- Metabase — самый дружелюбный к новичкам, «спроси данные словами». Часто в небольших командах и стартапах.
Главное, что нужно понять: BI-инструменты взаимозаменяемы на уровне идей. Везде есть источники данных, датасеты, чарты, дашборды, фильтры и вычисляемые поля. Освоив один за пару недель, второй вы подхватите за пару дней. Не тратьте месяцы на «идеальный» BI — важнее навык думать про метрики: что показывать, кому и зачем. Разобраться, что вообще считать и как правильно определять показатели, помогает раздел про метрики — там разобраны DAU, retention, churn и десятки других с формулами.
Нужен ли аналитику ClickHouse и dbt?
На уровне junior — не обязательно, но знание сильно повышает ценность. На middle это уже почти стандарт. Разберу оба, потому что они часто идут в связке.
ClickHouse — колоночная СУБД для аналитики. Она пережёвывает миллиарды строк за секунды там, где Postgres встанет. Для аналитика главное отличие — это тоже SQL, но с нюансами: свои движки таблиц, специфичные функции, другая логика хранения. Синтаксис похож, но привычки из Postgres иногда мешают. Пример «клик-хаусного» стиля:
SELECT
toStartOfDay(event_time) AS day,
uniqExact(user_id) AS dau
FROM events
WHERE event_time >= now() - INTERVAL 30 DAY
GROUP BY day
ORDER BY day;
uniqExact и toStartOfDay — это уже специфика ClickHouse. Освоить её проще всего, когда крепко стоит обычный SQL.
dbt — это инструмент, который приводит хаос из сырых таблиц в порядок. Вы пишете трансформации на SQL, а dbt превращает их в граф зависимостей, гоняет по расписанию, версионирует и тестирует. Модель в dbt — это просто SELECT, обёрнутый в структуру:
-- models/marts/daily_revenue.sql
SELECT
order_date,
SUM(revenue) AS revenue,
COUNT(DISTINCT user_id) AS buyers
FROM {{ ref('stg_orders') }}
GROUP BY order_date
Главная мысль про dbt: если вы уверенно пишете SQL, порог входа в dbt низкий. Это не новый язык, а дисциплина вокруг SQL. Поэтому я и ставлю его после SQL, а не параллельно.
Что входит в A/B и статистический слой стека?
A/B-тесты — это то, что отличает продуктового аналитика от «человека, который делает выгрузки». В крупных компаниях есть внутренние A/B-платформы, которые сами считают значимость, но понимать матчасть всё равно придётся: именно это спрашивают на продуктовых собеседованиях.
Что входит в слой: дизайн эксперимента (гипотеза, метрики, размер выборки), проверка гипотез (t-тест, хи-квадрат, bootstrap), поправки на множественные сравнения, и интерпретация результата бизнесу. Технически это чаще всего Python со scipy:
from scipy import stats
# сравниваем конверсию в двух группах A/B-теста
# a, b — массивы 0/1 (сконвертился / нет)
t_stat, p_value = stats.ttest_ind(a, b)
print(f"p-value = {p_value:.4f}")
Не нужно быть статистиком уровня PhD. Нужно уверенно объяснять: что такое p-value и почему 0.049 и 0.051 — это не «победа и поражение», зачем считать размер выборки заранее, что такое ошибки первого и второго рода и почему нельзя подглядывать в тест каждый день и останавливать его, как только стало «значимо». Эти вопросы всплывают на собеседовании почти гарантированно.
Git и оркестрация: чем склеен стек?
Это тот самый «клей», который не в центре внимания, но без него на работе тяжело.
Git нужен всем и всегда. Даже аналитику — чтобы версионировать SQL, dbt-модели и скрипты, не бояться сломать чужую работу и адекватно жить в команде. Достаточно базы: clone, branch, commit, push, pull, merge и понимание, что делать при конфликте. Полдня практики закрывают 95% ежедневных потребностей.
Оркестрация (Airflow и аналоги) — про запуск пайплайнов по расписанию. Аналитику редко нужно писать сложные DAG с нуля, но читать чужие, понимать зависимости задач и чинить упавший таск — обычная работа на middle. Учить это стоит уже на реальном проекте, а не абстрактно: без контекста оно не укладывается.
Командная строка и Docker — по минимуму. Уметь зайти на сервер, посмотреть логи, поднять контейнер по готовой инструкции. Глубоко в DevOps лезть не нужно, это не ваша зона.
В каком порядке учить стек за 3-4 месяца?
Вот маршрут, который я советую и который экономит месяцы блужданий. Он про фокус: один инструмент доводим до рабочего уровня, только потом беремся за следующий.
- Недели 1-6: SQL. Базовые запросы,
JOIN, агрегации, подзапросы, CTE, оконные функции. Цель — решать задачи уровня собеседования без подсказок. Каждый день по задаче в тренажёре, теория — в курсе. - Недели 5-10: Python + pandas. Стартуйте с перекрытием, когда SQL уже уверенный. Фильтрация,
groupby,merge, работа с датами. Практика — Python-задачи. - Недели 7-12: BI и метрики. Параллельно собираете первые дашборды в DataLens или Superset и учитесь думать про метрики — что и зачем считать.
- После основы: ClickHouse, dbt, A/B, Git. Подключаете по мере надобности или под конкретную вакансию. Это надстройки, они ложатся быстро на готовый фундамент.
Параллельно с недели 3-4 берите комплексные тестовые задания и разбирайте кейсы — они собирают навыки вместе и показывают, как инструменты работают в связке, а не по отдельности. Именно так выглядит реальная работа: не «оконная функция ради оконной функции», а «посчитать retention когорты и объяснить продакту, почему он падает».
Что из стека реально спрашивают на собеседовании?
Если свести к практике: на собеседовании аналитика ядро — это SQL (почти всегда живое написание запроса), Python/pandas (задача на обработку данных), продуктовая часть с метриками и A/B, и разбор вашего опыта. ClickHouse и dbt спрашивают там, где они в стеке компании, и обычно на уровне «работали — расскажите». BI показывают на портфолио дашбордов.
Мой совет — не гнаться за длиной списка инструментов в резюме. Один глубоко освоенный SQL плюс уверенный pandas дадут больше офферов, чем поверхностное знакомство с десятью технологиями. Глубина бьёт ширину. Разобрать типовые вопросы и форматы удобно в разделе собеседования — там задачи с реальных интервью в российских компаниях.
Когда почувствуете, что база стоит, есть смысл открыть все задачи и кейсы разом и прогнать полную подготовку: полный доступ к тренажёрам, 400+ Python-задачам, всем кейсам, метрикам и безлимитному AI-собесу даёт Pro — это заметно ускоряет путь от «читаю про инструменты» до «прошёл собеседование». Но и на бесплатном уровне заданий хватит, чтобы честно понять, ваше это направление или нет. Начните с SQL сегодня — остальное встанет на место.