01 / тестовое задание

Retentioneering:
тестовое задание для аналитика

Реальное тестовое с собеседования на Middle Analyst: исходный текст задания, как решать и частые ошибки.

02 / оригинальный текст

Текст тестового задания

Исходный текст задания без редактуры — так, как его прислали кандидату.

Данные к заданиюОткрыть данные →

Задание #1

На электростанции есть две одинаковые и независимые турбины. У каждой из них время до поломки подчиняется экспоненциальному распределению c известным параметром Tau, время до починки от момента поломки также экспоненциально распределено с известным параметром m. Известно, что в момент времени t=0 обе турбины работали исправно, какова вероятность, что хотя бы одна турбина будет исправна в момент времени T?

Задание #2

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

Задание #3

В файле sleep.csv приведено время засыпания одного и того же человека в разные дни.

Нужно обработать эти данные и указать такое время суток (с точностью до секунды), после которого с вероятностью 0.9 этот человек уже спит. Какова ошибка определения этого момента времени? Сколько нужно добавить дней наблюдения, чтобы уменьшить эту ошибку в 10 раз?

Задание #4

CEO крупного онлайн-магазина хочет внедрить персонализацию для пользователей, чтобы сайт подстраивался под поведение пользователей. Но разработка будет стоить очень дорого.

Датасет сырых данных доступен в файле test.zip. Описание датасета:

event_timestamp - серверное время,

current_path - адрес страницы, на которой находится пользователь

next_path - адрес страницы, на которую переходит пользователь

user_id - id пользователя,

session - номер сессии

os - операционная система

browser - браузер

mapped_event - размеченное событие

utm_source, utm_medium - параметры UTM

Основные события (mapped_event):

session_start - добавляется в начало сессии за секунду до первого события.

pass- оформление заказа

lost - добавляется через секунду после самого последнего события

session_end - добавляется в конце сессии, если это не последняя сессия пользователя через - - - - секунду после последнего события в сессии.

catalog_page - открытие страницы каталога,

OpenProductPage - открытие страницы продукта

main_page - главная страница

cart_page - страница корзины

search_result_page - страница результатов поиска

AddTo_Cart - добавление в корзину

Чтобы убедить руководство компании, CEO просит вас изучить данные о пользователях за 3 недели.

1. Кластеризуйте пользователей с точки зрения их поведения на сайте.

2. Для каждой группы составьте небольшое описание.

3. Сравните для каждой из групп конверсии в добавление в корзину (AddTo_Cart) и в оформление заказа (pass).

4. Проверьте, являются ли отличия в конверсиях статистически значимыми.

5. Предложите варианты персонализации для каждой из групп.

Задание #5

Вам дали датасет test_data_rete.csv, в котором содержатся логи перемещения пользователей по сайту заказчика. Данные уже предобработаны, информация о событии находится в поле ‘event_name’.

От вас требуется провести анализ полученных данных и научиться предсказывать факт покупки (событие ‘purchase’) за 20 шагов до неё.

1. Проведите кластеризацию пользователей. Какое число кластеров оптимально, почему? Обосновать

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

Какие есть метрики для определения оптимального кол-ва кластеров? Например, для KMeans

2. Какие различия вы можете заметить между получившимися группами пользователей? Дать качественную и количественную оценку.

Разницы в частотах встречаемости событий? Разница в вероятности конверсии в покупку? Что-нибудь еще?

3. Можете ли вы придумать дополнительные признаки для построения предсказательной модели? Если да – проверьте их влияние на конечный performance

Кажется, можно использовать метки кластеров для добавления дополнительной информации. Может что-нибудь еще?

4. Какую метрику вы выберете для предсказаний? Обосновать

ROC-AUC, accuracy, precision, recall, F1-score. Почему accuracy однозначно НЕ подходит?

5. Какая модель в итоге дала лучший результат? Предложить гипотезу почему именно она.

