Тестовое задание
на продуктового аналитика
Nexters

Задание #1
Дано:
Привет! Это тестовое задание на позицию джуниор-аналитика в Hero
Wars: Dominion Era!

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

Вопрос 1.

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

def filter_active_players(active_days_list):
return __________

1. `[days for days in active_days_list if days >= 10]`
2. `[days for days in active_days_list if days > 10]`
3. `[days if days > 10 for days in active_days_list]`
4. `[days in active_days_list if days >= 10]`


Вопрос 2.

Представьте, что в игре игроки получают бонусные предметы при
покупке пакетов. Эти бонусы увеличивают средний размер заказа (AoV). Напишите
функцию, которая увеличивает AoV на 10%, если игрок приобрел бонусный пакет.
Какой код правильно реализует это, выберите все подходящие варианты?

def increase_AoV_with_bonus(aov, has_bonus):
return __________

1. `aov * 1.1 if has_bonus else aov`
2. `aov + has_bonus * 0.1`
3. `aov / 1.1 if has_bonus else aov`
4. `aov * has_bonus if aov > 10 else 0`


Вопрос 3.

У вас есть таблица `game_sales`, содержащая данные о продажах в
разных играх. Какие SQL-запросы выберут игры, где суммарный доход от платящих
игроков превышает 50 000?

1. SELECT game_name, SUM(revenue)
   FROM game_sales
   GROUP BY game_name HAVING SUM(revenue) > 50000;`

2. SELECT game_name
   FROM game_sales
   GROUP BY game_name WHERE SUM(revenue) > 50000;

3. SELECT game_name, revenue
   FROM game_sales
   WHERE revenue > 50000
   GROUP BY game_name;

4. SELECT game_name, SUM(revenue) > 50000
   FROM game_sales
   GROUP BY game_name;


Вопрос 4.

Какие SQL-запросов ниже вернут список игр, где доход на одного
пользователя выше среднего по всем играм?

1. SELECT *
   FROM games
   WHERE revenue_per_user > (SELECT AVG(revenue_per_user) FROM games);

2. SELECT *
   FROM games
   WHERE revenue_per_user > AVG(revenue_per_user);

3. SELECT *
   FROM games
   WHERE revenue_per_user IN (SELECT revenue_per_user
                              FROM games
                              WHERE revenue_per_user > AVG(revenue_per_user));

4. SELECT *
   FROM games
   WHERE revenue_per_user > ALL (SELECT AVG(revenue_per_user) FROM games);


Вопрос 5.

У вас есть две таблицы: `active_players` и `paying_players`. Какие
запросы вернут список имён игроков, которые либо активны, либо платят?

1. SELECT player_name
   FROM active_players
   UNION
   SELECT player_name
   FROM paying_players;

2. SELECT player_name
   FROM active_players
   JOIN paying_players
   ON active_players.player_name = paying_players.player_name;

3. SELECT player_name
   FROM active_players
   UNION ALL
   SELECT payer_name
   FROM paying_players;

4. SELECT DISTINCT player_name
   FROM active_players
   UNION paying_players;
Задание #2
Дано:
Вместе с этим письмом мы прилагаем файл

В файле HWDE Jun.PA Test Task.xlsx две вкладки:
- LiveOps
- A/B


Во вкладке LiveOps есть две таблицы:

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


Часть данных пропущена, мы рекомендуем восстановить эти данные,
опираясь на вторую таблицу – с историческими значениями метрик ивентов.
При построении «прогноза», пожалуйста, исходите из следующих
предпосылок:

- метрики ивентов в «будущем» в точности соответствуют историческим
значениям
- выручка в каждый день определяется только DAU и характеристиками
ивентов
- все необходимые новые данные можно получить из тех, что уже есть


Во вкладке A/B есть две таблицы:

- со значениями метрик по результатам А/В теста
- с количеством игроков, попавших в каждую из групп сплита.

А: тестовая группа, которая получила новую фичу
В: контрольная, продукт без изменений.

Вам необходимо проанализировать полученные результаты (в том числе
рассчитать доверительный интервал для метрики удержания игроков) и
сделать вывод о целесообразности внедрения новой фичи в продукт.
Вопросы:

Вопрос 1.

Каково значение средней доходности (ARPDAU) на игрока у ивента
"Распродажа хард валюты"

1. $1,72
2. $1,75
3. $1,56
4. $0,15


Вопрос 2.

Какой день был самым прибыльным в месяце?

1. 8 июля
2. 15 июля
3. 22 июля
4. 29 июля


Вопрос 3.

Если на основании известных значений DAU и расписания ивентов, с
опорой на исторические метрики (при допущении, что на выручку не влияет
никаких иных факторов, кроме указанных в таблице и значения метрик ивентов не
меняются во времени) восстановить значение выручки, то какова итоговая сумма
выручки за месяц (округление до $ тыс.)?

1. $ 599 тыс.
2. $ 871 тыс.
3. $ 1 040 тыс.
4. $ 987 тыс.


Вопрос 4.

Какое из представленных значений соответствует границам 95%
доверительного интервала ретеншена 14-го для контрольной группы?

1. для расчета ДИ недостаточно данных
2. 72.14% – 72.62%
3. 69.92% – 70.17%
4. 69.81% – 70.29%


Вопрос 5.

По результатам проведенного анализа какую рекомендацию вы могли
бы дать: стоит ли релизить фичу и делать ее доступной всей аудитории или стоит
отказаться от такого релиза? Пожалуйста, подкрепите свои выводы наблюдениями
из данных.
готовишься к СОБЕСАМ на продуктового аналитика?
Мой онлайн-интенсив по подготовке к собеседованиям поможет тебе освоить навык прохождения всех этапов собеседования и получить оффер на 30% больше и в 2 раза быстрее
Узнать подробнее
хочешь поделиться решением или заданием с собеседования?

Оставь свои контакты через форму, и я свяжусь с тобой в течение 24 часов
© No Data No Growth, 2024