Задание #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.
По результатам проведенного анализа какую рекомендацию вы могли бы дать: стоит ли релизить фичу и делать ее доступной всей аудитории или стоит отказаться от такого релиза? Пожалуйста, подкрепите свои выводы наблюдениями из данных.