road/mapsВсе маршруты ↗

ОТКРЫТОЕ ОБУЧЕНИЕ / 03

Аналитик данных

От первого вопроса к обоснованному решению

32 этапов с отметкамиВ своём темпе

Аналитик данных: с нуля до самостоятельной работы и глубокого понимания

Старт: не нужно знать программирование, статистику или названия аналитических профессий.
Аудитория: взрослый начинающий; школьную арифметику при необходимости повторяем внутри маршрута.
Основной путь: шаги 1–24, затем углубление 25–32.
Темп: 8–10 часов в неделю; ориентир по времени уточняется после первых двух проектов.
Формат: понятное объяснение → конкретные материалы → практика → сохранённый результат → проверка.
Инструменты: таблицы, PostgreSQL, DataLens, Python; альтернативы указаны там, где понадобятся.
Материалы: бесплатное чтение и указанные учебные части; некоторым сервисам нужна регистрация. Платные сертификаты не требуются.
Язык: объяснения на русском. В статистике и углублении есть обязательные разделы открытых английских учебников; можно читать с переводчиком, сохраняя оригинальные термины.

Что считать результатом

После основного пути нужно уметь самостоятельно превратить вопрос заказчика в проверяемый анализ: определить данные, написать SQL, проверить качество, исследовать результат в Python, собрать понятный отчёт и защитить выводы. Будут проекты для портфолио и подготовка к собеседованию на начальные позиции. Само прохождение документа не гарантирует трудоустройство.

Углубление помогает работать со сложными исследованиями, прогнозами, экспериментами и аналитическими системами. Senior — не отметка за пройденные ссылки. Для такого уровня нужны ещё реальные задачи, обратная связь, ответственность за решения и опыт их последствий. Этот маршрут даёт учебную основу и способ накапливать доказательства самостоятельности, а не обещание «знать всё».

Не нужно сначала прочитать весь документ. Откройте шаг 1. Время каждого шага — редакционная оценка активной работы, включая упражнения; это не норматив скорости. Если критерий не выполнен, повторите практику, даже когда календарное время вышло.

Сумма оценок основного пути — 515–782 часа: при 8–10 часах в неделю это примерно 12–23 месяца без длительных перерывов. Учебное углубление добавляет 230–360 часов, не считая накопления реального опыта. Эти диапазоны не измерены на группе выпускников; используйте их для планирования и уточняйте по своему журналу.

Как заниматься

На неделю запланируйте четыре занятия: два по 90 минут на материал и задачи, одно на 2 часа на самостоятельное упражнение и одно на 3–5 часов на проект и разбор ошибок. Не смотрите несколько полных курсов параллельно. В каждом шаге основной источник идёт первым, альтернативный открывается только при затруднении.

Ведите learning-journal.md: вопрос, собственная попытка, ошибка, исправление, что сможете повторить завтра. После перерыва сначала повторите последнее упражнение без подсказок. Сроки можно растягивать; понимание важнее процента прохождения.

Если застряли:

  1. Уменьшите задачу до 5–10 строк и посчитайте ожидаемый результат вручную.
  2. Запишите, что получилось вместо ожидаемого; для кода сохраните текст ошибки.
  3. Вернитесь к указанному разделу материала и одному похожему примеру.
  4. Откройте альтернативное объяснение или задайте вопрос в обсуждении курса. Приложите маленький пример, свою попытку и ожидаемый ответ.
  5. Если используете AI, попросите объяснить ошибку и дать одну подсказку. Не передавайте закрытые данные. Любой предложенный код проверьте и повторите самостоятельно на другой задаче.

Учебные проекты сохраняйте в своей рабочей папке. Создавайте структуру постепенно, когда соответствующий инструмент появится:

analytics-learning/
  learning-journal.md
  project-01/
    README.md
    data-original/
    data-clean/
    sql/
    notebooks/
    reports/

Для каждого внешнего набора записывайте автора, ссылку, дату скачивания, условия использования и определения полей. Исходный файл не исправляйте вручную: преобразования должны быть видны. Если источник перестал открываться, используйте альтернативу внутри шага; отсутствие доступа не означает необходимость покупать курс.

Карта пути

Шаги Навык Проверяемый результат
1–4 Профессия, арифметика, таблицы, постановка задачи Первый аналитический отчёт
5–8 SQL и качество результата Самостоятельное SQL-исследование
9 Визуализация и BI Дашборд с согласованными метриками
10–14 Python, Git, pandas, EDA, получение данных Воспроизводимый анализ реального набора
15–20 Вероятности, статистика, метрики, эксперименты Анализ неопределённости и экспериментальный кейс
21–24 Регулярная отчётность, коммуникация, портфолио Незнакомая задача и готовность к первой работе
25–32 Регрессия, прогнозы, причинность, надёжные процессы Углублённые проекты и практика ответственности

ПРАКТИКА И ПРОВЕРКА

Шаг 1. Узнать, чем занимается аналитик данных

6–10 часов. До начала: достаточно уметь открыть страницу в браузере.

Зачем и что понять

Данные — записанные наблюдения: покупки, обращения, измерения, события приложения. Аналитик помогает принять решение, объясняя, что видно в данных, насколько этому можно доверять и чего пока не известно. SQL, Python и графики — способы сделать эту работу.

Названия должностей различаются между компаниями. Для начала пользуйтесь рабочей картой ролей:

Роль Типичный вопрос Результат работы
Аналитик данных Где и почему изменились показатели? Исследование, расчёт, рекомендации
Продуктовый аналитик Как люди пользуются продуктом и помогает ли изменение? Метрики, воронки, эксперименты
BI-аналитик Как регулярно видеть согласованные показатели? Модель данных, отчётность, дашборды
Бизнес-аналитик Какую проблему процесса решаем и какие требования нужны? Описание процесса и требований
Системный аналитик Как должна вести себя система и обмениваться данными? Спецификация, модели взаимодействий
Data scientist Можно ли построить и проверить модель прогноза? Модель и оценка её качества
Data engineer Как надёжно доставлять и хранить данные? Потоки загрузки и инфраструктура данных

Роли пересекаются: оценивайте реальные обязанности, а не только заголовок вакансии.

Материалы по порядку

  1. Microsoft Learn: начало работы с аналитикой — русский, открытое чтение. Пройдите модуль «Откройте для себя анализ данных»: роли и задачи. Установку Power BI пока пропустите.
  2. Введение в профессию от Практикума — русский, бесплатная вводная часть после регистрации; полная программа платная и не нужна. Выполните вводную задачу, если доступна.
  3. Если регистрация недоступна, выполните приведённую ниже задачу целиком: она заменяет пробный урок.

Практика

У кафе было 100 заказов со средним чеком 400 рублей, стало 80 со средним чеком 550. Посчитайте выручку в обоих периодах. Владелец спрашивает: «Всё стало лучше?» Запишите пять уточнений: сопоставимы ли периоды, изменились ли цены, расходы, время работы и состав клиентов.

Распределите задачи между ролями: определить причины падения повторных покупок; описать требования к возврату товара; наладить ежедневную загрузку заказов; сделать прогноз спроса; построить панель продаж. Для каждой объясните, с кем специалист будет сотрудничать.

Сохранить

profession.md: определения ролей своими словами, решение про кафе и перечень недостающих данных.

Допуск дальше

  • [ ] Получились 40 000 и 44 000 рублей; рост выручки — 10%.
  • [ ] Вы объясняете, почему рост выручки ещё не доказывает рост прибыли.
  • [ ] Можете описать работу аналитика без перечисления названий программ.

ПРАКТИКА И ПРОВЕРКА

Шаг 2. Освоить язык таблиц и восстановить арифметику

10–16 часов. До начала: шаг 1.

Зачем и что понять

Строка — одно наблюдение; столбец — его свойство; тип данных — число, текст, дата и т. п.; идентификатор — обозначение объекта, с которым обычно не делают арифметику. Детализация отвечает на вопрос «чему соответствует одна строка?». Заказ и товарная позиция заказа — разные детализации.

Доля = часть / целое. Рост = новое / старое − 1, если старое не равно нулю. Рост конверсии с 10% до 12% — это 2 процентных пункта и 20% относительно исходного значения. Среднее по группам нужно взвешивать численностью, когда требуется среднее по всем наблюдениям.

Материалы по порядку

  1. Начало работы с Google Таблицами — русский, открытая справка; для редактирования нужна учётная запись Google. Пройдите создание файла, ввод данных, форматирование чисел, сортировку и фильтр.
  2. Если Google недоступен: LibreOffice Calc — справка, русский; используйте локальный Calc. Все упражнения на строки, формулы и сводные таблицы сохраняются.
  3. Для арифметики достаточно разобрать формулы выше на калькуляторе. При пробелах повторяйте каждый пример до самостоятельного объяснения знаменателя.

Практика

Скопируйте этот авторский учебный набор в таблицу, начиная с A1. Это вымышленные заказы; amount — сумма целого заказа в одной условной валюте, cost — переменные затраты заказа. paid означает оплаченный заказ, cancelled — отменённый, его сумму и затраты исключаем из расчёта оплаченных заказов.

order_id,order_date,customer_id,channel,status,amount,cost
1,2026-01-01,101,organic,paid,100,60
2,2026-01-01,102,ads,paid,200,120
3,2026-01-02,101,organic,paid,150,90
4,2026-01-02,103,ads,cancelled,300,180
5,2026-01-03,104,email,paid,400,240
6,2026-01-03,102,ads,paid,50,30
7,2026-01-04,105,organic,paid,100,60
8,2026-01-04,106,email,paid,200,120

Импортируйте с разделителем «запятая». Если всё оказалось в одном столбце, используйте разделение текста по столбцам. Проверьте, что даты распознаны как даты, а суммы — как числа. Сохраните исходную вкладку raw и работайте на копии analysis.

Посчитайте вручную и затем формулами: число всех заказов, число оплаченных, выручку оплаченных, средний оплаченный заказ и разность выручки с указанными переменными затратами. Последнюю не называйте чистой прибылью: в наборе нет постоянных расходов и налогов.

Дополнительно: в группе A 1 покупка из 10 посещений, в B 90 из 100. Найдите общую конверсию. Объясните, почему среднее 10% и 90% не даёт правильного ответа.

Сохранить

Таблицу с двумя вкладками, orders.csv и словарь семи полей. CSV — текстовый формат таблицы; он не хранит формулы и оформление.

Допуск дальше

  • [ ] Всего 8 заказов, оплачено 7, их выручка 1 200, средний заказ около 171,43.
  • [ ] Переменные затраты оплаченных заказов — 720, разность — 480.
  • [ ] Общая конверсия дополнительной задачи — 91/110 ≈ 82,73%, а не 50%.
  • [ ] Можете объяснить, почему customer_id не следует усреднять.