Линейные или нелинейные? Ансамблевые методы, решающие деревья, опорные вектора и регрессия. Всё можно найти в sklearn, попробуйте разные и сравните их результаты.

6. Какие события сильнее всего влияют на конверсию? Можете ли вы их выделить?

Feature importance в алгоритмах на решающих деревьях, коэффициенты при признаках у логистической регрессии, SHAP-score – методов выделить важные признаки достаточно.

Задание #6

Команда перформанс-маркетинга подготовила для вас выгрузку результатов рекламы в Яндекс Маркете (dataset_ymarket_offers.csv). В Яндекс Маркете платное размещение работает по модели CPC (Cost Per Click, оплата за клик). В сервисе показываются предложения со ссылками на магазин, а покупатели переходят на сайт для оформления заказа.

Датасет содержит статистику по магазинам и товарам Яндекс Маркета за месяц, поля:

store_id – id магазина

offer_id – id товара

clicks – количество кликов по данному товару

cost – расходы (стоимость кликов по данному товару)

orders_number – общее количество размещенных заказов по товару

revenue_value - доход с размещенных заказов

orders_number_conf – количество выкупленных заказов

revenue_value_conf –доход с выкупленных заказов

profit – прибыль

Команда перформанс-маркетинга планирует перераспределить расходы на более эффективные позиции (связка товар+магазин).

Вам нужно подготовить анализ товаров:

1. Постройте график – распределение расходов и дохода по топ 10 прибыльным offer_id (здесь независимо от магазина)

2. Посчитать показатели ДРР, ROAS, какие еще показатели вы бы добавили? Необходимо обосновать выбор.

3. Найти примеры товаров, где ДРР по размещенному заказу хорошее, а по выкупу плохое

4. Пусть если ДРР по размещенным менее 10% - то это «хорошее ДРР»

5. Если ДРР по выкупу более 10% - тогда это «плохое ДРР»

6. Найти товары, эффективные по соотношению прибыли и расходов. Обосновать

7. Найти товары, которые сильно отстают по доле своей выкупаемости от остальных товаров

8. Предложите по какому принципу увеличивать (понижать) бюджет на эффективные(неэффективные) товары, например коэффициент, зависящий от какого-либо показателя или нескольких показателей

03 / что проверяют

Что проверяет это задание

01

Матстатистика

Оценки, распределения и проверка гипотез.

02

Python

Обработка данных и расчёты: pandas, скрипты, автоматизация.

03

Продуктовый кейс

Разложить задачу, выбрать метрики и сделать выводы.

04 / как решать

Как подойти к решению

  1. 1

    Разберите условие: что именно просят посчитать и в каких разрезах.

  2. 2

    Сверьтесь с данными: какие таблицы есть, период и нужные фильтры.

  3. 3

    Решайте по шагам и фиксируйте промежуточные результаты и допущения.

  4. 4

    Доведите до финальных чисел и коротких выводов или рекомендаций.

05 / частые ошибки

Частые ошибки

  • Неверный период, разрез или единицы измерения.
  • Не учтены фильтры и сегменты из условия.
  • Решение без промежуточных шагов — только финальная цифра.
  • Нет выводов и рекомендаций по результату.
06 / хороший ответ

Каким должен быть сильный ответ

Хороший ответ — это не просто финальные числа или код. Работодатель должен увидеть, как вы думаете, как проверяете ограничения задачи и как оформляете результат.

  • короткое описание логики решения;
  • промежуточные таблицы, запросы и фильтры;
  • финальные значения по каждому пункту задания;
  • понятные выводы и рекомендации.
07 / похожие задания

Похожие задания

08 / разборы в telegram

Хочешь больше таких разборов?

В Telegram-канале разбираю тестовые с собеседований, метрики и типичные ошибки кандидатов.

Подписаться в Telegram →
09 / следующий шаг

Разбираешь тестовые, но не уверен в решении?

На интенсиве разбираем реальные кейсы, A/B-секции, метрики, SQL, Python и типовые ошибки кандидатов.