На рынке труда можно найти разные вакансии: аналитик данных, бизнесс аналитик, продуктовый аналитик, системный аналитик и так далее. Единого мнения, кто такой аналитик нету и у каждой компании свое представление. Но всех этих аналитиков объединяет то, что они что-то анализируют. Чем крупнее компания, тем больше она может себе позволить дифференцировать задачи и под каждый класс задач выделять отдельную вакансию. В задачи аналитика в гипотетической компании может входить:
— сбор и анализ данных
— написание 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.
Здесь собраны тестовые задания на позицию продуктового аналитика и аналитика данных. Сборник постоянно обновляется, если у вас есть какие-то тестовые задания (на аналитика, мл, разработчика, любую позицию), прошу прислать их мне в лс тг: @vice22821, готов к обмену! Не забудьте указать компанию, позицию и прикрепить данные, если есть.
Скромная часть заданий называется Unknown: означает, что по какой-то причине компания неизвестна. Ссылки тестовых ведут на телеграм.
Эти тестовые задания мы активно разбираем на нашем курсе по аналитике.
| 585 Ювелирка | Junior | Excel,Python |
| A1 Data scientist | Junior | Python |
| Accenture | Middle | SQL,Кейс |
| Aigrind | Junior | Python,Кейс |
| Amazon | Junior | Python,SQL |
| Apalon Product | Middle | Excel,SQL |
| Aviasales Aviastats | Middle | Dashboard,Python |
| Aviasales Booking | Middle | Python,SQL,Кейс |
| Aviasales Commerce | Senior | А/Б,Кейс |
| Aviasales First Stage | Middle | Python,А/Б,Кейс |
| Aviasales Serp | Middle | Python,А/Б |
| Aviasales | Junior | Python,Кейс |
| Avito | Middle | SQL,Кейс,Мат.стат,Теорвер |
| AWEM | Middle | Python,А/Б,Кейс |
| Axlebolt | Junior | Python,Кейс |
| Babbel | Middle | Python,Кейс |
| Betera | Intern | Python,SQL |
| Bolt | Senior | Python |
| Bolt | Middle | Python,SQL |
| BOLT | Middle | Dashboard,Excel |
| Bookmate | Middle | SQL,Кейс |
| BST | Middle | ML,Python |
| Chibbis | Middle | А/Б,Кейс |
| Cian | Middle | Dashboard,SQL,Кейс |
| CL Медикал | Junior | Dashboard |
| CloudReports | Junior | SQL |
| Codex | Junior | Dashboard |
| Competo | Middle | Dashboard,Python,SQL,Кейс |
| Crazy Panda | Junior | Кейс,Мат.стат,Теорвер |
| Datasfera | Middle | Dashboard |
| Delivery | Middle | Excel,SQL |
| Doctolib | Middle | Python |
| Dodo Brands | Middle | Python,SQL,А/Б |
| Dodo Brands | Junior | Кейс |
| Driveback | Middle | SQL,А/Б,Кейс,Теорвер |
| EasyBrain | Middle | Python,Кейс |
| EasyBrain | Middle | Python,SQL,А/Б,Кейс |
| Elfsight | Middle | Dashboard |
| Fenomen Games | Middle | А/Б |
| FindMyKids | Middle | Python,SQL,А/Б,Кейс |
| Finstar Financial Group | Middle | Dashboard,Python,SQL |
| Finstar | Junior | SQL |
| Finstar | Middle | SQL |
| FlowWOW | Middle | SQL |
| FriendsOnly | Junior | Кейс |
| Genius Sport | Dashboard,Excel | |
| Gloria Jeans | Junior | Python,Кейс |
| Happy Games Studio | Intern | SQL |
| Happy Games | Junior | Кейс |
| Hello Fresh Growth | Intern | SQL,А/Б,Кейс |
| Home Credit Bank | SQL | |
| ivi | Junior | SQL |
| ivi | Middle | SQL,А/Б,Кейс |
| JetLend | Junior | Python,Теорвер |
| Journi | Middle | Python |
| Kaspi.kz | MIddle | SQL,А/Б,Кейс |
| kivork | Middle | Python,SQL,Кейс |
| LESTA | Junior | SQL,Кейс |
| Mains Lab | Middle | Python,SQL,Кейс |
| Mains_lab | Middle | Python,Кейс |
| MediaScope | Junior | Dashboard,Pandas,Python |
| Miro | Middle | А/Б,Кейс |
| Movavi | Middle | Python,SQL,Кейс |
| Musescore | Middle | SQL |
| My Games | Junior | Python,SQL |
| Nortas Analitics | Junior | Dashboard,Excel |
| Ostrovok | Middle | Python,А/Б |
| Ozon | Middle | Python,SQL,А/Б,Мат.стат,Теорвер |
| Playrix | Senior | Python,А/Б,Кейс |
| Realweb Camp | Middle | Python,SQL,Кейс,Теорвер |
| Rekor | SQL | |
| Retentioneering | Middle | ML,Python,Кейс,Теорвер |
| Ridotto | Middle | Dashboard,Excel,ML,Python,SQL |
| Saber Interactive | Middle | Dashboard,Python |
| Samsung | Кейс | |
| ScoreWarrier | Middle | Python,SQL,А/Б |
| Semrush | Middle | Dashboard,SQL,А/Б |
| Skypro | Junior | SQL |
| Skytec Games | Python,А/Б,Кейс,Теорвер | |
| Sportradar | Middle | Presentation,SQL |
| STARTEAM | Middle | Excel |
| STONE | Middle | Python,SQL |
| Sunlight | Middle | Excel,Python |
| Technesis | Middle | Python |
| Teikametrics | Кейс | |
| Tinkoff | Junior | Кейс,Мат.стат,Теорвер |
| Tinkoff Weekend | Middle | Кейс |
| Tinkoff | Intern | SQL |
| Twelve x Twelve | 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 | |
| Valiotti Analitycs | Junior | Dashboard,Python,SQL |
| Vinted | Senior | Python,Кейс |
| Vizor | Middle | SQL,Кейс |
| Vizor Games MArketing | Senior | SQL |
| WhoIsBlogger (WIB) | Junior | SQL |
| Wolt | Python | |
| World of Tanks | Middle | Python,SQL,Кейс |
| World of Warships | Middle | Python,SQL,Кейс |
| WoWS | Middle | SQL |
| X5 | Intern | Python |
| Xsolla | Middle | Python,SQL |
| YallaMarket | Junior | ML,Python,Кейс |
| Zebomba Game | 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, в долгу не останемся!