ПРАКТИКА И ПРОВЕРКА

Шаг 3. Сделать первый отчёт в электронных таблицах

20–30 часов. До начала: таблица шага 2.

Зачем и что понять

Формула пересчитывает результат при изменении данных. Абсолютная ссылка фиксирует адрес ячейки при копировании. Сводная таблица группирует строки и считает итог. Поиск по ключу добавляет свойства объекта из справочника; повторяющийся ключ в справочнике требует проверки.

Материалы по порядку

  1. Справка Google Таблиц — разделы об анализе данных, сводных таблицах, диаграммах и очистке.
  2. Список функций с примерами — изучите SUM, AVERAGE, IF, SUMIFS, COUNTIFS, IFERROR, XLOOKUP или VLOOKUP, функции дат. Ищите по названию; не читайте весь справочник.
  3. Для Calc используйте раздел функций и сводных таблиц. Названия функций и разделители аргументов могут отличаться по языку и настройкам.

Практика

На orders.csv посчитайте выручку и число оплаченных заказов по дням и каналам. Постройте сводную таблицу и повторите один её результат через SUMIFS. Постройте столбчатую диаграмму выручки каналов и линию дневной выручки. Подпишите валюту и правило исключения отмен.

Добавьте отдельный справочник каналов: organic — поисковый трафик, ads — реклама, email — рассылка. Подтяните описание через поиск. Затем специально повторите одну строку справочника и объясните, почему это проблема качества данных.

На копии данных добавьте пробел к ads, текст вместо числа и повтор заказа 1. Найдите ошибки, исправьте воспроизводимым способом и сравните итог с исходным. Не удаляйте «неудобные» строки без объяснения.

Сохранить

project-01: исходные данные, файл с формулами, две диаграммы и записка на полстраницы: вопрос, ответ, ограничения, следующий шаг.

Допуск дальше

  • [ ] Выручка каналов: organic — 350, ads — 250, email — 600; сумма — 1 200.
  • [ ] Добавление нового оплаченного заказа корректно меняет формулы и обновлённую сводную таблицу.
  • [ ] Вы показываете минимум три исправленные ошибки и их влияние на итог.
  • [ ] Отчёт можно прочитать без устного объяснения устройства таблицы.

ПРАКТИКА И ПРОВЕРКА

Шаг 4. Перевести запрос заказчика в аналитическую задачу

16–24 часа. До начала: первый отчёт.

Зачем и что понять

Заказчик — человек, который примет решение. Метрика — показатель с определёнными числителем, знаменателем, периодом и правилами включения. Гипотеза — проверяемое предположение. Ограничение — причина, по которой вывод имеет более узкую область применения.

Запрос «сделай аналитику продаж» ещё не определяет работу. Нужно выяснить решение, срок, сравнение, доступные данные и допустимую ошибку. Диагностика отличается от доказательства причин: совпавшее изменение показателей может объясняться третьим фактором.

Материалы по порядку

  1. Повторите задачи аналитика в модуле Microsoft Learn.
  2. Google Data Analytics — описание этапов — английский, открытая страница: рассмотрите названия частей про вопрос, подготовку, очистку, анализ и сообщение результата. Записываться на платный сертификат не требуется.
  3. Основной практический материал — шаблон и кейс ниже.

Практика

Заполните бриф для задачи «почему упали продажи?»:

Какое решение нужно принять:
Кто его принимает и к какому сроку:
Как определяем продажи и период сравнения:
Какие сегменты проверяем:
Какие данные доступны и чего нет:
Какие альтернативные объяснения проверим:
Как проверим правильность расчёта:
Что передадим: таблица / записка / дашборд:
Что сознательно не входит в задачу:

Для маленького набора нельзя доказать эффективность рекламного канала: нет расходов на привлечение и числа посетителей. Сформулируйте доступный вопрос — например, «как распределена выручка оплаченных заказов по каналам?» — и отдельно запросите недостающие поля для оценки рекламы.

Составьте дерево проверки падения выручки: число заказов × средний чек; далее отмены, ассортимент, цены, наличие товара, сбой загрузки. Для каждой ветки укажите нужные данные и возможное действие.

Сохранить

brief.md, словарь трёх метрик, список гипотез в порядке проверки и критерий завершения задачи.

Допуск дальше

  • [ ] У каждой метрики есть период, единица наблюдения и правило включения отмен.
  • [ ] Вы различаете наблюдаемый факт, предположение о причине и предлагаемое действие.
  • [ ] Можете отказаться от недоказуемого вывода и предложить следующий сбор данных.

ПРАКТИКА И ПРОВЕРКА

Шаг 5. Начать SQL: получить нужные строки и агрегаты

24–36 часов. До начала: шаги 1–4.

Зачем и что понять

База данных хранит связанные таблицы. SQL — язык запросов к ним. SELECT выбирает результат, WHERE фильтрует строки, GROUP BY объединяет строки в группы, HAVING фильтрует группы. NULL обозначает отсутствие значения; это не ноль и не пустая строка.

Материалы по порядку

  1. Karpov Courses: бесплатный SQL-симулятор — русский, нужна регистрация, PostgreSQL в браузере. Пройдите «Знакомство с продуктом», «Базовые запросы», «Фильтрация данных», «Агрегация данных», «Группировка данных». Остановитесь перед подзапросами.
  2. Введение в PostgreSQL на русском — разделы о таблицах, запросах и агрегатных функциях; справка по непонятным конструкциям.
  3. Альтернатива тренажёру: Stepik — Интерактивный тренажер по SQL, русский, бесплатный с регистрацией. Начните с запросов к одной таблице. В примерах используется MySQL: функции дат и часть синтаксиса отличаются от PostgreSQL.

Практика

Решите не менее 25 задач перечисленных тем. Это ориентир объёма, а не замена критерия понимания. Для каждой ошибки объясните причину, а на следующий день повторите пять задач без просмотра решения.

Для собственных упражнений используйте PostgreSQL Exercises — английский, открытые задачи с объяснениями и проверкой в браузере. Раздел Basic: сначала вопросы, затем подсказки, только после попытки — решение. Этот вариант подходит и когда регистрация в русском симуляторе недоступна.

Составьте пять запросов к orders из шага 2: оплаченные заказы, сумма, среднее, итог по каналу, каналы с выручкой больше 300. Пока можно писать их в текстовом файле; запуск на собственной таблице будет в шаге 8. Не подменяйте запрос готовым числом.

Сохранить

sql-basics.sql, журнал ошибок и пять объяснений: что делает каждая часть запроса.

Допуск дальше

  • [ ] Пять новых задач на фильтр и агрегацию решены без копирования.
  • [ ] Вы объясняете разницу COUNT(*), COUNT(column) и COUNT(DISTINCT column).
  • [ ] Для отсутствующего значения используете IS NULL, понимаете влияние NULL на агрегаты.
  • [ ] Знаете, почему LIMIT без ORDER BY не задаёт осмысленный «топ».

ПРАКТИКА И ПРОВЕРКА

Шаг 6. Объединять таблицы и не умножать деньги

24–36 часов. До начала: базовый SQL.

Зачем и что понять

Ключ связывает записи. Кардинальность связи описывает, сколько строк одной таблицы соответствует строке другой. INNER JOIN оставляет совпадения, LEFT JOIN сохраняет левую таблицу. Если у заказа три товарные позиции, после присоединения позиций сумма целого заказа повторится три раза.

Материалы по порядку

  1. SQL-симулятор — «Подзапросы» и «Объединение таблиц», русский.
  2. PostgreSQL Exercises — разделы Joins and Subqueries, английский, с объяснениями. Минимум по пять новых задач каждого типа.
  3. Документация PostgreSQL — соединения; затем в разделе языка SQL найдите WITH и CASE.

Практика

Для orders придумайте справочник клиентов 101–106, где каждому соответствует один город. Добавьте клиента 107 без заказов. Нарисуйте связь и заранее ответьте, сколько строк ожидаете после разных объединений.

Составьте запросы: выручка по городу; клиенты без оплаченных заказов; клиенты с двумя и более оплаченными заказами; доля отмен. Освойте CASE, COALESCE, EXISTS, подзапрос и CTE (WITH) на этих же вопросах.

На бумаге сделайте таблицу из трёх товарных позиций заказа 1 и двух позиций заказа 2. Покажите, как ошибочное суммирование orders.amount после JOIN даёт 700 вместо 300. Исправьте расчёт через подходящую детализацию или предварительную агрегацию; SUM(DISTINCT amount) не является общим решением, потому что разные заказы могут иметь одинаковые суммы.

Сохранить

Схему таблиц, 10 запросов и памятку join-checks.md: уникальность ключей, число строк до/после, неприсоединённые строки, сверка суммы.

Допуск дальше

  • [ ] Вы предсказываете число строк JOIN до выполнения.
  • [ ] Умеете найти клиентов без заказов и понимаете, как фильтр в WHERE может убрать NULL-строки LEFT JOIN.
  • [ ] Итоги до и после добавления справочника совпадают либо разница объяснена.
  • [ ] Решаете ошибку детализации без маскировки через случайный DISTINCT.

ПРАКТИКА И ПРОВЕРКА

Шаг 7. Освоить оконные функции и время

20–30 часов. До начала: JOIN, группировки, CTE.

Зачем и что понять

Оконная функция считает по связанным строкам, сохраняя строки результата. PARTITION BY задаёт группу, ORDER BY — порядок, рамка окна — участвующие строки. Календарный период и «последние 30 суток» могут давать разные результаты. Граница месяца и часовой пояс являются частью определения метрики.

Материалы по порядку

  1. SQL-симулятор — упражнения на оконные функции; продуктовые показатели пока считайте только после чтения их определения.
  2. PostgreSQL: оконные функции, английский; русский вариант найдите через введение.
  3. PostgreSQL Exercises — Window Functions и Date, английский.

Практика

Рассчитайте для оплаченных заказов: номер покупки клиента, предыдущую дату покупки, разницу дат, накопленную выручку, долю заказа в общей выручке. Сравните ROW_NUMBER, RANK, DENSE_RANK на одинаковых суммах. Для воспроизводимого порядка заказов с одной датой добавляйте order_id.

Сначала агрегируйте выручку по дню, затем примените LAG и накопительную сумму. Добавьте отсутствующий день с нулём и объясните разницу между окном «три строки» и «три календарных дня». Используйте полуоткрытый интервал дат: начало включено, начало следующего периода исключено.

Сохранить

windows.sql, маленькие примеры с ничьими и пустым днём, описание календаря и временной зоны.

Допуск дальше

  • [ ] Накопительная выручка по дням набора: 300, 450, 900, 1 200.
  • [ ] Вы объясняете, почему оконная функция не заменяет все группировки.
  • [ ] Дубликат даты и отсутствие дня не приводят к незаметной смене смысла расчёта.
  • [ ] Решены пять новых задач на окна и даты без готового запроса.

