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

Aviasales:
тестовое задание для продуктового аналитика

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

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

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

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

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

Задание #1

У нас есть сервис для покупки дешевых авиабилетов. Основная воронка:

Юзер зашел на сайт

Нажал «искать билеты»

Открыл конкретный билет

Выбрал предложение конкретного партнера и перешел к нему на сайт

Купил билет на сайте. Партнер платит нам комиссию за покупку билета.

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

Какие данные и метрики важно исследовать при предварительном анализе фичи? Какие факторы необходимо учесть?

Какой будет дизайн теста данной фичи?

На какие показатели ориентироваться при принятии решения об эффективности работы фичи?

Задание #2

У нас есть датасет с данными по пользовательским поискам авиабилетов и открытиям экрана билета из выдачи. В рамках одного поиска пользователь может как открыть экран билета несколько раз, так и не открыть его ни разу. Будем считать, что все поиски и открытия билетов были сделаны 20 августа 2024 года.

Датасет лежит в файле task_2_data.csv

У каждой записи есть:

user_id – ID пользователя

search_id – ID поиска

origin – город вылета

destination – город прибытия

depart_date – дата вылета

round_trip – тип поиска: «В одну сторону» или «Туда-обратно»

ticket_signature – ID билета

baggage – конфигурация багажа в билете

2.1 Посчитайте/визуализируйте с помощью Python:

Долю пользователей, которые открывали билет от общего количества пользователей, в зависимости от типа поиска;

Конверсию из поиска в открытие трёх или более уникальных билетов в разбивке по городам вылета;

Среднее количество уникальных открытий билетов в зависимости от конфигурации багажа.

2.2 Представим, что мы залили наш датасет в базу данных в таблицу serp_events. Напишите SQL-запросы, с помощью которых можно:

Посчитать какой процент пользователей от тех, кто сделал два или более поиска, открывает больше трёх уникальных билетов;

Определить какому из городов прибытия соответствует наибольшая средняя глубина поиска (разница между датой поиска и датой вылета);

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

Задание #3

Мы провели A/B-тест. Результаты лежат в файле task_3_data.csv

Группа a - дефолтный вариант. Группа b - с добавлением нового фичи на экран билета. Ключевая метрика - profit.

Вопросы:

Проанализируйте и интерпретируйте результаты.

Какие рекомендации по проведению эксперимента могли бы дать?

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

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

01

A/B-тесты

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

02

SQL

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

03

Python

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

04 / как решать

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

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

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

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

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

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

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

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

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

08 / разборы в telegram

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

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

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

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

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