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

Делимобиль:
тестовое задание для продуктового аналитика

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

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

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

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

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

Задание #1

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

Напишите запрос SQL, или код на python, выводящий машину которая больше всего стояла без движения в течение дня.

Задание #2

Каждый день на сайте онлайн сервиса совершается более 100 тысяч платежей через разные банки. Чтобы отследить факт списания и возврата используются сверки. Обычно в сверки участвуют два источника: банк и данные компании.

В распоряжении имеется две таблицы с фактами платежей из банка и данные компании.

На основании таблиц с движением платежей необходимо написать SQL запрос для вывода дельты между данными банка и компании с разбивкой по дням и номеру карты.

Сравнение должно происходить по трем параметрам: card_number, dateCreated, status. В реальной жизни итоговым результатом будет отчет для финансового контроля с дельтой списания и возврата по дням с разбивкой на карты.

Подсказка: Может быть такое, что списания и возвраты в банке и в компании происходят в разные дни, но при этом общая сумма за весь период по карте будет одинаковая. В таких случаях разницы нет и дельта должна быть равна 0.

Пример данных ниже.

fct_bank dateCreated card_number status amount 05.03.2015 4567XXXXXXXX1234 Списание 9167 02.05.2015 4567XXXXXXXX9562 Списание 1568 10.06.2015 4567XXXXXXXX4852 Списание 5842 18.08.2015 4567XXXXXXXX3615 Списание 19853 29.07.2016 4567XXXXXXXX1234 Списание 9654 22.08.2016 4567XXXXXXXX1234 Возврат -9654 02.09.2016 4567XXXXXXXX9562 Списание 96344 07.03.2017 4567XXXXXXXX7643 Списание 55647

fct_ott dateCreated card_number status amount 05.03.2015 4567XXXXXXXX1234 Списание 9167 02.05.2015 4567XXXXXXXX9562 Списание 1568 08.06.2015 4567XXXXXXXX4852 Списание 5842 18.08.2015 4567XXXXXXXX3615 Списание 19800 15.07.2016 4567XXXXXXXX1234 Списание 9654 21.08.2016 4567XXXXXXXX1234 Возврат -9654 02.09.2016 4567XXXXXXXX9562 Списание 96344

Задание #3

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

По имеющимся данным оцените был ли эксперимент успешным и стоит ли оставлять данный функционал (проанализируйте данные в свободной форме)

Тест шёл 1 неделю.

В приложенных файлах три датасета:

ab_cart – инфо по каждому клиенту с какого по какое время действовала скидка 15% (каждый такой кейс, т.е. не уникально по пользователям) rents_test -–инфо об арендах (неделя до теста, неделя теста) sessions_test -–инфо о заходах пользователя в приложение и конечном бронировании(car_id_reserved)

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

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

01

Python

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

02

SQL

Выборки, агрегаты, джойны и оконные функции для анализа данных.

03

A/B-тесты

Дизайн эксперимента, метрики, стат-значимость и интерпретация.

04

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

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

04 / как решать

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

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

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

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

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

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

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

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

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

08 / разборы в telegram

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

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

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

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

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