ПРАКТИКА И ПРОВЕРКА

Шаг 8. Выполнить самостоятельный SQL-проект

16–24 часа. До начала: шаги 5–7.

Зачем и что понять

Клиент БД отправляет запрос серверу; это разные программы. DDL описывает таблицы, DML изменяет данные. Для учебного проекта нужна собственная локальная база, в которой можно ошибаться и повторять загрузку.

Материалы по порядку

  1. PostgreSQL — установка — выберите свою ОС; установка бесплатная. Вводное руководство объясняет создание базы и доступ.
  2. pgAdmin — Query Tool, английский: окно выполнения SQL. Можно использовать psql из введения, если предпочитаете терминал.
  3. Для дополнительных данных и задач: PostgreSQL Exercises — раздел Getting Started содержит подготовку учебной базы. Это запасной полностью описанный проект, если собственные вопросы пока слишком сложны.

Практика

Создайте учебную базу analytics_learning. В её окне запросов выполните заготовку ниже один раз. При повторении используйте новую пустую базу или осознанно очистите только учебную таблицу. Пароль своей установки в отчёт не включайте.

CREATE TABLE orders (
    order_id integer PRIMARY KEY,
    order_date date NOT NULL,
    customer_id integer,
    channel text,
    status text,
    amount numeric(12,2),
    cost numeric(12,2)
);
INSERT INTO orders VALUES
    (1,'2026-01-01',101,'organic','paid',100,60),
    (2,'2026-01-01',102,'ads','paid',200,120),
    (3,'2026-01-02',101,'organic','paid',150,90),
    (4,'2026-01-02',103,'ads','cancelled',300,180),
    (5,'2026-01-03',104,'email','paid',400,240),
    (6,'2026-01-03',102,'ads','paid',50,30),
    (7,'2026-01-04',105,'organic','paid',100,60),
    (8,'2026-01-04',106,'email','paid',200,120);

Запустите запросы шагов 5–7 и сверьте с таблицами. Добавьте свой справочник клиентов. Затем составьте бриф и выполните 10 собственных запросов на учебной базе PostgreSQL Exercises: загрузка клубов/бронирований описана у автора, есть связанные таблицы и эталонные задачи.

В итоговой записке должны быть три содержательных вывода, две проверки качества и одно ограничение. Измените условие одного вопроса после завершения и пересчитайте результат. Если локальная установка не получилась, временно выполняйте задачи в браузере PGExercises; к шагу 21 локальный запуск всё равно нужно освоить.

Сохранить

project-02: setup.sql, analysis.sql, checks.sql, результаты в CSV, схема данных и README.md с инструкцией повторения.

Допуск дальше

  • [ ] Контрольные итоги маленького набора совпали с шагами 2, 3 и 7.
  • [ ] В независимом наборе есть запросы на JOIN, CTE, даты и окна.
  • [ ] Вы можете изменить условие и объяснить изменение результата.
  • [ ] Читатель понимает, откуда данные и какое решение поддерживает анализ.

ПРАКТИКА И ПРОВЕРКА

Шаг 9. Построить понятный BI-дашборд

24–36 часов. До начала: проверенные итоги SQL-проекта.

Зачем и что понять

BI — инструменты и процессы регулярной бизнес-отчётности. Дашборд — панель связанных показателей. Измерение задаёт разрез, например канал; мера — рассчитываемую величину. Среднее из средних и сумма уже агрегированных показателей могут давать неверные итоги.

Материалы по порядку

  1. Курс Yandex Cloud по DataLens — русский, бесплатный доступ к курсу с регистрацией. Пройдите подключение файлов, датасеты, стандартные чарты, вычисляемые поля, селекторы и дашборды. AI, JavaScript и платные облачные подключения пропустите.
  2. Если курс недоступен: официальные практические руководства — «Простой дашборд из CSV-файла»; затем подключение файла.
  3. Karpov Courses — визуализация, русский, бесплатный курс с регистрацией: используйте разделы о выборе графиков и композиции. Практику Tableau повторять не обязательно.
  4. Для объяснения выбора графика: Claus Wilke — каталог визуализаций, английский, открытое чтение.

По условиям DataLens индивидуальное использование бесплатно на дату проверки. Создавайте учебное пространство для одного пользователя, без аренды облачной БД. Не превращайте учебный доступ в публичную публикацию чужих данных.

Практика

Загрузите orders.csv и создайте панель: выручка оплаченных заказов, их количество, средний заказ, динамика по дням, сравнение каналов. Добавьте фильтры периода и канала, словарь метрик, дату обновления и оговорку о вымышленных данных. Проверьте выбор только отменённого заказа: выручка — 0, средний оплаченный заказ не определён.

Сначала сделайте панель на восьми строках, затем повторите на выгрузке независимого SQL-проекта. Для каждого графика запишите вопрос, на который он отвечает. Попросите человека найти три конкретных ответа без вашей подсказки и исправьте непонятные места.

Замена для Windows: Power BI Desktop бесплатен для локальной работы. По Microsoft Learn начните создание отчётов, затем PL-300 используйте как указатель тем Power Query, модели и DAX. Повторите тот же проект в .pbix; платная публикация в сервис не требуется. Выберите один BI-инструмент, а не оба сразу.

Сохранить

project-03: выгрузку, определения мер, доступный учебный дашборд либо локальный файл, снимки экрана и результаты пользовательской проверки.

Допуск дальше

  • [ ] Итоги всех карточек и графиков сходятся с SQL, включая фильтры и пустую выборку.
  • [ ] У графиков есть единицы, период и осмысленные заголовки.
  • [ ] Читатель самостоятельно ответил на три вопроса.
  • [ ] Вы объясняете, почему красивый отчёт ещё не гарантирует правильную модель данных.

ПРАКТИКА И ПРОВЕРКА

Шаг 10. Освоить Python до работы с pandas

30–45 часов. До начала: логика условий и группировок из SQL.

Зачем и что понять

Python позволяет описывать повторяемую обработку. Нужны переменные, числа и строки, условия, циклы, списки, словари, функции, чтение файлов и обработка ошибок. Классы, веб-серверы и сложные алгоритмы пока не нужны.

Материалы по порядку

  1. Яндекс Хендбук «Основы Python», русский, открытая теория; для автопроверки нужен вход. Пройдите главы 1–3, затем 4.1–4.2 о функциях и 5.3 об исключениях. В главе 3 сосредоточьтесь на коллекциях и файлах; дополнительные проекты серверов пропустите.
  2. Альтернативное объяснение: Code Basics Python, русский; основные типы, условия, циклы и функции. Это замена объяснения трудной темы, не второй полный обязательный курс.
  3. Установите Python по инструкции главы 1. Если пока не можете установить, выполняйте учебные задачи в браузере, а настройку рабочего окружения завершите в шаге 11.

Практика

Решите минимум 30 небольших задач по выбранным темам. Напишите функцию, которая принимает список сумм и возвращает сумму, количество и среднее; для пустого списка заранее определите поведение. Затем прочитайте orders.csv модулем csv, отфильтруйте paid и получите известные итоги без pandas.

Проверьте пять случаев: пустой список, один заказ, отмена, отрицательная сумма, нечисловое значение. Не превращайте ошибочный текст в ноль молча. Отдельно покажите разницу между изменением списка и созданием нового.

Сохранить

python-basics.py, пять примеров проверки и объяснение трёх встреченных ошибок.

Допуск дальше

  • [ ] Без готового решения пишете функцию, цикл и словарь группировок.
  • [ ] Можете прочитать сообщение об ошибке и найти строку своего кода.
  • [ ] Выручка маленького набора снова равна 1 200.
  • [ ] На следующий день решаете похожую задачу с другими данными.

ПРАКТИКА И ПРОВЕРКА

Шаг 11. Настроить воспроизводимую работу: окружение, Jupyter и Git

20–30 часов. До начала: базовый Python.

Зачем и что понять

Окружение отделяет библиотеки проекта. Ноутбук соединяет код, вывод и объяснение; состояние запущенных ячеек может скрывать ошибку. Git хранит историю текстовых изменений. Воспроизводимость означает, что расчёт можно повторить из исходных данных по инструкции.

Материалы по порядку

  1. Python: виртуальные окружения, английский — создание venv, установка пакетов, pip freeze.
  2. Jupyter: установка, английский — JupyterLab.
  3. Pro Git на русском — разделы 1.5–1.6, 2.1–2.5: установка, настройка, репозиторий, запись изменений, история, удалённый репозиторий. Сложное ветвление пока не нужно.

Практика

В отдельной папке учебного проекта создайте окружение. На Windows используйте py -m venv .venv, на macOS/Linux — python3 -m venv .venv. Активируйте его по инструкции Python для своей оболочки; в активном окружении выполните:

python -m pip install jupyterlab pandas matplotlib seaborn openpyxl
python -m jupyterlab

В JupyterLab создайте Python-ноутбук рядом с orders.csv. Добавьте текстовый блок с вопросом и ячейку print(2 + 2), сохраните файл. Перезапустите ядро и выполните все ячейки сверху вниз. Проверьте, что файл не зависит от случайно созданной переменной.

Инициализируйте Git, сделайте три осмысленных коммита: исходный расчёт, исправление, пояснение. Добавьте в .gitignore окружение, локальные данные и временные файлы. Не сохраняйте пароли, токены и рабочие выгрузки. Сохраните версии командой python -m pip freeze > requirements.txt, а версию Python — в README. Фиксация пакетов помогает повторению, но другой ОС или версии Python могут потребоваться отдельные инструкции.

Если ModuleNotFoundError возникает в ноутбуке при установленном пакете, проверьте, что Jupyter запущен из нужного окружения; выведите import sys; print(sys.executable). Если FileNotFoundError, проверьте папку ноутбука и имя файла, а не вставляйте личный абсолютный путь.

Сохранить

Репозиторий учебного проекта с .gitignore, requirements.txt, ноутбуком и README. Публиковать его можно позже после проверки содержимого.

Допуск дальше

  • [ ] «Restart Kernel and Run All» проходит без ручного запуска отдельных ячеек.
  • [ ] Можете найти изменение в Git и объяснить, зачем оно было сделано.
  • [ ] В новой папке воспроизводите проект по README.
  • [ ] Понимаете разницу файла ноутбука, его ядра и установленного Python.

ПРАКТИКА И ПРОВЕРКА

Шаг 12. Обрабатывать данные с pandas

20–30 часов. До начала: Python и рабочий ноутбук.

Зачем и что понять

DataFrame — таблица в памяти Python. Нужны чтение CSV/Excel, типы, фильтрация, пропуски, дубликаты, группировки, объединения и преобразование дат. Pandas не отменяет правила детализации и ключей, изученные в SQL.

