Это не курс. Это симулятор работы аналитика данных в реальной компании с элементами обучения. Вы будете считать retention и LTV, писать многоэтажные CTE и делать другие полезные для бизнеса штуки с помощью SQL.
Цели симулятора Обучить не элементарным «SQL-запросам», а полезным фишкам, экосистеме и продакшен-левел коду Научить писать запросы, нужные бизнесу. Вы не будете изучать котиков — вы будете считать LTV, делать сложные агрегации и ad-hoc Погрузить в среду. Вы будете работать с профессиональными инструментами — PostgreSQL, DBeaver, MySQL, Power BI и шедулерами Чем предстоит заниматься Писать многочисленные ad-hoc SQL запросы: сбор и валидация email-адресов, расчет статистик пользовательской активности и многое другое Собирать когорты, анализировать retention, LTV, CR и другие продуктовые метрики с помощью high-level SQL-запросов Автоматизировать импорт/экспорт данных на Windows/Linux сервере с помощью SQL + Python + psycopg2 + cron Программа обучения Симулятор состоит из 13 глав.
Каждая глава — это теория + практические задачи + отработка навыков на бизнесовых кейсах.
Вы будете анализировать пользовательский опыт платформы IT Resume, работать с продакшен-левел инструментами и решать реальные кейсы с интересным сюжетом.
Вы познакомитесь с базами данных, поймете отличие БД от СУБД, обсудите важность нормализации на конкретных кейсах и прочие «основы основ».
В конце - тест для проверки знаний.
Вы научитесь подключаться к удаленной базе 4 разными способами, разберете типы данных и поймете отличие DCL от DML.
Для закрепления знаний - тест.
В этой главе вы научитесь писать базовые SQL-запросы — но далеко не самые простые. Также вы освоите функции обработки текста, даты, времени, кастинга, крутые функции COALESCE/NULLIF, логические операторы, CASE и многое другое. Сортировка, горизонтальная фильтрация, поиск по шаблону, регулярки — все это в этой главе.
Для закрепления — домашнее задание.
Хоть вы только начали путь, вы уже будете решать реальные продуктовые задачи. Например: Соберете и подготовите базу для email-рассылок Посмотрите на пользователей в разрезе дат и погрузитесь в обработку даты-времени Произведете валидацию номеров телефонов Расклассифицируете задачи на платформе по группам в зависимости от определенного признака В этой главе мы расскажем про основные продуктовые метрики, которые пригодятся вам абсолютно в любом проекте — будь то мобильное приложение или офлайн-магазин. Например, в следующих главах вы воспользуетесь этими знаниями для аналитики платформы.
Для отработки и закрепления результатов — тест + расчётные задания.
Вы научитесь группировать таблицу по определенным признакам и использовать агрегатные функции: от простейших AVG и MIN до экзотических mode WITHIN GROUP.
Для отработки навыков — домашнее задание.
После этого вы снова отработаете полученные знания на реальных кейсах. Например: Оцените распределение активности пользователей по часам/дням Сколько в среднем пользователь делает попыток для решения 1 задачи? А сколько людей решают задачи с первой попытки? А каково значение моды? Оцените MAU/WAU/DAU Посчитаете эффективность реферальной программы Посмотрите на то, как пользователи платформы тратят и копят CodeCoins Только умея LEFT/RIGHT/FULL/SELF/CROSS/INNER JOIN, мы можем получить действительно что-то полезное и осмысленное. Именно эти конструкции вы и освоите в данной главе.
Для закрепления — домашнее задание.
После этого вы продолжите анализировать user experience платформы. Например: Посмотрите, кто не только решает задачи, но и участвует в других активностях Однозначно скажете – от какой компании сколько пользователей пришло и как они себя вели Оцените распределение решенных задач и тестов по тегам и категориям Редко решение задачи можно уложить в один короткий запрос. В этой главе вы научитесь писать сложные вложенные подзапросы и выносить все это аккуратно в CTE. А еще обсудим код-стайл и смежные вопросы.
Для закрепления — традиционная домашка.
После этого закрепите все на практике. Например: Посчитаете RETENTION/CR и подумаем над тем, как удержать пользователей Углубитесь в то, как пользователи решают задачи и проведете глубокое исследование Соберете всю статистику о пользователях в одном месте, чтобы показать ее рекрутерам Разберетесь, в чем мощь window functions, причем здесь вообще окна и как избежать фатальных ошибок при использовании UNBOUNDED FOLLOWING/CURRENT ROW. Также научитесь считать накопительный итог и не только - используя агрегатные функции, как оконные.
Для отработки — полноценное домашнее задание.
Затем вы снова вернетесь к работе над аналитикой платформы. Например: Снова рассмотрите вопрос retention и LTV, но под новым соусом Оцените динамику активностей, найдете участки спада и роста Посчитаете текущий баланс накопительным итогом по всем пользователям и найдете аномалии В этой главе вы сами запроектируете базу для нового проекта, построите ее схему со связями и напишите все DDL-скрипты для создания. А в конце — развернете ее и в облаке, и на локальной машине! А чтобы базу можно было потестить — наполните ее фейковыми данными (так частенько делают в продакшене) с помощью специальных сервисов.
Будете использовать: draw.io, DBeaver, MySQL + Workbench, сервисы-фейкеры.
В этой главе вы научитесь работать с psycopg2, mysql.connector, узнаете про шаблон проектирования Singleton, научитесь регистрировать собственные типы данных, работать с базой через Python, разберете ошибки типа Authentication plugin ′caching_sha2_password′ cannot be loaded и многое другое.
Для отработки — полноценное домашнее задание.
В результате вы получите: несколько готовых классов для подключения к основным СУБД, которые вы можете использовать потом на работе написанные Python-скрипты для экспорта-импорта данных из базы проект по выгрузке данных из базы и дальнейшей обработке в Pandas В этой главе вы научитесь автоматизировать типовые задачи: например, бэкапы и инсерты. Делать это будем с помощью cron, шедулера и Python-скриптов. На закуску — Airflow.
На выходе вы будете иметь скрипты и инструкции для автоматизации задач с помощью cron, а также готовый проект с Python-кодом для ежедневного инсерта данных в БД.
SQL тесно связан с аналитикой и датавизом. В этой главе вы будете подключать базу к Power BI и Redash, чтобы строить ad-hoc отчеты и дашборды. Затронем тему подключения по ssh, построения дашбордов и поиска полезных инсайтов.
В результате этой главы вы решите реальное тестовое задание в крупную Edtech компанию на позицию аналитика.
В конце — небольшая ретроспектива всех ваших наработок, а также наши советы относительно тестовых заданий, best practices и дальнейшего развития. Полезные материалы, ссылки и непрошенные советы — то, что нужно в конце такого обучения.
Но на самом деле, это не конец, а только начало интересного пути