Средняя сложностьСредний уровень

Тестовое задание по Data от компании LESTA

Тестовое задание на позицию Data Analyst

Во вложении Вы получили SQLite3 базу данных со случайной выборкой из free-to-play игры «Мир Кораблей». Выполните задания ниже, используя любые инструменты для анализа и визуализации данных на ваше усмотрение.

Исходные данные

1. Таблица arenas

Характеристики боя (режим, карта, длительность и т.п.)

СтолбецКомментарий
arena_idУникальный ID боя
periphery_idУникальный ID кластера
winner_team_idID команды-победителя, -1 означает ничью
start_dtВремя начала боя
duration_secПродолжительность боя (в секундах)
map_type_idID игровой карты (ref catalog_items, категория ‘ARENA_TYPES’)
team_build_type_idID игрового режима (ref catalog_items, категория ‘TEAM_BUILD_TYPE’)
battle_level_idID уровня боя (обычно максимальный уровень корабля в бою)

2. Таблица arena_members

Данные по пользователям в сыгранных боях: техника игрока, успехи в бою и т.п. Отрицательные значения ID игроков соответствуют ботам.

СтолбецКомментарий
arena_idУникальный ID боя
periphery_idУникальный ID кластера
account_db_idID игрока. Отрицательный ID - игроки, управляемые ИИ (боты)
team_idКоманда игрока, обычно 0 или 1
clan_db_idID клана
vehicle_type_idИдентификатор используемого корабля
ships_killedКоличество уничтоженных вражеских кораблей
planes_killedКоличество уничтоженных вражеских самолетов
damageУрон, нанесенный вражеским кораблям
team_damageУрон, нанесенный по союзникам
received_damageУрон, полученный в бою
regen_hpВосстановленное здоровье
max_hpМаксимальный объем здоровья корабля
is_alive1 – если корабль игрока «выжил к концу боя»
distanceПроделанный путь
creditsЗаработанные кредиты
expЗаработанный опыт

3. Таблица glossary_ships

Словарь для расшифровки техники.

4. Таблица catalog_items

Словарь для расшифровки других игровых сущностей (например, игрового режима).

Часть 1. Анализ игровых логов

Задание 1.1

Проанализируйте популярность игровых режимов (team_build_type_id из таблицы arenas) среди игроков и визуализируйте наблюдения. Объясните выбранный подход к анализу и визуализации.

Задание 1.2

Проанализируйте показатели эффективности кораблей, выбрав методологию на ваш взгляд. Визуализируйте результаты и объясните выбор методологии.

Часть 2. Разработка SQL-запросов

Задание 2.1

Определите топ 5% игроков по суммарному урону за все бои. Запрос должен возвращать таблицу:

account_db_idtotal_damage

Задание 2.2

Для каждого игрока из задания 2.1 определите корабль, на котором он нанес больше всего урона за все бои. Ограничьте выгрузку 10-ю лучшими результатами. Запрос должен возвращать таблицу:

account_db_idship_namedealt_damage

Оформление результатов

  • Результаты заданий части 1 оформить в PDF-отчете для менеджмента. Приложить отдельный архив с кодом.

  • Результаты заданий части 2 предоставить в виде текстового файла с SQL-запросами.