Материалы по порядку

  1. Яндекс Хендбук: модуль pandas, русский — чтение, выборка, группировки и объединения; выполните задачи параграфа.
  2. Официальные вводные уроки pandas, английский — reading/writing, selecting subsets, summary statistics, combining tables, time series.
  3. Если нужно другое объяснение: Wes McKinney, открытая книга, английский — главы 5, 7, 8, 10, только изучаемые операции. Книга ориентируется на более ранний pandas; при расхождении используйте текущую документацию.

Практика

Начните с работающего примера:

import pandas as pd

orders = pd.read_csv("orders.csv", parse_dates=["order_date"])
paid = orders.loc[orders["status"].eq("paid")].copy()
assert orders["order_id"].is_unique
assert paid["amount"].sum() == 1200
summary = paid.groupby("channel", as_index=False).agg(
    revenue=("amount", "sum"), orders=("order_id", "count")
)
summary["average_order"] = summary["revenue"] / summary["orders"]
summary.to_csv("channel-summary.csv", index=False)

Объясните каждую строку. Самостоятельно добавьте число уникальных покупателей и дневную динамику. Соедините справочник клиентов через merge с validate="many_to_one"; специально повторите ключ и посмотрите, как проверка ловит ошибку. Сравните SQL и pandas на одинаковых правилах включения строк.

На копии внесите пропуск суммы и неверную дату. Используйте явную проверку преобразования типов и отдельную таблицу проблемных строк. Сравните NaN, пустую строку и ноль; не заменяйте всё одним значением автоматически.

Сохранить

Ноутбук pandas-basics.ipynb, выгрузку результатов и перечень проверок качества.

Допуск дальше

  • [ ] Результаты pandas и SQL совпадают.
  • [ ] Ошибочная связь не проходит незаметно.
  • [ ] Вы объясняете, какие пропуски исключили, какие сохранили и почему.
  • [ ] Можете повторить группировку и объединение без копирования образца.

ПРАКТИКА И ПРОВЕРКА

Шаг 13. Провести исследование на реальных данных

30–45 часов. До начала: pandas и воспроизводимый ноутбук.

Зачем и что понять

EDA — исследовательский анализ: понять структуру, распределения, аномалии и ограничения до сложных выводов. Выброс — необычное значение, которое может быть ошибкой, редким событием или важной частью бизнеса. Автоматически удалить все выбросы — не универсальная очистка.

Материалы по порядку

  1. UCI Online Retail — открытые данные Daqing Chen, английское описание. Скачайте архив через Download, распакуйте Online Retail.xlsx, прочитайте определения полей. Данные исторические; не используйте их как описание сегодняшнего рынка.
  2. Seaborn tutorial, английский — distributions, categorical data, relational plots; Matplotlib — Pyplot tutorial для подписей и сохранения.
  3. Русское объяснение обработки — параграф pandas. В качестве дополнительного разбора EDA — главы 4–6 IMS2, английский.

Практика

Откройте XLSX через pd.read_excel("Online Retail.xlsx"); пакет openpyxl уже установлен. Сначала исследуйте полный набор, затем для быстрой отладки можно работать на небольшой копии. Запишите смысл строки: товарная позиция документа, а не обязательно целый заказ. Посчитайте строки, документы и клиентов отдельно.

Проверьте пропуски идентификаторов, отрицательные количества, нулевые цены, отмены, повторяющиеся строки и границы периода. На странице источника есть пометка об отсутствии пропусков: не доверяйте ей вместо проверки файла. Наличие пропуска и политика его обработки — отдельные вопросы.

Сделайте два явно названных расчёта: положительные продажи и подписанный оборот с корректировками. Для учебной метрики используйте Quantity * UnitPrice, но не называйте её прибылью. Возврат может относиться к другой дате и не связываться однозначно с исходной покупкой.

Ответьте: как меняются продажи по полным месяцам; насколько они сосредоточены у крупнейших клиентов; какие страны и товары дают существенный вклад; насколько вывод меняется при учёте корректировок. Постройте распределение суммы документа, динамику и сравнение сегментов. Не сравнивайте неполный последний месяц с полным без оговорки.

Сохранить

project-04: паспорт источника, ноутбук очистки/EDA, журнал исключений, 4–6 графиков и записку с тремя выводами и ограничениями.

Допуск дальше

  • [ ] У каждой очистки есть правило, число затронутых строк и влияние на сумму.
  • [ ] Документы не посчитаны как товарные позиции.
  • [ ] Исследование повторяется с исходного файла без ручной правки ячеек.
  • [ ] Вы не делаете выводов о прибыли, рекламной окупаемости и причинности из отсутствующих данных.

ПРАКТИКА И ПРОВЕРКА

Шаг 14. Получать данные и проверять их происхождение

20–30 часов. До начала: файлы, ошибки, pandas.

Зачем и что понять

API — описанный способ запросить данные у сервиса. HTTP-статус сообщает результат запроса, JSON хранит структурированные значения, пагинация делит ответ на страницы. Успешный запрос не доказывает полноту данных. Нужно знать дату обновления, единицы, пропуски и определения показателя.

Материалы по порядку

  1. Яндекс Хендбук: requests, русский — GET, параметры, JSON и обработка ответа. OAuth и запись в облачные сервисы пока пропустите.
  2. Requests Quickstart, английский — параметры, timeouts, errors.
  3. World Bank Indicators API, английский — Basic Call Structures и Indicator API Queries; для публичных показателей не нужен секретный ключ.

Практика

В активном окружении установите библиотеку командой python -m pip install requests и обновите requirements.txt. Получите население для одной страны с 2015 по 2024 год: код индикатора SP.POP.TOTL. Пример для Кипра:

import requests

response = requests.get(
    "https://api.worldbank.org/v2/country/CYP/indicator/SP.POP.TOTL",
    params={"format": "json", "date": "2015:2024", "per_page": 100},
    timeout=30,
)
response.raise_for_status()
metadata, observations = response.json()
print(metadata["pages"], len(observations))

Сохраните исходный JSON, преобразуйте год и значение в таблицу, отсортируйте годы, проверьте уникальность и пропуски. Не угадывайте значения отсутствующих лет. Добавьте вторую страну и сравните абсолютную величину с темпом изменения; не делайте выводов об уровне жизни только по населению.

Сымитируйте неработающий адрес, пустой ответ и несколько страниц. Опишите, как остановить загрузку при ошибке, чтобы не выдать частичный результат за полный. На этом этапе достаточно ручного повторного запуска после исправления, а не сложного планировщика.

Сохранить

fetch_data.py или ноутбук, исходный ответ, таблицу, паспорт показателя и журнал загрузки с датой.

Допуск дальше

  • [ ] Вы проверяете статус, структуру, число страниц и полноту периода.
  • [ ] Повторный запуск не создаёт дубликаты наблюдений.
  • [ ] По готовой таблице можно восстановить источник, запрос и определение показателя.
  • [ ] Если API недоступен, используете сохранённый ответ и явно указываете дату снимка.

ПРАКТИКА И ПРОВЕРКА

Шаг 15. Понять выборку, распределение и вероятность

20–30 часов. До начала: арифметика, EDA и Python.

Зачем и что понять

Генеральная совокупность — объекты, о которых хотите сделать вывод; выборка — наблюдаемые объекты. Смещение отбора возникает, если способ попадания в данные систематически меняет состав наблюдений. Большой объём не исправляет такое смещение автоматически.

Распределение описывает возможные значения и их частоты/вероятности. Разберите среднее, медиану, квантили, дисперсию, стандартное отклонение, условную вероятность и независимость. Среднее чувствительно к крупным значениям; медиана отвечает на другой вопрос, а не всегда «лучше».

Материалы по порядку

  1. Stepik: Основы статистики, русский, бесплатный курс — вводная часть, описательные показатели и распределения. Автор предупреждает о неточностях старых формулировок: это введение, а не единственный источник.
  2. Seeing Theory, английский, открытая архивная визуализация — Basic Probability, Compound Probability и Probability Distributions. Изменяйте параметры и сначала предсказывайте результат.
  3. IMS2, английский — главы 1–2 и 4–5, упражнения и приложение Exercise solutions. Это обязательная сверка понятий выборки и дизайна наблюдений; доступ без регистрации.

Практика

Для чисел 10, 10, 10, 10, 60 посчитайте среднее и медиану. Добавьте 1 000, сравните изменения. На Online Retail сравните средний и медианный положительный заказ; отдельно исследуйте распределение числа заказов на клиента.

Сымитируйте 100, 1 000 и 10 000 бросков монеты через генератор случайных чисел NumPy. Сравните доли орлов, но не требуйте, чтобы каждое следующее приближение было лучше предыдущего.

Разберите два источника: отзывы только довольных клиентов и случайный опрос всех клиентов. Объясните, как способ сбора влияет на вывод. Решите 15 упражнений по вероятности и описательной статистике, сверяя ответы после собственной попытки.

Сохранить

probability.ipynb, словарь терминов и три примера смещения данных из знакомой предметной области.

Допуск дальше

  • [ ] Для пяти исходных чисел среднее — 20, медиана — 10.
  • [ ] Различаете вероятность события и долю события в конкретной выборке.
  • [ ] Объясняете, почему корреляция и большой размер выборки не доказывают причинность.
  • [ ] Можете назвать единицу наблюдения в каждом своём проекте.

ПРАКТИКА И ПРОВЕРКА

Шаг 16. Оценивать неопределённость: интервалы и bootstrap

25–40 часов. До начала: шаг 15.

Зачем и что понять

Оценка по выборке меняется от выборки к выборке. Стандартная ошибка описывает разброс оценки, а не разброс индивидуальных значений. Доверительный интервал строится процедурой с определённым покрытием при выполнении предпосылок. Частотный 95%-интервал не означает, что в уже посчитанном интервале фиксированный параметр лежит с вероятностью 95%.

Bootstrap повторно выбирает наблюдения с возвращением для приближения неопределённости статистики. Он не исправляет неверный сбор данных. При нескольких заказах на пользователя нельзя бездумно считать все заказы независимыми: единица повторной выборки должна учитывать зависимость.

Материалы по порядку

  1. Основы статистики — части про выборочное распределение, стандартную ошибку и интервалы, русский.
  2. IMS2 — глава 12 «Confidence intervals with bootstrapping», глава 13 о математических моделях; английский, обязательно разберите упражнения с ответами.
  3. SciPy bootstrap — английский, примеры API. Установите в окружении python -m pip install scipy statsmodels и обновите список зависимостей.

Практика

Создайте искусственную совокупность с известным средним. Возьмите из неё много независимых выборок по 100 наблюдений, постройте интервалы, посчитайте долю покрывших истинное среднее. Объясните, почему в конечной симуляции она не обязана быть ровно 95%.

