На рынке труда можно найти разные вакансии: аналитик данных, бизнесс аналитик, продуктовый аналитик, системный аналитик и так далее. Единого мнения, кто такой аналитик нету и у каждой компании свое представление. Но всех этих аналитиков объединяет то, что они что-то анализируют. Чем крупнее компания, тем больше она может себе позволить дифференцировать задачи и под каждый класс задач выделять отдельную вакансию. В задачи аналитика в гипотетической компании может входить:
— сбор и анализ данных
— написание sql запросов
— проведения АВ теста
— выбор метрик для продукта
— генерирование продуктовых гипотез
— построение графиков и дашбордов
И так далее
Все эти задачи нужны, чтобы что-то проанализировать. Аналитика является популярным вариантом для начала карьера для тех, кто не нашел себя в разработке, кому ближе математика. С аналитике нередко начинают ребята, которым интересен дата сайнс и мл, ибо порог входа сюда намного ниже и все эти навыки в дальнейшем пригодятся в DS. Также по аналогичным причинам с аналитики начинают ребята, которым интересен менеджмент.
Пет проекты в первую очередь нужны как элемент вашего образования, чтобы отработать теорию на чем-то более реальном, чем задачи c leetcode. Не нужно изобретать велосипед или новый FaceBook. Просто октрываем GitHub и копипастим самые популярные проекты, может быть как-то их адаптируя. Ниже привожу самые популярные пет проекты.
1. Работа с данными В новом продукте придется выстраивать аналитические процессы. Но для начала нужно просто привести данные к удобному виду. Так данные могут храниться не оптимально: например, есть база данных VK с одной таблицей, где хранятся посты и авторы этих постов. Скорее всего, постов будет намного больше, чем авторов, поэтому разумно создать новую таблицу, переместить туда посты, а из исходной удалить. Помимо такого не оптимального хранения, данные могут быть банально грязные: аномалии, дубликаты и пропуски, неудобный тип переменных. Для «очистки» данные пригодятся статистические методы и визуализация. Также уже на этом этапе можно формулировать какие-то гипотезы. Для выполнения такого задания достаточно открыть jupyter notebook взять любой сырой датасет c того же kaggle, имитирующий «большие данные», там же по запросу в духе «Exploratory Data Analysis» можно посмотреть примеры других пользователей.
2. Дашборды Результаты предыдущей работы с данными нужно предоставить в удобном виде. Согласитесь, что ко всем важным показателям нашего продукта должен быть простой и быстрый доступ. Странно было бы если всей команде каждый раз приходилось писать запрос, чтобы узнать сколько у продукта пользователей. Поэтому выстраивание аналитики начинается с выведения ключевых метрик как DAU, WAU, MAU. Целевая задача состоит в визуализации и презентации, также можно повыдумывать свои метрики и сформулировать какие-то гипотезы, глядя на графики. Например, видим пик активных пользователей (маркетологи закупили рекламу), а потом видим отток — давайте посмотрим на retention и оценим насколько реклама эффективна. Также придется найти данные и настроить рабочее окружение, наиболее удачным для новичков мне кажется: ClickHouse, Redash, Superset, GitLab. Они интерактивны, к каждому есть туториал. На работе могут быть другие инструменты, но их освоения тоже не составит проблем.
3. AB тест Здесь и пригодятся все гипотезы, сформулированные в предыдущих проектах: теперь их можно проверить. Сначала планируем эксперимент: рассчитываем необходимое кол-во пользователей, подобираем методы проверки. Огромный простор для воображения: можно подобрать более чувствительные метрики, можно потестить систему сплитования, можно использовать методы понижения дисперсии. Но лучше начать с самого простого: хоть как-то выбрать пользователей, разделить на тест и контроль и использовать t-тест, Манна — Уитни, проинтерпретировать результат + прикрутить все рабочее окружение из второго проекта. Если получится что-то рабочее, то прикручиваем хэширование с солью, АА-тест, бутстреп, cuped, бакетное преобразование и тд. Примеры AB тестов всякого качества можно посмотреть на том же kaggle, github.
4. Пайплан Обычно данные хранятся в разных системах и в разных формах, аналитику нередко приходится перетаскивать данные в хранилище и выдавать их в виде графиков и табличек. Для имитации чего-то подобного можно взять данные из одной базы данных, возможно, эти источником будет также являться Kafka, положить в Hadoop, и поместить данные в другую базу данных, используя преобразования Spark, и запустить это все дело через Airflow.
5. Система алертов На работе придется писать отчеты, поэтому лучше автоматизировать этот процесс через тг бота. Создаем, пишем скрипт для сборки отчета по выбранной бд. Подумайте, какие метрики выбрать, за какой период и как лучше представить отчет. Автоматизируйте отправку отчета с помощью Airflow. В дополнение к отчетам можно реализовать поиск аномалий: детектировать необычное поведения метрик и отправлять в чат. Выбираем метрики, срезы, частоту для мониторинга, метод детектирования. Методы можно разделить на статистические (правило трех сигм) и на основе мл алгоритмов (DBSCAN, LOF). Как всегда для начала реализовываем самое простое.
Для продолжающих аналитиков тоже есть варианты
1. Прогнозирование временных рядов На более старших позициях аналитикам часто нужно лезть в ML/Эконометрику, особенно риск аналитикам, поэтому нужно будет заботать оба этих навыка. В этом проекте будем прогнозировать спрос на следующий месяц и выявлять факторы воздействия на точность прогноза. Возьмём датасет продаж/курс валют/трафик веб-сайта и т. п. Работать будем в jupyter или коллабе, если датасет большой, то советую подключить cuda. Очистим данные от выбросов проанализируем ряд на тренд, остаток и сезонность. Многие модели требуют стационарность, поэтому в том числе нужно протестировать их. Если ряд не стационарный, то продифференцируем/логарифмируем. Из моделей выберем базовую arima и prophet. Далее оценим качество модели (например через WAPE) и напишем выводы.
2. Проектирование базы данных SQL SQL довольно простой язык и с помощью одного пет-проекта можно легко заботать этот язык за неделю. В начале выберете тематику бд (например бд для интернет магазина). Первый этап в написании бд — это проектирование, в начале придумываете концептуальную модель, в ней должны быть описаны лишь названия сущностей и взаимосвязи между другими. Затем проектируем физическую и логическую модели, в первой описываем поля у каждых сущностей, их ограничения и типы, во второй (логической) — описываем рисуем схему с взаимосвязями (по каким ключам связь, какой тип ключа и связи) и можно также описать тип версионирования. Проект можете реализовывать в vscode (но его предварительно придется настроить), либо в dbeaver (открываете pgadmin, создаёте бд, идёте в dbeaver и подключаете к бд). Далее пишем ddl скрипты, которые реализуем полностью по логической и физической моделям БД (в процессе создания таблиц также можете изучить как расставлять индексы и добавить их). Затем реализуем dml — с генерацией данных и запросами (постараемся задействовать как можно больше различных продвинутых функционалов, например можно реализовать заполнение случайными данными и обернуть их в процедуры или представления, а также можно реализовать несколько запросов, которые актуальны для данных в них используем оконки, cte и рекурсивные).
3. Когортный анализ удержания клиентов В данном проекте наша цель показать именно продуктовое понимание, накидать как можно больше выводов и гипотез, а не показать харды. Выгружаем данные транзакций какого-нибудь ретейлера. Когорты просто выбираем по месяцу первой покупки. Рассчитаем процент клиентов, совершающих повторные покупки на 7-й, 30-й, 90-й дни. Постройте хитмапу когорт по процентам удержания. При анализе такой карты хорошо заметны сезонные закономерности — например, когорты декабря часто показывают низкое удержание из-за новогоднего ажиотажа, когда люди совершают разовые покупки подарков. Также могут выявляться выбросы, связанные с маркетинговыми акциями или другими событиями. Далее можно сегментировать когорты по каналу привлечения (контекстная реклама/соцсети) и поискать зависимости по сегментам. В выводах анализируем тренд удержания, факторы влияющие на этот тренд и эффективность каналов привлечения.
4. Корреляционный анализ Сначала выбираем тему и данные: находим две или больше числовых характеристик, где предполагается связь, например «Влияет ли размер скидки на объем продаж» или «Связь времени учебы и оценки». Опять же, можно взять готовый датасет с Kaggle, либо сгенерить/спарсить свои данные. Дальше проводим EDA и визуализируем связи. Считаем коэффициенты. Пирсон для линейных связей и нормальных данных, Спирмен для любых монотонных связей через ранги, Кендалл как альтернативу Спирмену для маленьких выборок. Для пирсона предварительно проведем проверку на нормальность (Шапиро Уилка или q-q plot). И оцениваем значимость связи через pvalue. В выводах объясняем тип связи, и стат значимость, но главное не путать корреляцию с причинностью. Можно провести регрессионный анализ и отобразить на графикe.
| Junior | Excel,Python | |
| Junior | Python | |
| Middle | SQL,Кейс | |
| Junior | Python,Кейс | |
| Amazon | Junior | Python,SQL |
| Middle | Excel,SQL | |
| Middle |
Dashboard,Python
|
|
| Middle |
Python,SQL,Кейс
|
|
| Senior | А/Б,Кейс | |
| Middle |
Python,А/Б,Кейс
|
|
| Middle | Python,А/Б | |
| Junior | Python,Кейс | |
| Avito | Middle |
SQL,Кейс,Мат.стат,Теорвер
|
| Middle |
Python,А/Б,Кейс
|
|
| Junior | Python,Кейс | |
| Middle | Python,Кейс | |
| Intern | Python,SQL | |
| Senior | Python | |
| Middle | Python,SQL | |
| Middle |
Dashboard,Excel
|
|
| Middle | SQL,Кейс | |
| Middle | ML,Python | |
| Middle | А/Б,Кейс | |
| Cian | Middle |
Dashboard,SQL,Кейс
|
| CL Медикал | Junior | Dashboard |
| Junior | SQL | |
| Codex | Junior | Dashboard |
| Middle |
Dashboard,Python,SQL,Кейс
|
|
| Junior |
Кейс,Мат.стат,Теорвер
|
|
| Middle | Dashboard | |
| Middle | Excel,SQL | |
| Middle | Python | |
| Middle | Python,SQL,А/Б | |
| Junior | Кейс | |
| Middle |
SQL,А/Б,Кейс,Теорвер
|
|
| Middle | Python,Кейс | |
| Middle |
Python,SQL,А/Б,Кейс
|
|
| Middle | Dashboard | |
| Middle | А/Б | |
| Middle |
Python,SQL,А/Б,Кейс
|
|
| Middle |
Dashboard,Python,SQL
|
|
| Junior | SQL | |
| Middle | SQL | |
| Middle | SQL | |
| Junior | Кейс | |
|
Dashboard,Excel
|
||
| Junior | Python,Кейс | |
| Intern | SQL | |
| Junior | Кейс | |
| Intern | SQL,А/Б,Кейс | |
| SQL | ||
| ivi | Junior | SQL |
| Middle | SQL,А/Б,Кейс | |
| Junior | Python,Теорвер | |
| Middle | Python | |
| MIddle | SQL,А/Б,Кейс | |
| Middle |
Python,SQL,Кейс
|
|
| Junior | SQL,Кейс | |
| Middle |
Python,SQL,Кейс
|
|
| Middle | Python,Кейс | |
| Junior |
Dashboard,Pandas,Python
|
|
| Middle | А/Б,Кейс | |
| Middle |
Python,SQL,Кейс
|
|
| Middle | SQL | |
| Junior | Python,SQL | |
| Junior |
Dashboard,Excel
|
|
| Middle | Python,А/Б | |
| Ozon | Middle |
Python,SQL,А/Б,Мат.стат,Теорвер
|
| Senior |
Python,А/Б,Кейс
|
|
| Middle |
Python,SQL,Кейс,Теорвер
|
|
| SQL | ||
| Middle |
ML,Python,Кейс,Теорвер
|
|
| Middle |
Dashboard,Excel,ML,Python,SQL
|
|
| Middle |
Dashboard,Python
|
|
| Кейс | ||
| Middle | Python,SQL,А/Б | |
| Middle |
Dashboard,SQL,А/Б
|
|
| Junior | SQL | |
|
Python,А/Б,Кейс,Теорвер
|
||
| Middle |
Presentation,SQL
|
|
| Middle | Excel | |
| Middle | Python,SQL | |
| Middle | Excel,Python | |
| Middle | Python | |
| Кейс | ||
| Junior |
Кейс,Мат.стат,Теорвер
|
|
| Middle | Кейс | |
| Intern | SQL | |
| Middle | Python,SQL | |
| Unknown 1 | Кейс | |
| Unknown 2 |
Мат.стат,Теорвер
|
|
| Unknown 3 | А/Б,Кейс | |
| Unknown 4 | SQL | |
| Unknown 5 | SQL | |
| Unknown 6 | SQL,А/Б,Кейс | |
| Unknown 7 | Dashboard,SQL | |
| Unknown 8 |
SQL,Мат.стат,Теорвер
|
|
| Unknown 9 | А/Б | |
| Unknown 10 | А/Б, Кейс | |
| Unknown 11 | А/Б,Теорвер | |
| Unknown 12 | SQL | |
| Unknown 13 | Junior |
Pandas, Python, Кейс,Мат.стат
|
| Unknown 14 | SQL,А/Б,Кейс | |
| Unknown 15 | Dashboard | |
| Junior |
Dashboard,Python,SQL
|
|
| Senior | Python,Кейс | |
| Middle | SQL,Кейс | |
| Senior | SQL | |
| Junior | SQL | |
| Python | ||
| Middle |
Python,SQL,Кейс
|
|
| Middle |
Python,SQL,Кейс
|
|
| Middle | SQL | |
| Intern | Python | |
| Middle | Python,SQL | |
| Junior | ML,Python,Кейс | |
| Middle |
Dashboard,SQL,Кейс
|
|
| Middle |
SQL,Кейс,Мат.стат,Теорвер
|
|
| Junior | Excel,SQL,Кейс | |
| Middle |
Python,SQL,Кейс
|
|
| Middle | А/Б | |
| Middle |
Python,SQL,А/Б,Кейс
|
|
| Middle | SQL,Кейс | |
| Junior | Excel,Кейс | |
| Junior | SQL,Кейс | |
| Junior |
Dashboard,Python,SQL
|
|
| ВК Deus Craft | Junior | Excel,Кейс |
| ВК | Junior | Кейс |
| Middle | ML,Python,Кейс | |
| Middle |
Python,SQL,А/Б,Кейс
|
|
| Middle | Excel | |
| Middle |
Python,SQL,Кейс
|
|
| Газпром | Middle | Кейс |
| Junior |
Excel,Python,SQL
|
|
| Middle | Python,SQL | |
| Senior | SQL,А/Б,Кейс | |
| Middle |
Python,SQL,А/Б,Кейс
|
|
| Junior | Excel | |
| Intern | SQL | |
| Junior | Excel,SQL,Кейс | |
| Middle | ML,Python,SQL | |
| Junior | Excel,Кейс | |
| Intern | SQL | |
| Middle | Python | |
| Intern | SQL | |
| Middle | Excel | |
| Junior | Excel | |
| Junior |
Python,SQL,Кейс
|
|
| Junior | Excel | |
| Middle | Excel,SQL | |
| Junior | SQL,А/Б,Кейс | |
| Intern | Python,SQL | |
| Middle |
Python,Кейс,Теорвер
|
|
| Росмэн | Junior | Excel,SQL |
| Middle | Excel | |
| Intern | SQL | |
| Excel,SQL | ||
| Junior |
Dashboard,Excel,Python,SQL
|
|
| Middle |
Python,SQL,Кейс
|
|
|
Pandas,Python,SQL
|
||
| Middle |
Excel,Python,Кейс
|
|
| Северсталь | Junior | Excel |
| Junior | Excel | |
| Junior | Excel,Python | |
| Спортмастер | Intern | Excel,SQL |
| Middle |
Python,SQL,Теорвер
|
|
| Junior | Dashboard,SQL | |
| Middle | SQL,А/Б,Кейс | |
| Junior | Excel,Кейс |
