Аналитик данных: с нуля до самостоятельной работы и глубокого понимания
Старт: не нужно знать программирование, статистику или названия аналитических профессий.
Аудитория: взрослый начинающий; школьную арифметику при необходимости повторяем внутри маршрута.
Основной путь: шаги 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: вопрос, собственная попытка, ошибка, исправление, что сможете повторить завтра. После перерыва сначала повторите последнее упражнение без подсказок. Сроки можно растягивать; понимание важнее процента прохождения.
Если застряли:
- Уменьшите задачу до 5–10 строк и посчитайте ожидаемый результат вручную.
- Запишите, что получилось вместо ожидаемого; для кода сохраните текст ошибки.
- Вернитесь к указанному разделу материала и одному похожему примеру.
- Откройте альтернативное объяснение или задайте вопрос в обсуждении курса. Приложите маленький пример, свою попытку и ожидаемый ответ.
- Если используете 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 | Как надёжно доставлять и хранить данные? | Потоки загрузки и инфраструктура данных |
Роли пересекаются: оценивайте реальные обязанности, а не только заголовок вакансии.
Материалы по порядку
- Microsoft Learn: начало работы с аналитикой — русский, открытое чтение. Пройдите модуль «Откройте для себя анализ данных»: роли и задачи. Установку Power BI пока пропустите.
- Введение в профессию от Практикума — русский, бесплатная вводная часть после регистрации; полная программа платная и не нужна. Выполните вводную задачу, если доступна.
- Если регистрация недоступна, выполните приведённую ниже задачу целиком: она заменяет пробный урок.
Практика
У кафе было 100 заказов со средним чеком 400 рублей, стало 80 со средним чеком 550. Посчитайте выручку в обоих периодах. Владелец спрашивает: «Всё стало лучше?» Запишите пять уточнений: сопоставимы ли периоды, изменились ли цены, расходы, время работы и состав клиентов.
Распределите задачи между ролями: определить причины падения повторных покупок; описать требования к возврату товара; наладить ежедневную загрузку заказов; сделать прогноз спроса; построить панель продаж. Для каждой объясните, с кем специалист будет сотрудничать.
Сохранить
profession.md: определения ролей своими словами, решение про кафе и перечень недостающих данных.
Допуск дальше
- [ ] Получились 40 000 и 44 000 рублей; рост выручки — 10%.
- [ ] Вы объясняете, почему рост выручки ещё не доказывает рост прибыли.
- [ ] Можете описать работу аналитика без перечисления названий программ.
Шаг 2. Освоить язык таблиц и восстановить арифметику
10–16 часов. До начала: шаг 1.
Зачем и что понять
Строка — одно наблюдение; столбец — его свойство; тип данных — число, текст, дата и т. п.; идентификатор — обозначение объекта, с которым обычно не делают арифметику. Детализация отвечает на вопрос «чему соответствует одна строка?». Заказ и товарная позиция заказа — разные детализации.
Доля = часть / целое. Рост = новое / старое − 1, если старое не равно нулю. Рост конверсии с 10% до 12% — это 2 процентных пункта и 20% относительно исходного значения. Среднее по группам нужно взвешивать численностью, когда требуется среднее по всем наблюдениям.
Материалы по порядку
- Начало работы с Google Таблицами — русский, открытая справка; для редактирования нужна учётная запись Google. Пройдите создание файла, ввод данных, форматирование чисел, сортировку и фильтр.
- Если Google недоступен: LibreOffice Calc — справка, русский; используйте локальный Calc. Все упражнения на строки, формулы и сводные таблицы сохраняются.
- Для арифметики достаточно разобрать формулы выше на калькуляторе. При пробелах повторяйте каждый пример до самостоятельного объяснения знаменателя.
Практика
Скопируйте этот авторский учебный набор в таблицу, начиная с 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.
Зачем и что понять
Формула пересчитывает результат при изменении данных. Абсолютная ссылка фиксирует адрес ячейки при копировании. Сводная таблица группирует строки и считает итог. Поиск по ключу добавляет свойства объекта из справочника; повторяющийся ключ в справочнике требует проверки.
Материалы по порядку
- Справка Google Таблиц — разделы об анализе данных, сводных таблицах, диаграммах и очистке.
- Список функций с примерами — изучите
SUM,AVERAGE,IF,SUMIFS,COUNTIFS,IFERROR,XLOOKUPилиVLOOKUP, функции дат. Ищите по названию; не читайте весь справочник. - Для Calc используйте раздел функций и сводных таблиц. Названия функций и разделители аргументов могут отличаться по языку и настройкам.
Практика
На orders.csv посчитайте выручку и число оплаченных заказов по дням и каналам. Постройте сводную таблицу и повторите один её результат через SUMIFS. Постройте столбчатую диаграмму выручки каналов и линию дневной выручки. Подпишите валюту и правило исключения отмен.
Добавьте отдельный справочник каналов: organic — поисковый трафик, ads — реклама, email — рассылка. Подтяните описание через поиск. Затем специально повторите одну строку справочника и объясните, почему это проблема качества данных.
На копии данных добавьте пробел к ads, текст вместо числа и повтор заказа 1. Найдите ошибки, исправьте воспроизводимым способом и сравните итог с исходным. Не удаляйте «неудобные» строки без объяснения.
Сохранить
project-01: исходные данные, файл с формулами, две диаграммы и записка на полстраницы: вопрос, ответ, ограничения, следующий шаг.
Допуск дальше
- [ ] Выручка каналов: organic — 350, ads — 250, email — 600; сумма — 1 200.
- [ ] Добавление нового оплаченного заказа корректно меняет формулы и обновлённую сводную таблицу.
- [ ] Вы показываете минимум три исправленные ошибки и их влияние на итог.
- [ ] Отчёт можно прочитать без устного объяснения устройства таблицы.
Шаг 4. Перевести запрос заказчика в аналитическую задачу
16–24 часа. До начала: первый отчёт.
Зачем и что понять
Заказчик — человек, который примет решение. Метрика — показатель с определёнными числителем, знаменателем, периодом и правилами включения. Гипотеза — проверяемое предположение. Ограничение — причина, по которой вывод имеет более узкую область применения.
Запрос «сделай аналитику продаж» ещё не определяет работу. Нужно выяснить решение, срок, сравнение, доступные данные и допустимую ошибку. Диагностика отличается от доказательства причин: совпавшее изменение показателей может объясняться третьим фактором.
Материалы по порядку
- Повторите задачи аналитика в модуле Microsoft Learn.
- Google Data Analytics — описание этапов — английский, открытая страница: рассмотрите названия частей про вопрос, подготовку, очистку, анализ и сообщение результата. Записываться на платный сертификат не требуется.
- Основной практический материал — шаблон и кейс ниже.
Практика
Заполните бриф для задачи «почему упали продажи?»:
Какое решение нужно принять:
Кто его принимает и к какому сроку:
Как определяем продажи и период сравнения:
Какие сегменты проверяем:
Какие данные доступны и чего нет:
Какие альтернативные объяснения проверим:
Как проверим правильность расчёта:
Что передадим: таблица / записка / дашборд:
Что сознательно не входит в задачу:
Для маленького набора нельзя доказать эффективность рекламного канала: нет расходов на привлечение и числа посетителей. Сформулируйте доступный вопрос — например, «как распределена выручка оплаченных заказов по каналам?» — и отдельно запросите недостающие поля для оценки рекламы.
Составьте дерево проверки падения выручки: число заказов × средний чек; далее отмены, ассортимент, цены, наличие товара, сбой загрузки. Для каждой ветки укажите нужные данные и возможное действие.
Сохранить
brief.md, словарь трёх метрик, список гипотез в порядке проверки и критерий завершения задачи.
Допуск дальше
- [ ] У каждой метрики есть период, единица наблюдения и правило включения отмен.
- [ ] Вы различаете наблюдаемый факт, предположение о причине и предлагаемое действие.
- [ ] Можете отказаться от недоказуемого вывода и предложить следующий сбор данных.
Шаг 5. Начать SQL: получить нужные строки и агрегаты
24–36 часов. До начала: шаги 1–4.
Зачем и что понять
База данных хранит связанные таблицы. SQL — язык запросов к ним. SELECT выбирает результат, WHERE фильтрует строки, GROUP BY объединяет строки в группы, HAVING фильтрует группы. NULL обозначает отсутствие значения; это не ноль и не пустая строка.
Материалы по порядку
- Karpov Courses: бесплатный SQL-симулятор — русский, нужна регистрация, PostgreSQL в браузере. Пройдите «Знакомство с продуктом», «Базовые запросы», «Фильтрация данных», «Агрегация данных», «Группировка данных». Остановитесь перед подзапросами.
- Введение в PostgreSQL на русском — разделы о таблицах, запросах и агрегатных функциях; справка по непонятным конструкциям.
- Альтернатива тренажёру: 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 сохраняет левую таблицу. Если у заказа три товарные позиции, после присоединения позиций сумма целого заказа повторится три раза.
Материалы по порядку
- SQL-симулятор — «Подзапросы» и «Объединение таблиц», русский.
- PostgreSQL Exercises — разделы Joins and Subqueries, английский, с объяснениями. Минимум по пять новых задач каждого типа.
- Документация 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 суток» могут давать разные результаты. Граница месяца и часовой пояс являются частью определения метрики.
Материалы по порядку
- SQL-симулятор — упражнения на оконные функции; продуктовые показатели пока считайте только после чтения их определения.
- PostgreSQL: оконные функции, английский; русский вариант найдите через введение.
- 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 изменяет данные. Для учебного проекта нужна собственная локальная база, в которой можно ошибаться и повторять загрузку.
Материалы по порядку
- PostgreSQL — установка — выберите свою ОС; установка бесплатная. Вводное руководство объясняет создание базы и доступ.
- pgAdmin — Query Tool, английский: окно выполнения SQL. Можно использовать
psqlиз введения, если предпочитаете терминал. - Для дополнительных данных и задач: 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 — инструменты и процессы регулярной бизнес-отчётности. Дашборд — панель связанных показателей. Измерение задаёт разрез, например канал; мера — рассчитываемую величину. Среднее из средних и сумма уже агрегированных показателей могут давать неверные итоги.
Материалы по порядку
- Курс Yandex Cloud по DataLens — русский, бесплатный доступ к курсу с регистрацией. Пройдите подключение файлов, датасеты, стандартные чарты, вычисляемые поля, селекторы и дашборды. AI, JavaScript и платные облачные подключения пропустите.
- Если курс недоступен: официальные практические руководства — «Простой дашборд из CSV-файла»; затем подключение файла.
- Karpov Courses — визуализация, русский, бесплатный курс с регистрацией: используйте разделы о выборе графиков и композиции. Практику Tableau повторять не обязательно.
- Для объяснения выбора графика: 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 позволяет описывать повторяемую обработку. Нужны переменные, числа и строки, условия, циклы, списки, словари, функции, чтение файлов и обработка ошибок. Классы, веб-серверы и сложные алгоритмы пока не нужны.
Материалы по порядку
- Яндекс Хендбук «Основы Python», русский, открытая теория; для автопроверки нужен вход. Пройдите главы 1–3, затем 4.1–4.2 о функциях и 5.3 об исключениях. В главе 3 сосредоточьтесь на коллекциях и файлах; дополнительные проекты серверов пропустите.
- Альтернативное объяснение: Code Basics Python, русский; основные типы, условия, циклы и функции. Это замена объяснения трудной темы, не второй полный обязательный курс.
- Установите Python по инструкции главы 1. Если пока не можете установить, выполняйте учебные задачи в браузере, а настройку рабочего окружения завершите в шаге 11.
Практика
Решите минимум 30 небольших задач по выбранным темам. Напишите функцию, которая принимает список сумм и возвращает сумму, количество и среднее; для пустого списка заранее определите поведение. Затем прочитайте orders.csv модулем csv, отфильтруйте paid и получите известные итоги без pandas.
Проверьте пять случаев: пустой список, один заказ, отмена, отрицательная сумма, нечисловое значение. Не превращайте ошибочный текст в ноль молча. Отдельно покажите разницу между изменением списка и созданием нового.
Сохранить
python-basics.py, пять примеров проверки и объяснение трёх встреченных ошибок.
Допуск дальше
- [ ] Без готового решения пишете функцию, цикл и словарь группировок.
- [ ] Можете прочитать сообщение об ошибке и найти строку своего кода.
- [ ] Выручка маленького набора снова равна 1 200.
- [ ] На следующий день решаете похожую задачу с другими данными.
Шаг 11. Настроить воспроизводимую работу: окружение, Jupyter и Git
20–30 часов. До начала: базовый Python.
Зачем и что понять
Окружение отделяет библиотеки проекта. Ноутбук соединяет код, вывод и объяснение; состояние запущенных ячеек может скрывать ошибку. Git хранит историю текстовых изменений. Воспроизводимость означает, что расчёт можно повторить из исходных данных по инструкции.
Материалы по порядку
- Python: виртуальные окружения, английский — создание
venv, установка пакетов,pip freeze. - Jupyter: установка, английский — JupyterLab.
- 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.
Материалы по порядку
- Яндекс Хендбук: модуль pandas, русский — чтение, выборка, группировки и объединения; выполните задачи параграфа.
- Официальные вводные уроки pandas, английский — reading/writing, selecting subsets, summary statistics, combining tables, time series.
- Если нужно другое объяснение: 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 — исследовательский анализ: понять структуру, распределения, аномалии и ограничения до сложных выводов. Выброс — необычное значение, которое может быть ошибкой, редким событием или важной частью бизнеса. Автоматически удалить все выбросы — не универсальная очистка.
Материалы по порядку
- UCI Online Retail — открытые данные Daqing Chen, английское описание. Скачайте архив через Download, распакуйте
Online Retail.xlsx, прочитайте определения полей. Данные исторические; не используйте их как описание сегодняшнего рынка. - Seaborn tutorial, английский — distributions, categorical data, relational plots; Matplotlib — Pyplot tutorial для подписей и сохранения.
- Русское объяснение обработки — параграф 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 хранит структурированные значения, пагинация делит ответ на страницы. Успешный запрос не доказывает полноту данных. Нужно знать дату обновления, единицы, пропуски и определения показателя.
Материалы по порядку
- Яндекс Хендбук: requests, русский — GET, параметры, JSON и обработка ответа. OAuth и запись в облачные сервисы пока пропустите.
- Requests Quickstart, английский — параметры, timeouts, errors.
- 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.
Зачем и что понять
Генеральная совокупность — объекты, о которых хотите сделать вывод; выборка — наблюдаемые объекты. Смещение отбора возникает, если способ попадания в данные систематически меняет состав наблюдений. Большой объём не исправляет такое смещение автоматически.
Распределение описывает возможные значения и их частоты/вероятности. Разберите среднее, медиану, квантили, дисперсию, стандартное отклонение, условную вероятность и независимость. Среднее чувствительно к крупным значениям; медиана отвечает на другой вопрос, а не всегда «лучше».
Материалы по порядку
- Stepik: Основы статистики, русский, бесплатный курс — вводная часть, описательные показатели и распределения. Автор предупреждает о неточностях старых формулировок: это введение, а не единственный источник.
- Seeing Theory, английский, открытая архивная визуализация — Basic Probability, Compound Probability и Probability Distributions. Изменяйте параметры и сначала предсказывайте результат.
- 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 повторно выбирает наблюдения с возвращением для приближения неопределённости статистики. Он не исправляет неверный сбор данных. При нескольких заказах на пользователя нельзя бездумно считать все заказы независимыми: единица повторной выборки должна учитывать зависимость.
Материалы по порядку
- Основы статистики — части про выборочное распределение, стандартную ошибку и интервалы, русский.
- IMS2 — глава 12 «Confidence intervals with bootstrapping», глава 13 о математических моделях; английский, обязательно разберите упражнения с ответами.
- 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.
Материалы по порядку
- IMS2 — главы 11, 14, 17, 20–21: рандомизация, ошибки решений, две доли, независимые и парные средние; английский.
- Русское повторение: Основы статистики — сравнение групп. Корректность интерпретации сверяйте по IMS2 и ASA, а не по одному пересказу.
- 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 требует горизонта и определения ценности; историческая выручка за месяц не равна автоматически прогнозу всей жизни клиента.
Материалы по порядку
- SQL-симулятор — русские разделы «Продуктовые метрики», «Построение дашбордов», практические задачи.
- Amplitude: виды retention, английский, открытая глава; прочитайте определения Return On и Return On or After.
- Демоаккаунт 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 — защитная метрика, например ошибки оплаты. Единицы рандомизации и анализа должны согласовываться.
Материалы по порядку
- IMS2 — повторите Study design, Decision Errors и сравнение долей.
- Evan Miller: калькулятор размера выборки, английский, открытый инструмент. Разберите baseline, absolute/relative MDE, power и significance level.
- Microsoft Research: диагностика SRM, английский: несоответствие ожидаемого распределения групп и причины потери данных.
- Для русского углубления после базы: 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.
Зачем и что понять
Анализ начинается с проверки данных. Убедительное число не спасает сломанную рандомизацию. Решение учитывает эффект, неопределённость, стоимость изменения и защитные показатели. Учебная симуляция показывает свойства метода, но не доказывает пользу настоящего продукта.
Материалы по порядку
- statsmodels: тест двух долей и интервал разности долей, английский — параметры и примеры.
- Microsoft: SRM — повторите диагностическую последовательность.
- Если интерпретация затрудняет: 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 обозначают организацию извлечения, загрузки и преобразования. Идемпотентность означает, что повтор обработки одной партии не создаёт новый результат из-за повторного учёта.
Материалы по порядку
- Microsoft: схема «звезда», русский — факты, измерения, детализация и связи. Идеи нужны независимо от выбранного BI.
- DataLens: модель данных, русский — связи; либо темы модели и мер в PL-300, если выбрали Power BI.
- pytest — первое знакомство, английский — одна функция, проверка через
assert, запуск тестов. Для SQL используйте проверки из шага 8.
Практика
Разделите Online Retail на исходный слой, очищенные позиции, документы и дневную витрину. Опишите ключи и состав каждого слоя. Сохраняйте возвращённые/проблемные строки отдельно с причиной, а не теряйте их.
Вынесите обработку из ноутбука в функцию: входной файл → проверка → расчёт → новый CSV. В первой версии пересоздавайте итог целиком. Запустите два раза и убедитесь, что результат совпадает. После этого разбейте вход на два периода и соберите итог из обеих частей, проверив границу дат.
Добавьте проверки уникальности, обязательных полей, допустимых статусов, неприсоединённых ключей и сверки сумм. Не вводите правило «сумма всегда положительная» для слоя возвратов. Сымитируйте повреждённый файл: обработка должна сообщить о проблеме и сохранить предыдущий корректный отчёт, а не молча заменить его пустым.
Обновите BI из новой выгрузки. Для DataLens замените файл в существующем подключении по инструкции. Опишите ручное обновление честно; полноценная автоматизация идёт в углублении.
Сохранить
build_report.py, проверки, схема слоёв, словарь мер, инструкция обновления и восстановления последнего корректного результата.
Допуск дальше
- [ ] Один и тот же вход дважды даёт один результат.
- [ ] Итоги SQL, pandas и BI совпадают на одинаковых определениях.
- [ ] Плохой вход обнаруживается до замены корректного отчёта.
- [ ] Другой человек может обновить данные по инструкции.
Шаг 22. Объяснить выводы и пройти внешнюю проверку
20–30 часов. До начала: минимум один самостоятельный проект.
Зачем и что понять
Анализ заканчивается понятным решением, а не сохранением ноутбука. Рекомендация должна связывать факт с действием и условием проверки. Рецензия ищет слабые места; несогласие рецензента полезно, если оно приводит к уточнению или исправлению.
Материалы по порядку
- Claus Wilke: Fundamentals of Data Visualization, английский — разделы о подписях, избыточной сложности и storytelling; используйте оглавление, не проходите всю книгу.
- Русское повторение — курс визуализации Karpov Courses, части про оформление и объяснение данных.
- Основной материал для защиты — собственные данные и шаблон ниже.
Практика
Подготовьте для проекта Online Retail записку на одну страницу и выступление на пять минут:
Решение, которое рассматриваем:
Главный наблюдаемый результат:
Два числа или графика в подтверждение:
Как проверяли данные и расчёт:
Альтернативные объяснения и ограничения:
Предлагаемое действие и цена ошибки:
Как проверим результат действия:
Покажите работу двум типам читателя: человеку без аналитической подготовки и человеку, который может проверить расчёт. Это может быть знакомый, участник учебного сообщества или коллега; платный наставник не обязателен. Задайте конкретные вопросы: что предлагается, что не доказано, где можно ошибиться в расчёте?
Если рецензента пока нет, запишите выступление, отложите его на два дня и проверьте по шаблону; это временная самопроверка. Перед финальной оценкой постарайтесь получить хотя бы один внешний разбор. AI-критика не заменяет подтверждение, что реальный читатель понял решение.
Сохранить
Записку, 5–7 слайдов либо страниц, список замечаний и таблицу «замечание → проверка → изменение».
Допуск дальше
- [ ] Главная рекомендация понятна за минуту.
- [ ] На вопрос «откуда это число?» есть воспроизводимый расчёт.
- [ ] По критике сделано минимум одно содержательное исправление.
- [ ] Вы спокойно называете вывод, который ваши данные не позволяют сделать.
Шаг 23. Выполнить итоговую задачу на незнакомых данных
35–50 часов. До начала: шаги 1–22.
Зачем и что понять
Новый набор проверяет перенос навыков. Нельзя считать самостоятельностью только повторение уже известного анализа. Нужен весь цикл: бриф, получение, проверка, анализ, коммуникация и доработка после изменения требования.
Материалы по порядку
- NYC TLC Trip Record Data, английский, открытые файлы. Возьмите Green Taxi за январь и февраль 2024 года, Taxi Zone Lookup Table и Green Trips Data Dictionary. Это конкретный стартовый набор; не скачивайте весь архив.
- DuckDB — Python и Parquet, английский. Parquet — столбцовый файловый формат, DuckDB выполняет локальный SQL по файлам. Установите
python -m pip install duckdb pyarrow. - При затруднениях с новым диалектом используйте 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 часов. До начала: самостоятельный итоговый проект.
Зачем и что понять
Готовность к работе проявляется в новой задаче, объяснении решений и способности заметить ошибку. Работодатели могут требовать разные инструменты; вакансия — источник конкретных требований, а не повод немедленно изучать все технологии мира.
Материалы по порядку
- PostgreSQL Exercises — незнакомые задачи для проверки SQL.
- IMS2 — ещё не решённые упражнения на интервалы, гипотезы и дизайн.
- Для проверки BI-покрытия: Microsoft PL-300. Это перечень тем, экзамен покупать не нужно.
- Соберите 15 актуальных вакансий нужного региона и уровня на страницах работодателей или выбранной площадке. Сохраните даты и отделите обязательные требования от желательных. Зарплатные обещания в roadmap не фиксируются.
Практика
Проведите пробную проверку: за 90 минут решите четыре новых SQL-задачи на агрегацию, JOIN, окно и дату; затем за 90 минут исследуйте новый небольшой CSV и напишите вывод. Отдельно за 30 минут объясните план эксперимента и две возможные ошибки. Это диагностический формат, а не универсальный стандарт интервью.
Выберите три лучшие работы: SQL/BI, исследование реальных данных и эксперимент. В описании каждой укажите вопрос, собственный вклад, проверки, результат и ограничения. Учебную симуляцию не выдавайте за опыт работы компании. Для проектов на публичных данных указывайте источник и лицензию/условия.
Составьте резюме без списка неиспользованных инструментов. Проведите пробное собеседование с человеком, способным задавать уточнения. Если такого человека пока нет, запишите ответы и составьте план поиска рецензента; не объявляйте внешнюю проверку выполненной.
Сохранить
Три оформленных проекта, резюме, таблицу вакансий, запись пробной проверки и план закрытия пробелов.
Допуск к откликам и дальнейшему росту
- [ ] Самостоятельно формулируете вопрос и критерий завершения.
- [ ] Получаете данные SQL, проверяете детализацию и итоги.
- [ ] Очищаете и исследуете данные в Python с повторяемым запуском.
- [ ] Создаёте понятный отчёт в выбранном BI.
- [ ] Объясняете неопределённость и ограничения статистического вывода.
- [ ] Можете защитить проект и изменить его по новому требованию.
- [ ] Знаете конкретные пробелы относительно выбранных вакансий.
Если провален расчёт, качество или воспроизводимость, вернитесь к соответствующему шагу. Если не хватает только инструмента конкретного работодателя, составьте короткий план его освоения и продолжайте искать подходящие начальные позиции. Углубление ниже можно совмещать с работой, а не откладывать все отклики до последней страницы.
Углубление: от выполнения задач к ответственности за результат
Следующие шаги идут последовательно, но каждое упражнение желательно связывать с реальной предметной областью. Они не присваивают грейд. Продвижение подтверждается проектами, внешними разборами и последствиями решений. Здесь английское чтение занимает больше места; закладывайте дополнительное время на словарь и проверку понимания.
Шаг 25. Освоить математическую базу и регрессию
35–50 часов. До начала: Python, статистика и самостоятельное исследование.
Зачем и что понять
Регрессия описывает связь результата с признаками. Коэффициент зависит от модели, состава признаков и данных; без обоснованного дизайна это не причинный эффект. Нужны функции, производная как скорость изменения, векторы, матрицы, линейная комбинация и смысл минимизации ошибки.
Материалы по порядку
- Karpov Courses: математика для анализа данных, русский, бесплатный с регистрацией — элементарные функции, производные/оптимизация одной переменной, первые темы векторов и матриц. Этот курс не заменяет статистику; сложные разложения пока пропустите.
- An Introduction to Statistical Learning, английский, легально доступное Python-издание — главы 2–3, линейная регрессия и лабораторная. Скачивать файл в репозиторий roadmap не нужно.
- IMS2 — главы 7–9 и 24–26 по интерпретации регрессии; используйте как другое объяснение.
Практика
Разберите вручную линейную модель y = a + b*x на пяти точках: предсказание, остаток и сумма квадратов ошибок. Для данных Palmer Penguins из авторского проекта исследуйте связь массы с длиной ласта, затем добавьте вид и пол. Сначала изучите измерения и пропуски.
Сравните коэффициенты без учёта и с учётом вида, покажите групповые различия. Проверьте остатки, влияние крупных наблюдений и возможную зависимость признаков. Для логистической регрессии повторите лабораторную ISLP с бинарной целью, предварительно прочитав соответствующую часть главы 4; объясните вероятность, odds и порог решения.
Сохранить
Ноутбук, разбор предпосылок и записку «какой вывод модель позволяет, какой — нет».
Допуск дальше
- [ ] Можете объяснить коэффициент и остаток без слова «магия».
- [ ] Знаете, почему добавление признака меняет интерпретацию остальных.
- [ ] Не выдаёте ассоциацию за причинный эффект.
- [ ] Проверили качество и ограничения модели, а не только значимость коэффициентов.
Шаг 26. Различать прогноз и хорошее объяснение прошлого
30–45 часов. До начала: шаг 25.
Зачем и что понять
Baseline — простое решение для сравнения. Train/validation/test разделяют обучение, выбор подхода и финальную оценку. Утечка использует информацию, недоступную в момент предсказания. Сложная модель бесполезна, если её оценка основана на утечке или неверной метрике ошибки.
Материалы по порядку
- ISLP — главы 4–5: классификация и resampling; затем одна лабораторная по деревьям, если базовая модель уже понятна.
- scikit-learn: common pitfalls, английский — data leakage и Pipeline. Сначала разделение, потом обучение преобразований только на train.
- Forecasting: Principles and Practice, the Pythonic Way, английский — разделы визуального исследования рядов, простых методов, оценки прогноза и временной кросс-валидации. Следуйте разделу установки самой книги для её лабораторных.
Практика
В лабораторной ISLP сравните простую и более сложную модель, выберите метрику до оценки. Для классификации покажите, почему accuracy может скрывать пропуск редкого класса; объясните precision, recall и стоимость ошибок.
На дневных положительных продажах Online Retail постройте прогноз на неделю: наивный, сезонный наивный и один метод из FPP. Разделяйте данные по времени; сравните несколько последовательных окон. Для среднего чека как цели объясните иной смысл задачи. Сначала используйте MAE, затем разберите, когда MAPE проблематична при нулевых значениях.
Нарочно добавьте признак из будущего и покажите улучшение оценки; удалите утечку. Отдельно объясните, почему более года исторических продаж одного магазина мало для уверенного изучения годовой сезонности и переноса прогноза на другое время.
Сохранить
Проект сравнения моделей, временные разбиения, baseline, ошибки по сегментам и ограничения применения.
Допуск дальше
- [ ] Test не использовался для выбора модели и преобразований.
- [ ] Есть простой baseline и оценка на отложенных данных.
- [ ] Временной прогноз не проверяется случайным перемешиванием будущего и прошлого.
- [ ] Можете предпочесть простое решение, если сложное не даёт устойчивой пользы.
Шаг 27. Углубить эксперименты и причинное мышление
35–55 часов. До начала: эксперименты, регрессия и проверка моделей.
Зачем и что понять
Причинный эффект сравнивает возможные результаты при разных воздействиях; для одного объекта обычно наблюдается только один из них. Конфаундер влияет на воздействие и результат. DAG помогает явно записать предположения о связях. Дополнительная регрессия сама по себе не делает наблюдательные данные экспериментом.
Материалы по порядку
- Matheus Facure: Causal Inference for the Brave and True, английский, открытая книга с Python. Пройдите Introduction, Randomised Experiments, Graphical Causal Models, затем Difference-in-Differences. Начинайте с предпосылок и симуляций, а не с готовой библиотеки.
- AvitoTech: часть 1 и часть 2, русский — CUPED и стратификация. Это методы углубления после базового дизайна.
- Microsoft Research: исследование SRM, английский — таксономия проблем качества экспериментов.
Практика
Сымитируйте ситуацию, где более активные пользователи чаще получают предложение. Сравните простую разность средних, корректировку по исходной активности и настоящий случайный эксперимент. Нарисуйте DAG и объясните, что невозможно проверить только по итоговому набору.
Повторите пример Difference-in-Differences из книги. Измените генерацию данных так, чтобы нарушить параллельные тренды, и покажите ошибку вывода. Проведите placebo-проверку; хороший результат такой проверки не доказывает предпосылку автоматически.
Для A/B-симуляции добавьте метрику до воздействия и сравните неопределённость с CUPED и без него. Не используйте в корректировке показатели, изменившиеся под действием теста. Разберите, когда взаимодействие пользователей требует кластерной рандомизации и почему число событий не равно числу независимых единиц.
Сохранить
Два разобранных кейса, графы предположений и памятку выбора: рандомизированный тест, наблюдательный дизайн или отказ от причинного вывода.
Допуск дальше
- [ ] Для причинного вывода сформулированы предпосылки и возможные нарушения.
- [ ] Показан пример, где метод даёт неверный вывод при нарушении предпосылок.
- [ ] Вы отличаете повышение точности от исправления смещения.
- [ ] Сложность метода не используется как аргумент его достоверности.
Шаг 28. Работать с большими файлами и понимать стоимость SQL
25–40 часов. До начала: самостоятельный SQL и Python; для отдельных упражнений достаточно шага 23.
Зачем и что понять
План запроса показывает операции выполнения. Индекс может ускорять подходящий поиск, но не обязан помогать любому запросу. Столбцовое хранение позволяет читать нужные поля; фильтрация при чтении уменьшает объём обработки. Сначала измеряйте проблему на доступной машине, потом выбирайте технологию.
Материалы по порядку
- PostgreSQL: EXPLAIN, английский — scan, join, estimates/actual; русский раздел ищите в документации, «Оптимизация производительности».
- DuckDB: чтение Parquet, английский — запросы к одному файлу и нескольким файлам, выбор столбцов и фильтров.
- NYC TLC — добавьте ещё несколько месяцев Green Taxi, если хватает места. Для понимания метода не требуется покупать облачный кластер.
Практика
Сравните чтение всех столбцов в pandas, чтение выбранных столбцов и SQL-агрегацию в DuckDB до загрузки результата в память. Запишите объём данных, время и условия измерения. Повторите несколько раз и отдельно отметьте влияние кэша.
В PostgreSQL изучите EXPLAIN для фильтра и JOIN. На учебной таблице достаточного размера сравните запрос до и после подходящего индекса, сохранив план и результат. Маленькую таблицу сервер может разумно читать целиком. EXPLAIN ANALYZE действительно выполняет запрос: в этой практике используйте только SELECT по учебным данным.
Опишите, в какой момент вам понадобятся ClickHouse, Spark или облачное хранилище: требования к объёму, задержке, совместному доступу и эксплуатации. Не заменяйте измерение проблемы списком популярных названий.
Сохранить
Замеры, планы, одинаковые контрольные результаты и записку с выбором самого простого подходящего решения.
Допуск дальше
- [ ] Оптимизация не изменила смысл результата.
- [ ] Вы видите различие оценочного и фактического количества строк.
- [ ] Объясняете эффект уменьшения столбцов и предварительной агрегации.
- [ ] Выбор инструмента связан с измеренной задачей и стоимостью сопровождения.
Шаг 29. Построить проверяемую аналитическую витрину
30–45 часов. До начала: шаги 21 и 28.
Зачем и что понять
DAG преобразований задаёт зависимости расчётов. Контракт данных фиксирует ожидаемые поля, типы и смысл. Freshness показывает свежесть поставки, но свежий файл всё равно может быть неполным. Backfill пересчитывает прошлый период после исправления или поздних данных.
Материалы по порядку
- dbt: локальное начало работы, английский — настройка проекта, модели, зависимости и запуск. Для локальной базы выберите открытый dbt Core и адаптер PostgreSQL по инструкции PostgreSQL. Не нужен платный облачный аккаунт.
- dbt: data tests — unique, not_null, relationships, accepted_values и собственные SQL-проверки.
- Если настройка 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 может предложить правдоподобный, но неверный запрос, формулу или вывод. Для аналитика важно уметь проверить ответ независимо: на маленьких данных, инвариантах, документации и альтернативном расчёте. Ответ модели не является источником фактов о бизнесе.
Материалы по порядку
- PostgreSQL — SQL Tutorial и pandas tutorials — проверяйте фактическую семантику предложенного кода.
- scikit-learn: утечка данных — повторите ошибку, которую легко спрятать за автоматически написанным кодом.
- Основной материал — собственные ошибочные примеры из шагов 6, 16, 18 и 26. Подписка на конкретный AI-сервис не обязательна: при отсутствии доступа анализируйте ошибки вручную.
Практика
Если AI доступен, дайте только синтетическую схему и попросите запрос выручки после соединения заказов с позициями. До запуска напишите ручной эталон для пяти строк. Проверьте детализацию, отмены, NULL, одинаковые суммы разных заказов и временные границы.
Аналогично проверьте ответ про retention и заключение «p > 0,05, значит варианты одинаковы». Попросите объяснить предпосылки и укажите обнаруженные ошибки. Если модель сразу ответила правильно, самостоятельно внесите одну типичную ошибку и убедитесь, что ваши проверки её ловят.
Напишите два режима использования: обучение — подсказка без готового решения; работа — черновик кода с проверками, review и ответственностью автора. Запишите, какие данные нельзя отправлять во внешний инструмент без разрешения их владельца. Обезличивание идентификатора само по себе не гарантирует отсутствие чувствительной информации.
Сохранить
ai-review.md: задача, предложенный ответ либо намеренно испорченный код, независимая проверка, найденная ошибка и исправление.
Допуск дальше
- [ ] Можете объяснить каждую строку принятого кода.
- [ ] Правильность проверяется выполнением и эталоном, а не уверенностью ответа.
- [ ] Проверки ловят минимум три разные категории ошибок.
- [ ] Ту же задачу решаете без AI, когда он недоступен.
Шаг 32. Вести аналитическую задачу целиком и спланировать рост
30–50 часов на учебную репетицию; опыт реальной ответственности календарём курса не ограничен. До начала: основной путь, предметный проект и углубление.
Зачем и что понять
Профессиональный рост — это увеличение самостоятельности, масштаба и ответственности. Нужно уметь выбрать полезную задачу, согласовать определения, найти ограничение данных, организовать проверку, помочь коллегам и увидеть последствия решения. Нельзя подтвердить это только количеством ноутбуков.
Материалы по порядку
- Собственные проекты, брифы, журнал ошибок, runbook и обратная связь — основной материал.
- Для проверки полноты технической работы повторите PL-300, dbt tests и Microsoft Research: доверие к экспериментам. Это ориентиры отдельных навыков, не единый стандарт senior.
- Выберите реального рецензента или учебного партнёра. Без него можно выполнить репетицию, но не заявить, что получен опыт командной работы.
Практика
Проведите проект с неоднозначной постановкой: «Нам нужно увеличить повторные покупки, но ресурса хватит только на одно изменение». Согласуйте определение повторной покупки и целевой сегмент, составьте варианты исследования и оцените, какое даст наиболее полезную информацию при доступном времени.
В репетиции участники играют заказчика и аналитика. После первого расчёта заказчик меняет определение метрики, затем появляется поздняя поставка данных. Зафиксируйте решения, пересчитайте, объясните затронутые отчёты и передайте проект другому человеку. Проведите разбор ошибки без поиска виноватого: что произошло, почему проверка пропустила и как предотвратить повтор.
Для настоящей работы повторите этот цикл на разрешённой задаче с реальным заказчиком. Согласуйте действие и дату возврата к результату. Если изменение не внедрено, пишите «рекомендация подготовлена», а не «увеличил показатель». Если эффект оценён наблюдательно, укажите ограничения причинной интерпретации.
Сохранить
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. Подробности и ограничения сравнения — в исследовательской записке; для прохождения она не нужна. Все учебные материалы находятся внутри соответствующих шагов.