Проверьте выборки размера 25, 100 и 400. Постройте распределение оценок, отличая его от распределения исходных значений. Для Online Retail сначала агрегируйте положительные продажи до клиента; выполните bootstrap клиентов и опишите, для какой совокупности интервал можно интерпретировать. Исторические клиенты магазина не становятся случайной выборкой всех покупателей мира.

Если реализация пока сложна, начните с явного цикла: rng.choice(values, size=len(values), replace=True), среднее каждой выборки, квантили 2,5% и 97,5%. Это учебный percentile-интервал; сравните его с методом, выбранным в SciPy, и назовите различие, не требуя одинаковых чисел.

Сохранить

Ноутбук с фиксированным seed генератора, экспериментом покрытия и объяснением ограничения выбранной процедуры.

Допуск дальше

  • [ ] Объясняете стандартное отклонение и стандартную ошибку на разных графиках.
  • [ ] Можете описать 95%-покрытие без фразы «95% всех данных внутри».
  • [ ] Указываете единицу повторной выборки и сохраняете зависимость наблюдений.
  • [ ] Симуляция повторяется; вы не выдаёте интервал за гарантию правильного источника данных.

ПРАКТИКА И ПРОВЕРКА

Шаг 17. Проверять гипотезы без магии p-value

25–40 часов. До начала: интервалы и выборочные распределения.

Зачем и что понять

Нулевая гипотеза задаёт модель сравнения. p-value — вероятность получить столь же или более экстремальную статистику при этой модели и её предпосылках. Это не вероятность истинности гипотезы. Ошибка I рода — ложное отклонение верной нулевой гипотезы; мощность — вероятность обнаружить заданный эффект при выбранной процедуре.

Статистическая значимость не равна полезности для бизнеса. Необнаруженный эффект не доказывает равенство. Для множества проверок нужно учитывать рост риска ложных находок, а не выбирать удачный результат из десятков метрик. Эти ограничения согласуются с заявлением ASA.

Материалы по порядку

  1. IMS2 — главы 11, 14, 17, 20–21: рандомизация, ошибки решений, две доли, независимые и парные средние; английский.
  2. Русское повторение: Основы статистики — сравнение групп. Корректность интерпретации сверяйте по IMS2 и ASA, а не по одному пересказу.
  3. SciPy ttest_ind — независимые средние, equal_var=False задаёт тест Уэлча. statsmodels — статистические методы — доли и множественные проверки. Английская документация служит для выбранного метода, не для заучивания всех функций.

Практика

Сначала на бумаге определите гипотезу, единицу наблюдения, тип метрики и зависимость групп. Затем разберите: конверсию двух независимых групп; средние затраты независимых клиентов; измерение одного клиента до и после изменения. Объясните, почему это не одна и та же процедура.

Сымитируйте 1 000 сравнений при отсутствии эффекта и посчитайте частоту отклонения при уровне 0,05. Повторите с заданным эффектом. Для одной выборки выведите величину эффекта и интервал рядом с p-value. Для 20 метрик продемонстрируйте множественные проверки и поправку Holm через statsmodels.

Не выбирайте тест только по результату проверки нормальности. Назовите предпосылки, зависимость наблюдений, чувствительность к выбросам и интересующий параметр. Критерий Манна—Уитни не является универсальным «тестом разности медиан».

Сохранить

hypotheses.ipynb, таблицу выбора методов и пять корректных формулировок вывода для разных результатов.

Допуск дальше

  • [ ] До запуска теста записаны гипотеза и основной показатель.
  • [ ] Различаете независимые и парные наблюдения, среднее и долю.
  • [ ] Рядом с p-value есть оценка эффекта, интервал и ограничения.
  • [ ] Можете объяснить, почему «p > 0,05, значит эффекта нет» — недостаточный вывод.

ПРАКТИКА И ПРОВЕРКА

Шаг 18. Считать продуктовые метрики, когорты и экономику

20–30 часов. До начала: SQL, pandas, основы статистики.

Зачем и что понять

Воронка описывает переходы между заданными событиями в определённом порядке и окне времени. Когорта объединяет пользователей по общему старту или признаку. Retention измеряет возвращение по выбранному правилу; возвращение ровно на день N отличается от возвращения в день N или позже.

Определения важнее аббревиатур. Для DAU нужно назвать событие активности и временную зону, для ARPU — выручку и состав пользователей, для CAC — затраты на привлечение и новых привлечённых клиентов. LTV требует горизонта и определения ценности; историческая выручка за месяц не равна автоматически прогнозу всей жизни клиента.

Материалы по порядку

  1. SQL-симулятор — русские разделы «Продуктовые метрики», «Построение дашбордов», практические задачи.
  2. Amplitude: виды retention, английский, открытая глава; прочитайте определения Return On и Return On or After.
  3. Демоаккаунт Google Analytics, русская инструкция: по желанию изучите отчёты на готовых данных. Учётная запись Google нужна; доступ демо имеет ограничения. Экспорт через API не требуется.

Практика

Для Online Retail определите когорту по первой наблюдаемой положительной покупке, а не регистрации: даты регистрации в наборе нет. Постройте помесячную матрицу повторных покупок, исключив ещё не наблюдённые периоды из знаменателя. Отдельно оговорите клиентов, которые могли покупать до начала истории.

Для воронки создайте вымышленные события:

user_id,event_time,event
1,2026-01-01 10:00:00,visit
1,2026-01-01 10:05:00,cart
1,2026-01-01 10:10:00,purchase
2,2026-01-01 11:00:00,visit
2,2026-01-01 11:05:00,cart
3,2026-01-01 12:00:00,visit
4,2026-01-01 13:00:00,purchase
4,2026-01-01 13:05:00,visit

Считайте пользователей, у которых события идут visit → cart → purchase в пределах суток от первого визита. Получатся 4 → 2 → 1, итоговая конверсия 25%. Покупка пользователя 4 до визита не завершает эту воронку. Добавьте повтор события и убедитесь, что число пользователей не выросло.

Учебная экономика: реклама стоила 1 000, дала 20 новых клиентов; каждый за фиксированные 30 дней принёс 120 выручки, переменные затраты — 70 на клиента. Посчитайте CAC = 50 и вклад после указанных переменных затрат и привлечения = 0 на клиента. Не называйте его чистой прибылью и не экстраполируйте на всю жизнь клиента.

Сохранить

Словарь восьми метрик, SQL и pandas для когорты/воронки, расчёт экономики с горизонтом и недостающими данными.

Допуск дальше

  • [ ] У воронки определены порядок, окно и единица подсчёта.
  • [ ] Ненаблюдённый будущий период когорты не превращён в нулевой retention.
  • [ ] Вы различаете пользователей, сессии, события и покупателей.
  • [ ] Для каждого экономического показателя можете назвать источник числителя и знаменателя.

ПРАКТИКА И ПРОВЕРКА

Шаг 19. Спроектировать A/B-тест до получения результата

25–40 часов. До начала: шаги 15–18.

Зачем и что понять

Рандомизация назначает вариант случайно. MDE — эффект, для обнаружения которого планируется мощность; это не обещание получить такой рост. Guardrail — защитная метрика, например ошибки оплаты. Единицы рандомизации и анализа должны согласовываться.

Материалы по порядку

  1. IMS2 — повторите Study design, Decision Errors и сравнение долей.
  2. Evan Miller: калькулятор размера выборки, английский, открытый инструмент. Разберите baseline, absolute/relative MDE, power и significance level.
  3. Microsoft Research: диагностика SRM, английский: несоответствие ожидаемого распределения групп и причины потери данных.
  4. Для русского углубления после базы: AvitoTech, A/B-тесты, часть 1 — введение в мощность и симуляционные проверки. CUPED отложите до шага 27.

Практика

Спроектируйте тест новой формы оплаты. Исходная конверсия пользователя за 7 дней — 10%; бизнес интересует увеличение на 1 процентный пункт. Задайте двусторонний тест, уровень значимости 0,05, мощность 0,8, распределение 50/50. Рассчитайте число пользователей на вариант и длительность при 1 000 подходящих новых пользователей в день всего; учтите окно созревания результата.

Зафиксируйте критерии включения, единицу рандомизации, основную метрику, guardrails, единый вариант пользователя при повторном заходе, правила обработки пропусков и остановки. Отдельно проверьте вариант MDE 0,5 процентного пункта: нужный объём должен увеличиться.

Не подглядывайте ежедневно в обычный p-value ради остановки «при успехе». Досрочное статистическое решение требует заранее выбранного последовательного метода. При аварийном росте ошибок остановка по безопасности — отдельное правило, а не доказательство полезности.

Сохранить

experiment-plan.md, расчёт выборки и список проверок перед запуском. Это проектирование учебного теста; воздействовать на реальных пользователей не требуется.

Допуск дальше

  • [ ] В плане есть эффект в процентных пунктах, мощность и размер каждой группы.
  • [ ] Размер выборки не перепутан с количеством событий.
  • [ ] Основная метрика и правила остановки зафиксированы до анализа.
  • [ ] Вы знаете, почему SRM и потери логов требуют расследования.

ПРАКТИКА И ПРОВЕРКА

Шаг 20. Проанализировать эксперимент и принять обоснованное решение

25–40 часов. До начала: утверждённый вами план шага 19.

Зачем и что понять

Анализ начинается с проверки данных. Убедительное число не спасает сломанную рандомизацию. Решение учитывает эффект, неопределённость, стоимость изменения и защитные показатели. Учебная симуляция показывает свойства метода, но не доказывает пользу настоящего продукта.

Материалы по порядку

  1. statsmodels: тест двух долей и интервал разности долей, английский — параметры и примеры.
  2. Microsoft: SRM — повторите диагностическую последовательность.
  3. Если интерпретация затрудняет: IMS2, глава 17. Русскую формулировку вывода напишите по шаблону ниже.

Практика

Создайте данные симуляции. Одна строка — один независимый пользователь, исход наблюдается в одинаковом полном окне. Здесь размер группы 20 000 выбран для упражнения, а не заменяет расчёт шага 19.

import numpy as np
import pandas as pd

rng = np.random.default_rng(42)
n = 20000
experiment = pd.DataFrame({
    "user_id": np.arange(2 * n),
    "group": np.repeat(["A", "B"], n),
    "converted": np.concatenate([
        rng.binomial(1, 0.10, n),
        rng.binomial(1, 0.11, n),
    ]),
})
experiment.to_csv("experiment.csv", index=False)

Проверьте уникальность пользователей, отсутствие пересечения групп, размеры и значения 0/1. Рассчитайте конверсии, разницу B−A в процентных пунктах и относительное изменение. Для теста передайте число успехов и размеры групп в proportions_ztest, а интервал B−A получите через confint_proportions_2indep с compare="diff", method="newcomb", передавая сначала B, затем A.

