Аналитика

Что это?ПодготовкаПет проектыТестовые заданияСобеседование

На рынке труда можно найти разные вакансии: аналитик данных, бизнесс аналитик, продуктовый аналитик, системный аналитик и так далее. Единого мнения, кто такой аналитик нету и у каждой компании свое представление. Но всех этих аналитиков объединяет то, что они что-то анализируют. Чем крупнее компания, тем больше она может себе позволить дифференцировать задачи и под каждый класс задач выделять отдельную вакансию. В задачи аналитика в гипотетической компании может входить:

— сбор и анализ данных

— написание sql запросов

— проведения АВ теста

— выбор метрик для продукта

— генерирование продуктовых гипотез

— построение графиков и дашбордов

И так далее

Все эти задачи нужны, чтобы что-то проанализировать. Аналитика является популярным вариантом для начала карьера для тех, кто не нашел себя в разработке, кому ближе математика. С аналитике нередко начинают ребята, которым интересен дата сайнс и мл, ибо порог входа сюда намного ниже и все эти навыки в дальнейшем пригодятся в DS. Также по аналогичным причинам с аналитики начинают ребята, которым интересен менеджмент.
SQL:
Для начала советую ознакомиться с возможностями языка здесь. Для дальнейшего погружение разбираемся с этим тренажером: дальше 2го модуля можно не смотреть, также пропускаем про создания/удаление таблиц. Наконец единственное остается набивать руку в sql ex и читать документацию PostgreSQL.Сам синтаксис языка ботается за 2 дня.
Математика и Статистика:
В топовых компаниях точно спросят пару задач по математике: классическая и условная вероятность, логические задачи. По последнему советую разбирать комбинаторику, текстовые задачи в «Ленинградских математических кружках» и прорешивать problems.ru. По теор веру советую «Книжечку для экономистов», можно зайти там и дальше условной вероятности, ибо дальнейшие темы ключевые для освоения математической статистики. Материалы по ней смотрим в нашем тг здесь. Кстати, python прям отдельно на первых порах можно и не учить. Достаточно посмотреть этот туториал, а с остальным освоитесь, как станете реализовывать статистику в python.
Продуктовое понимание:
В этой секции будут спрашивать, а представляете ли вы вообще чем занимается аналитик. Для введения можно посмотреть на ютубе курс Тинькофф и углубиться, посмотрев ШМЯ. В последнем смотрим лишь нераскрытые темы, ибо смотреть полностью будет ту мач.

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

Пет проекты в первую очередь нужны как элемент вашего образования, чтобы отработать теорию на чем-то более реальном, чем задачи 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.

Здесь собраны тестовые задания на позицию продуктового аналитика и аналитика данных. Сборник постоянно обновляется, если у вас есть какие-то тестовые задания (на аналитика, мл, разработчика, любую позицию), прошу прислать их мне в лс тг: @vice22821, готов к обмену! Не забудьте указать компанию, позицию и прикрепить данные, если есть. Скромная часть заданий называется Unknown: означает, что по какой-то причине компания неизвестна. Ссылки тестовых ведут на телеграм. Эти тестовые задания мы активно разбираем на нашем курсе по аналитике.
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,Кейс
По этой ссылке в тг собраны собеседования и прочие полезные материалы по аналитике. Если у вас есть чем подобным поделиться пишите в тг @vice22821, в долгу не останемся!