Проведите ещё две симуляции: одинаковые вероятности в группах и потеря части строк только из B. Первую не обязано всегда сопровождать p > 0,05; вторую нельзя лечить простым удалением строк A до равного размера. Смоделируйте 1 000 A/A-запусков и оцените частоту ложных обнаружений.

Запишите вывод: «Наблюдаемый эффект …, интервал …, условия …, риски …, решение …, что проверим после внедрения …». Для симуляции отметьте, какие свойства реального эксперимента здесь отсутствуют: задержки, зависимость пользователей, технические сбои и настоящая стоимость изменения.

Сохранить

project-05: план, генератор, данные симуляции, проверки, анализ и одностраничное решение. В названии проекта явно укажите «симуляция».

Допуск дальше

  • [ ] Направление интервала совпадает с направлением эффекта B−A.
  • [ ] A/A и испорченные данные разобраны отдельно от успешного сценария.
  • [ ] Решение не сводится к одной границе p-value.
  • [ ] Вы можете защитить выбор метода и назвать, что надо проверить в реальном эксперименте.

ПРАКТИКА И ПРОВЕРКА

Шаг 21. Сделать отчётность повторяемой и согласованной

20–30 часов. До начала: SQL, Python, BI; завершите локальную настройку шага 8.

Зачем и что понять

Витрина — подготовленные данные для определённой задачи. Таблица фактов хранит события или измерения, справочник — свойства объектов. ETL/ELT обозначают организацию извлечения, загрузки и преобразования. Идемпотентность означает, что повтор обработки одной партии не создаёт новый результат из-за повторного учёта.

Материалы по порядку

  1. Microsoft: схема «звезда», русский — факты, измерения, детализация и связи. Идеи нужны независимо от выбранного BI.
  2. DataLens: модель данных, русский — связи; либо темы модели и мер в PL-300, если выбрали Power BI.
  3. pytest — первое знакомство, английский — одна функция, проверка через assert, запуск тестов. Для SQL используйте проверки из шага 8.

Практика

Разделите Online Retail на исходный слой, очищенные позиции, документы и дневную витрину. Опишите ключи и состав каждого слоя. Сохраняйте возвращённые/проблемные строки отдельно с причиной, а не теряйте их.

Вынесите обработку из ноутбука в функцию: входной файл → проверка → расчёт → новый CSV. В первой версии пересоздавайте итог целиком. Запустите два раза и убедитесь, что результат совпадает. После этого разбейте вход на два периода и соберите итог из обеих частей, проверив границу дат.

Добавьте проверки уникальности, обязательных полей, допустимых статусов, неприсоединённых ключей и сверки сумм. Не вводите правило «сумма всегда положительная» для слоя возвратов. Сымитируйте повреждённый файл: обработка должна сообщить о проблеме и сохранить предыдущий корректный отчёт, а не молча заменить его пустым.

Обновите BI из новой выгрузки. Для DataLens замените файл в существующем подключении по инструкции. Опишите ручное обновление честно; полноценная автоматизация идёт в углублении.

Сохранить

build_report.py, проверки, схема слоёв, словарь мер, инструкция обновления и восстановления последнего корректного результата.

Допуск дальше

  • [ ] Один и тот же вход дважды даёт один результат.
  • [ ] Итоги SQL, pandas и BI совпадают на одинаковых определениях.
  • [ ] Плохой вход обнаруживается до замены корректного отчёта.
  • [ ] Другой человек может обновить данные по инструкции.

ПРАКТИКА И ПРОВЕРКА

Шаг 22. Объяснить выводы и пройти внешнюю проверку

20–30 часов. До начала: минимум один самостоятельный проект.

Зачем и что понять

Анализ заканчивается понятным решением, а не сохранением ноутбука. Рекомендация должна связывать факт с действием и условием проверки. Рецензия ищет слабые места; несогласие рецензента полезно, если оно приводит к уточнению или исправлению.

Материалы по порядку

  1. Claus Wilke: Fundamentals of Data Visualization, английский — разделы о подписях, избыточной сложности и storytelling; используйте оглавление, не проходите всю книгу.
  2. Русское повторение — курс визуализации Karpov Courses, части про оформление и объяснение данных.
  3. Основной материал для защиты — собственные данные и шаблон ниже.

Практика

Подготовьте для проекта Online Retail записку на одну страницу и выступление на пять минут:

Решение, которое рассматриваем:
Главный наблюдаемый результат:
Два числа или графика в подтверждение:
Как проверяли данные и расчёт:
Альтернативные объяснения и ограничения:
Предлагаемое действие и цена ошибки:
Как проверим результат действия:

Покажите работу двум типам читателя: человеку без аналитической подготовки и человеку, который может проверить расчёт. Это может быть знакомый, участник учебного сообщества или коллега; платный наставник не обязателен. Задайте конкретные вопросы: что предлагается, что не доказано, где можно ошибиться в расчёте?

Если рецензента пока нет, запишите выступление, отложите его на два дня и проверьте по шаблону; это временная самопроверка. Перед финальной оценкой постарайтесь получить хотя бы один внешний разбор. AI-критика не заменяет подтверждение, что реальный читатель понял решение.

Сохранить

Записку, 5–7 слайдов либо страниц, список замечаний и таблицу «замечание → проверка → изменение».

Допуск дальше

  • [ ] Главная рекомендация понятна за минуту.
  • [ ] На вопрос «откуда это число?» есть воспроизводимый расчёт.
  • [ ] По критике сделано минимум одно содержательное исправление.
  • [ ] Вы спокойно называете вывод, который ваши данные не позволяют сделать.

ПРАКТИКА И ПРОВЕРКА

Шаг 23. Выполнить итоговую задачу на незнакомых данных

35–50 часов. До начала: шаги 1–22.

Зачем и что понять

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

Материалы по порядку

  1. NYC TLC Trip Record Data, английский, открытые файлы. Возьмите Green Taxi за январь и февраль 2024 года, Taxi Zone Lookup Table и Green Trips Data Dictionary. Это конкретный стартовый набор; не скачивайте весь архив.
  2. DuckDB — Python и Parquet, английский. Parquet — столбцовый файловый формат, DuckDB выполняет локальный SQL по файлам. Установите python -m pip install duckdb pyarrow.
  3. При затруднениях с новым диалектом используйте pandas для чтения Parquet и выгрузку CSV в знакомый PostgreSQL. Отмечайте различия функций; освоение DuckDB не заменяет SQL-базу.

Практика

Учебный заказчик — руководитель планирования поездок. Вопрос: «Как распределяются наблюдаемые поездки по времени и районам, и что следует проверить перед изменением графика?» Это анализ исторических поездок, а не достаточная модель сегодняшнего спроса или прибыли водителя.

Сформулируйте бриф до чтения готовых разборов. Прочитайте словарь, проверьте даты, длительности, расстояния, платежи, пропуски и присоединение районов. Изучите, какие значения trip_type и других полей относятся к нужной совокупности. Не объявляйте отсутствие записанных поездок отсутствием спроса.

Выполните минимум 10 SQL-запросов, EDA в Python и компактный BI-отчёт. Сравните январь с февралём с учётом числа дней и дней недели. Дайте две рекомендации для дальнейшей проверки, а не безусловное распоряжение менять работу.

После первого отчёта получите новое требование: «Нас интересуют только поездки по рабочим дням с 07:00 до 10:00; сравнение нужно по среднему числу поездок на подходящий день». Пересчитайте, проверьте знаменатель и объясните, как изменился вывод. В этом учебном определении рабочие дни — понедельник–пятница; праздники отдельно не исключаются.

Если TLC временно недоступен, используйте данные Palmer Penguins: сравните измерения по видам и островам, прочитав происхождение и ограничения выборки. Это замена для полного аналитического цикла, но не для практики экономических метрик; её выполните по шагу 18.

Сохранить

project-06: README, паспорт данных, загрузку, SQL, проверки, ноутбук, отчёт, презентацию, внешние замечания и доработанную версию. Данные необязательно хранить в Git: дайте точные ссылки и инструкцию получения.

Допуск дальше

  • [ ] Проект воспроизведён с нуля по README.
  • [ ] Проверены ключи, периоды, знаменатели и чувствительность к очистке.
  • [ ] Новое требование обработано без ручной замены итоговых чисел.
  • [ ] Внешний читатель понял решение, а технический разбор выявил и помог исправить слабое место.

ПРАКТИКА И ПРОВЕРКА

Шаг 24. Проверить готовность к первой работе

20–30 часов. До начала: самостоятельный итоговый проект.

Зачем и что понять

Готовность к работе проявляется в новой задаче, объяснении решений и способности заметить ошибку. Работодатели могут требовать разные инструменты; вакансия — источник конкретных требований, а не повод немедленно изучать все технологии мира.

Материалы по порядку

  1. PostgreSQL Exercises — незнакомые задачи для проверки SQL.
  2. IMS2 — ещё не решённые упражнения на интервалы, гипотезы и дизайн.
  3. Для проверки BI-покрытия: Microsoft PL-300. Это перечень тем, экзамен покупать не нужно.
  4. Соберите 15 актуальных вакансий нужного региона и уровня на страницах работодателей или выбранной площадке. Сохраните даты и отделите обязательные требования от желательных. Зарплатные обещания в roadmap не фиксируются.

Практика

Проведите пробную проверку: за 90 минут решите четыре новых SQL-задачи на агрегацию, JOIN, окно и дату; затем за 90 минут исследуйте новый небольшой CSV и напишите вывод. Отдельно за 30 минут объясните план эксперимента и две возможные ошибки. Это диагностический формат, а не универсальный стандарт интервью.

Выберите три лучшие работы: SQL/BI, исследование реальных данных и эксперимент. В описании каждой укажите вопрос, собственный вклад, проверки, результат и ограничения. Учебную симуляцию не выдавайте за опыт работы компании. Для проектов на публичных данных указывайте источник и лицензию/условия.

Составьте резюме без списка неиспользованных инструментов. Проведите пробное собеседование с человеком, способным задавать уточнения. Если такого человека пока нет, запишите ответы и составьте план поиска рецензента; не объявляйте внешнюю проверку выполненной.

Сохранить

Три оформленных проекта, резюме, таблицу вакансий, запись пробной проверки и план закрытия пробелов.

Допуск к откликам и дальнейшему росту

  • [ ] Самостоятельно формулируете вопрос и критерий завершения.
  • [ ] Получаете данные SQL, проверяете детализацию и итоги.
  • [ ] Очищаете и исследуете данные в Python с повторяемым запуском.
  • [ ] Создаёте понятный отчёт в выбранном BI.
  • [ ] Объясняете неопределённость и ограничения статистического вывода.
  • [ ] Можете защитить проект и изменить его по новому требованию.
  • [ ] Знаете конкретные пробелы относительно выбранных вакансий.

Если провален расчёт, качество или воспроизводимость, вернитесь к соответствующему шагу. Если не хватает только инструмента конкретного работодателя, составьте короткий план его освоения и продолжайте искать подходящие начальные позиции. Углубление ниже можно совмещать с работой, а не откладывать все отклики до последней страницы.


Углубление: от выполнения задач к ответственности за результат

Следующие шаги идут последовательно, но каждое упражнение желательно связывать с реальной предметной областью. Они не присваивают грейд. Продвижение подтверждается проектами, внешними разборами и последствиями решений. Здесь английское чтение занимает больше места; закладывайте дополнительное время на словарь и проверку понимания.

ПРАКТИКА И ПРОВЕРКА

Шаг 25. Освоить математическую базу и регрессию

35–50 часов. До начала: Python, статистика и самостоятельное исследование.

Зачем и что понять

Регрессия описывает связь результата с признаками. Коэффициент зависит от модели, состава признаков и данных; без обоснованного дизайна это не причинный эффект. Нужны функции, производная как скорость изменения, векторы, матрицы, линейная комбинация и смысл минимизации ошибки.

Материалы по порядку

  1. Karpov Courses: математика для анализа данных, русский, бесплатный с регистрацией — элементарные функции, производные/оптимизация одной переменной, первые темы векторов и матриц. Этот курс не заменяет статистику; сложные разложения пока пропустите.
  2. An Introduction to Statistical Learning, английский, легально доступное Python-издание — главы 2–3, линейная регрессия и лабораторная. Скачивать файл в репозиторий roadmap не нужно.
  3. IMS2 — главы 7–9 и 24–26 по интерпретации регрессии; используйте как другое объяснение.

Практика

Разберите вручную линейную модель y = a + b*x на пяти точках: предсказание, остаток и сумма квадратов ошибок. Для данных Palmer Penguins из авторского проекта исследуйте связь массы с длиной ласта, затем добавьте вид и пол. Сначала изучите измерения и пропуски.

Сравните коэффициенты без учёта и с учётом вида, покажите групповые различия. Проверьте остатки, влияние крупных наблюдений и возможную зависимость признаков. Для логистической регрессии повторите лабораторную ISLP с бинарной целью, предварительно прочитав соответствующую часть главы 4; объясните вероятность, odds и порог решения.

Сохранить

Ноутбук, разбор предпосылок и записку «какой вывод модель позволяет, какой — нет».

Допуск дальше

  • [ ] Можете объяснить коэффициент и остаток без слова «магия».
  • [ ] Знаете, почему добавление признака меняет интерпретацию остальных.
  • [ ] Не выдаёте ассоциацию за причинный эффект.
  • [ ] Проверили качество и ограничения модели, а не только значимость коэффициентов.

ПРАКТИКА И ПРОВЕРКА

Шаг 26. Различать прогноз и хорошее объяснение прошлого

30–45 часов. До начала: шаг 25.

Зачем и что понять

Baseline — простое решение для сравнения. Train/validation/test разделяют обучение, выбор подхода и финальную оценку. Утечка использует информацию, недоступную в момент предсказания. Сложная модель бесполезна, если её оценка основана на утечке или неверной метрике ошибки.

Материалы по порядку

  1. ISLP — главы 4–5: классификация и resampling; затем одна лабораторная по деревьям, если базовая модель уже понятна.
  2. scikit-learn: common pitfalls, английский — data leakage и Pipeline. Сначала разделение, потом обучение преобразований только на train.
  3. Forecasting: Principles and Practice, the Pythonic Way, английский — разделы визуального исследования рядов, простых методов, оценки прогноза и временной кросс-валидации. Следуйте разделу установки самой книги для её лабораторных.

Практика

В лабораторной ISLP сравните простую и более сложную модель, выберите метрику до оценки. Для классификации покажите, почему accuracy может скрывать пропуск редкого класса; объясните precision, recall и стоимость ошибок.

На дневных положительных продажах Online Retail постройте прогноз на неделю: наивный, сезонный наивный и один метод из FPP. Разделяйте данные по времени; сравните несколько последовательных окон. Для среднего чека как цели объясните иной смысл задачи. Сначала используйте MAE, затем разберите, когда MAPE проблематична при нулевых значениях.

Нарочно добавьте признак из будущего и покажите улучшение оценки; удалите утечку. Отдельно объясните, почему более года исторических продаж одного магазина мало для уверенного изучения годовой сезонности и переноса прогноза на другое время.

Сохранить

Проект сравнения моделей, временные разбиения, baseline, ошибки по сегментам и ограничения применения.

Допуск дальше

  • [ ] Test не использовался для выбора модели и преобразований.
  • [ ] Есть простой baseline и оценка на отложенных данных.
  • [ ] Временной прогноз не проверяется случайным перемешиванием будущего и прошлого.
  • [ ] Можете предпочесть простое решение, если сложное не даёт устойчивой пользы.

ПРАКТИКА И ПРОВЕРКА

Шаг 27. Углубить эксперименты и причинное мышление

35–55 часов. До начала: эксперименты, регрессия и проверка моделей.

Зачем и что понять

Причинный эффект сравнивает возможные результаты при разных воздействиях; для одного объекта обычно наблюдается только один из них. Конфаундер влияет на воздействие и результат. DAG помогает явно записать предположения о связях. Дополнительная регрессия сама по себе не делает наблюдательные данные экспериментом.

Материалы по порядку

  1. Matheus Facure: Causal Inference for the Brave and True, английский, открытая книга с Python. Пройдите Introduction, Randomised Experiments, Graphical Causal Models, затем Difference-in-Differences. Начинайте с предпосылок и симуляций, а не с готовой библиотеки.
  2. AvitoTech: часть 1 и часть 2, русский — CUPED и стратификация. Это методы углубления после базового дизайна.
  3. Microsoft Research: исследование SRM, английский — таксономия проблем качества экспериментов.

Практика

Сымитируйте ситуацию, где более активные пользователи чаще получают предложение. Сравните простую разность средних, корректировку по исходной активности и настоящий случайный эксперимент. Нарисуйте DAG и объясните, что невозможно проверить только по итоговому набору.

Повторите пример Difference-in-Differences из книги. Измените генерацию данных так, чтобы нарушить параллельные тренды, и покажите ошибку вывода. Проведите placebo-проверку; хороший результат такой проверки не доказывает предпосылку автоматически.

Для A/B-симуляции добавьте метрику до воздействия и сравните неопределённость с CUPED и без него. Не используйте в корректировке показатели, изменившиеся под действием теста. Разберите, когда взаимодействие пользователей требует кластерной рандомизации и почему число событий не равно числу независимых единиц.

Сохранить

Два разобранных кейса, графы предположений и памятку выбора: рандомизированный тест, наблюдательный дизайн или отказ от причинного вывода.

Допуск дальше

  • [ ] Для причинного вывода сформулированы предпосылки и возможные нарушения.
  • [ ] Показан пример, где метод даёт неверный вывод при нарушении предпосылок.
  • [ ] Вы отличаете повышение точности от исправления смещения.
  • [ ] Сложность метода не используется как аргумент его достоверности.

ПРАКТИКА И ПРОВЕРКА

Шаг 28. Работать с большими файлами и понимать стоимость SQL

25–40 часов. До начала: самостоятельный SQL и Python; для отдельных упражнений достаточно шага 23.

Зачем и что понять

План запроса показывает операции выполнения. Индекс может ускорять подходящий поиск, но не обязан помогать любому запросу. Столбцовое хранение позволяет читать нужные поля; фильтрация при чтении уменьшает объём обработки. Сначала измеряйте проблему на доступной машине, потом выбирайте технологию.

Материалы по порядку

  1. PostgreSQL: EXPLAIN, английский — scan, join, estimates/actual; русский раздел ищите в документации, «Оптимизация производительности».
  2. DuckDB: чтение Parquet, английский — запросы к одному файлу и нескольким файлам, выбор столбцов и фильтров.
  3. NYC TLC — добавьте ещё несколько месяцев Green Taxi, если хватает места. Для понимания метода не требуется покупать облачный кластер.

Практика

Сравните чтение всех столбцов в pandas, чтение выбранных столбцов и SQL-агрегацию в DuckDB до загрузки результата в память. Запишите объём данных, время и условия измерения. Повторите несколько раз и отдельно отметьте влияние кэша.

В PostgreSQL изучите EXPLAIN для фильтра и JOIN. На учебной таблице достаточного размера сравните запрос до и после подходящего индекса, сохранив план и результат. Маленькую таблицу сервер может разумно читать целиком. EXPLAIN ANALYZE действительно выполняет запрос: в этой практике используйте только SELECT по учебным данным.

Опишите, в какой момент вам понадобятся ClickHouse, Spark или облачное хранилище: требования к объёму, задержке, совместному доступу и эксплуатации. Не заменяйте измерение проблемы списком популярных названий.

Сохранить

Замеры, планы, одинаковые контрольные результаты и записку с выбором самого простого подходящего решения.

Допуск дальше

  • [ ] Оптимизация не изменила смысл результата.
  • [ ] Вы видите различие оценочного и фактического количества строк.
  • [ ] Объясняете эффект уменьшения столбцов и предварительной агрегации.
  • [ ] Выбор инструмента связан с измеренной задачей и стоимостью сопровождения.

ПРАКТИКА И ПРОВЕРКА

Шаг 29. Построить проверяемую аналитическую витрину

30–45 часов. До начала: шаги 21 и 28.

Зачем и что понять

DAG преобразований задаёт зависимости расчётов. Контракт данных фиксирует ожидаемые поля, типы и смысл. Freshness показывает свежесть поставки, но свежий файл всё равно может быть неполным. Backfill пересчитывает прошлый период после исправления или поздних данных.

Материалы по порядку

  1. dbt: локальное начало работы, английский — настройка проекта, модели, зависимости и запуск. Для локальной базы выберите открытый dbt Core и адаптер PostgreSQL по инструкции PostgreSQL. Не нужен платный облачный аккаунт.
  2. dbt: data tests — unique, not_null, relationships, accepted_values и собственные SQL-проверки.
  3. Если настройка dbt пока мешает понять процесс, сначала реализуйте те же слои SQL-скриптами и проверками Python из шага 21, затем перенесите их в dbt. Это промежуточный вариант, а не причина изучать ещё три оркестратора.

Практика

В отдельном окружении установите инструменты по выбранной инструкции, зафиксируйте версии. Начните с маленьких авторских заказов и клиентов, затем перенесите слои проекта Online Retail: исходные строки, очищенные позиции, документы, дневные метрики.

Добавьте описание каждого слоя и тесты. Смоделируйте четыре сбоя: пропавший столбец, повтор ключа, поздний возврат и несогласованный справочник. Для каждой ошибки задайте действие: остановить публикацию, поместить строки в карантин, пересчитать период или запросить уточнение владельца данных.

Освойте порядок запуска и единый вход в обработку; расписание можно сначала воспроизвести вручную. Затем настройте локальный планировщик своей ОС по его справке. Не включайте рассылку результатов реальным адресатам в учебное упражнение. Сохраните журнал запуска, число строк и диапазон дат.

Пересчитайте один прошлый день и сравните с полной пересборкой. Опишите, как изменение определения выручки затронет существующий дашборд и его пользователей.

Сохранить

Проект витрины, тесты, документацию зависимостей, примеры сбоев и runbook.md: запуск, проверка, восстановление, владелец показателя.

Допуск дальше

  • [ ] Нарушение контракта обнаруживается до публикации некорректной витрины.
  • [ ] Повтор партии и backfill не удваивают показатели.
  • [ ] Для каждого слоя известны детализация и зависимость от источников.
  • [ ] Коллега может восстановить последний корректный результат по инструкции.

ПРАКТИКА И ПРОВЕРКА

Шаг 30. Углубиться в одну предметную область

30–50 часов. До начала: основной путь и базовая практика надёжного анализа.

Зачем и что понять

Сильный аналитик понимает, как устроена деятельность, которую измеряет: кто принимает решения, что считается ценностью, где возникают расходы и как записываются события. Одни и те же SQL-навыки не заменяют понимания предметной области.

Материалы по порядку

Выберите одно направление. Для маршрута по умолчанию продолжайте торговлю на знакомых данных.

Направление Материалы Итоговая задача
Торговля и операции — основной вариант UCI Online Retail, FPP Python — прогнозирование и оценка, английский Сегменты покупателей, повторные покупки, возвраты, прогноз; перечень данных о затратах и остатках для следующего решения
Продуктовая аналитика Amplitude: critical event и интервал использования, product analysis toolkit, английский Словарь событий, дерево метрик, когортный анализ, предложение эксперимента
Веб- и маркетинговая аналитика Google Analytics: демо, справка Analytics, русский — источники трафика, события и атрибуция Разбор каналов и воронки, ограничения атрибуции, запрос затрат и проверка окупаемости на данных с затратами
BI и аналитическая инженерия Microsoft PL-300, dbt data tests, английский Согласованные меры, модель, обновление, доступы и передача отчётности

Практика

Составьте словарь 20 терминов области и дерево из 8–12 связанных метрик. У каждой метрики укажите управленческое решение и возможный способ «улучшить число, ухудшив дело». Например, средний чек может вырасти при потере покупателей с небольшими заказами.

Выполните проект на 2–3 недели в выбранной области: бриф, данные, расчёт, альтернативные объяснения, рекомендация, план наблюдения. Для торговли добавьте к анализу список полей, которых нет: себестоимость, остатки, поставки, расходы на привлечение. Не заполняйте их выдуманными «реальными» значениями.

Попросите человека из области разобрать определения и пользу отчёта. Если специалист недоступен, найдите открытый опубликованный кейс самой компании и сравните вопросы/ограничения; пометьте это как разбор кейса, а не разговор с заказчиком.

Сохранить

Предметный проект, дерево метрик, словарь, полученные замечания и план сбора недостающих данных.

Допуск дальше

  • [ ] Вы объясняете, как организация создаёт ценность и что в этом измеряете.
  • [ ] Метрики связаны с решениями и рисками нежелательного поведения.
  • [ ] У проекта есть предметная обратная связь или явно отмеченный разбор внешнего кейса.
  • [ ] Вы различаете найденный сегмент и доказанную полезность воздействия на него.

ПРАКТИКА И ПРОВЕРКА

Шаг 31. Использовать AI с независимой проверкой результата

15–25 часов. До начала: самостоятельное владение SQL и Python.

Зачем и что понять

AI может предложить правдоподобный, но неверный запрос, формулу или вывод. Для аналитика важно уметь проверить ответ независимо: на маленьких данных, инвариантах, документации и альтернативном расчёте. Ответ модели не является источником фактов о бизнесе.

Материалы по порядку

  1. PostgreSQL — SQL Tutorial и pandas tutorials — проверяйте фактическую семантику предложенного кода.
  2. scikit-learn: утечка данных — повторите ошибку, которую легко спрятать за автоматически написанным кодом.
  3. Основной материал — собственные ошибочные примеры из шагов 6, 16, 18 и 26. Подписка на конкретный AI-сервис не обязательна: при отсутствии доступа анализируйте ошибки вручную.

Практика

Если AI доступен, дайте только синтетическую схему и попросите запрос выручки после соединения заказов с позициями. До запуска напишите ручной эталон для пяти строк. Проверьте детализацию, отмены, NULL, одинаковые суммы разных заказов и временные границы.

Аналогично проверьте ответ про retention и заключение «p > 0,05, значит варианты одинаковы». Попросите объяснить предпосылки и укажите обнаруженные ошибки. Если модель сразу ответила правильно, самостоятельно внесите одну типичную ошибку и убедитесь, что ваши проверки её ловят.

Напишите два режима использования: обучение — подсказка без готового решения; работа — черновик кода с проверками, review и ответственностью автора. Запишите, какие данные нельзя отправлять во внешний инструмент без разрешения их владельца. Обезличивание идентификатора само по себе не гарантирует отсутствие чувствительной информации.

Сохранить

ai-review.md: задача, предложенный ответ либо намеренно испорченный код, независимая проверка, найденная ошибка и исправление.

Допуск дальше

  • [ ] Можете объяснить каждую строку принятого кода.
  • [ ] Правильность проверяется выполнением и эталоном, а не уверенностью ответа.
  • [ ] Проверки ловят минимум три разные категории ошибок.
  • [ ] Ту же задачу решаете без AI, когда он недоступен.

ПРАКТИКА И ПРОВЕРКА

Шаг 32. Вести аналитическую задачу целиком и спланировать рост

30–50 часов на учебную репетицию; опыт реальной ответственности календарём курса не ограничен. До начала: основной путь, предметный проект и углубление.

Зачем и что понять

Профессиональный рост — это увеличение самостоятельности, масштаба и ответственности. Нужно уметь выбрать полезную задачу, согласовать определения, найти ограничение данных, организовать проверку, помочь коллегам и увидеть последствия решения. Нельзя подтвердить это только количеством ноутбуков.

Материалы по порядку

  1. Собственные проекты, брифы, журнал ошибок, runbook и обратная связь — основной материал.
  2. Для проверки полноты технической работы повторите PL-300, dbt tests и Microsoft Research: доверие к экспериментам. Это ориентиры отдельных навыков, не единый стандарт senior.
  3. Выберите реального рецензента или учебного партнёра. Без него можно выполнить репетицию, но не заявить, что получен опыт командной работы.

Практика

Проведите проект с неоднозначной постановкой: «Нам нужно увеличить повторные покупки, но ресурса хватит только на одно изменение». Согласуйте определение повторной покупки и целевой сегмент, составьте варианты исследования и оцените, какое даст наиболее полезную информацию при доступном времени.

В репетиции участники играют заказчика и аналитика. После первого расчёта заказчик меняет определение метрики, затем появляется поздняя поставка данных. Зафиксируйте решения, пересчитайте, объясните затронутые отчёты и передайте проект другому человеку. Проведите разбор ошибки без поиска виноватого: что произошло, почему проверка пропустила и как предотвратить повтор.

Для настоящей работы повторите этот цикл на разрешённой задаче с реальным заказчиком. Согласуйте действие и дату возврата к результату. Если изменение не внедрено, пишите «рекомендация подготовлена», а не «увеличил показатель». Если эффект оценён наблюдательно, укажите ограничения причинной интерпретации.

Сохранить

growth-evidence.md: постановка, обсуждённые варианты, техническое решение, review, передача, обратная связь и статус внедрения. Отдельно пометьте учебную и реальную работу.

Допуск к следующему циклу развития

  • [ ] Есть пример самостоятельно уточнённой неоднозначной задачи.
  • [ ] Есть обнаруженная существенная ошибка и улучшение процесса проверки.
  • [ ] Есть передача работы, которую смог продолжить другой человек.
  • [ ] Есть предметная обратная связь и честно описанный статус решения.
  • [ ] Выбрано одно следующее углубление на 6–8 недель с конкретным результатом.

Не ставьте галочку «стал senior». Обсудите с руководителем или опытным рецензентом, какой масштаб задач уже выполняете самостоятельно, где нужна помощь и каких свидетельств не хватает. Повторяйте цикл на более сложных задачах, сохраняя качество объяснения и проверки.


Проверка материалов и границы маршрута

Источники и публичные условия доступа проверены 14 сентября 2026 года. Проверка страницы не равна полному прохождению курса, доступу из всех стран или гарантии неизменности тарифа. Регистрационные кабинеты и платные части не использовались как доказательство доступности всего курса.

У Google возможна переадресация на региональную страницу, у Yandex Cloud — переход через страницу входа. Если ссылка показывает не нужный материал, используйте его точное название и альтернативу в текущем шаге. Такие переходы не считались подтверждением чтения полного курса.

Тип источника Как использовать
Программы школ и сертификатов Для понимания состава профессии; покупать их для прохождения этой карты не нужно
Открытые тренажёры Выполнить обозначенные темы; учётная запись может быть обязательной
Официальная документация Проверять актуальный синтаксис, установку и ограничения
Открытые учебники Читать заданные главы и решать упражнения; открытый доступ не означает разрешение перепубликовывать книгу
Реальные открытые данные Сохранять источник, определения, дату снимка и условия использования
Синтетические данные этой карты Для ручных эталонов и симуляций; не выдавать за наблюдения компании

Проверка не заменяет поддержку преподавателя. Карта уменьшает неопределённость через точные шаги, альтернативы, эталоны и критерии. Сложные темы всё равно потребуют повторения и вопросов; внешняя проверка самостоятельных проектов остаётся важной частью обучения.

При изменении интерфейса найдите названную операцию в актуальной официальной справке. При закрытии курса используйте альтернативу внутри шага, сохранив практику и критерии. Если альтернативы тоже недоступны, зафиксируйте конкретный пробел и запросите обновление карты; не отмечайте шаг пройденным только за просмотр описания.

Программа сопоставлена с Яндекс Практикумом, Нетологией, Karpov Courses, Google Data Analytics/Advanced/BI, Microsoft PL-300, Berkeley Data 8/Data 100 и MIT The Analytics Edge. Подробности и ограничения сравнения — в исследовательской записке; для прохождения она не нужна. Все учебные материалы находятся внутри соответствующих шагов.