Тестовые задания по Data
Здесь собраны реальные тестовые задания, которые дают соискателям на стажировках и junior-позициях. Эти задания помогут лучше подготовиться к отбору, потренироваться и пополнить портфолио
Avito • Лёгкая сложность
Тестовое задание по Data от компании Avito
Задача 1. 5 людей различного возраста случайным образом садятся за круглый стол. Какова вероятность того, что они рассядутся по возрастанию или по убыванию возраста? Задача 2. Вы подбрасываете кубик (6 граней), после чего у вас есть две возможности: 1. Взять себе сумму $, равную выпавшему на кубике числу (выпало 3 – получаете 3$) 2. Отклонить результат первого броска и подбросить кубик второй раз. После чего уже взять себе столько $, сколько выпало во второй раз (второй бросок отклонять уже нельзя) Какую стратегию нужно выбрать, чтобы максимизировать ожидаемую прибыль (при каких значениях первого броска нужно перебрасывать?) Чему равна ожидаемая прибыль при этой стратегии (математическое ожидание)? Задача 3. В БД есть 3 таблицы: • Employee (empid, empname) – содержит ФИО сотрудников • Employee_timesheet (empid, date, num_of_hours) - содержит кол-во отработанных сотрудниками часов по дням • Employee_hourly_rate (empid, hourly_rate) – содержит часовую ставку каждого сотрудника Напишите SQL-запрос, который посчитает зарплату по каждому сотруднику по месяцам. Задача 4. Чтобы между пользователями Авито было больше доверия, а жизнь мошенников стала сложнее, мы решили попробовать ввести систему отзывов: покупатель может оставить отзыв на продавца. Отзыв может быть просто рейтингом (1-5 звездочек), а может содержать дополнительно какой-то произвольный текст. 1. Предложите метрики, по которым можно будет следить за прогрессом такого проекта и определять его успешность 2. Поскольку Авито не магазин, а площадка для связи покупателя и продавца, мы в большинстве случаев не знаем, произошла ли в действительности сделка и на каких условиях. Для большинства сделок последнее, что нам известно - покупатель нажал кнопку просмотра телефона продавца или связался с ним в чате. Также мы всегда знаем логин (привязанный к email и телефону) продавца, но покупатель может быть незалогиненным. В связи с этим кажется, что есть большой риск накрутки отзывов и недобросовестного использования системы: например, профессиональные участники будут пытаться оставлять негативные отзывы на своих конкурентов и хвалебные на себя. Предположим, что система некоторое время уже работает и у нас есть данные по отзывам и всей активности клиентов: что продавал, что искал, на каких объявлениях смотрел телефоны и т.п. Как оценить масштабы накрутки, т.е. долю фальшивых отзывов? Задача 5. Представьте, что вы аналитик в крупном интернет-магазине. За последний месяц факт продаж оказался на 15% ниже прогноза и вам необходимо выяснить, в чем причина. Опишите, как бы вы решали эту задачу: какие гипотезы вы бы стали проверять, каким образом и какие данные вам для этого потребуются.
Альфа Банк • Средняя сложность
Тестовое задание по Data от компании Альфа Банк
#Тестовое задание для продуктового аналитика мобильного и интернет-банка Задание 1 (SQL) Приведите в качестве решения скриншот с результатом, скрипт (или ссылку на запрос в среде, в которой решали задания, например http://sqlfiddle.com/), а также свои комментарии относительно предложенного решения. **SQL1** Отобрать клиентов по г. Москва с суммарными остатками по клиенту от 20 000 на последнюю дату. create table #Клиенты (client_id varchar(1), FIO varchar (255) , Region varchar(50), account_num int) insert into #Клиенты values ('A','Иванов','Москва',111), ('A','Иванов','Москва',222), ('B','Петров','Иваново',333), ('C','Сидоров','Москва',444) create table #Cчета ([Date] date, Summa_USD money, Account_num int) insert into #Cчета values ('2012-01-01',15000,111), ('2012-02-01',10000,111), ('2012-02-01',5000,222), ('2012-03-01',30000,333), ('2012-04-01',20000,444) SQL2 Таблица #oper хранит информацию о количестве произведенных операций на каждую календарную дату. Вывести на каждую дату количества операций, совершенное с начала месяца по указанную дату включительно накопительным итогом. create table #oper (date date, cnt int) insert into #oper values ('2019-06-02', 1985), ('2019-06-03', 1577), ('2019-06-04', 1597), ('2019-06-05', 1468), ('2019-07-06', 82), ('2019-07-08', 1689), ('2019-07-09', 1556), ('2019-07-10', 1480), ('2019-07-11', 1405), ('2019-07-12', 1502) SQL3 Даны месячные срезы сегментов клиентов, нужно получить по каждому клиенту периоды действия каждого сегмента. create table #segment ([date] date, ClientID varchar(6),SegmentID int) insert into #segment values ('2018-01-31' ,'A11111', 2), ('2018-02-28' ,'A11111', 2), ('2018-03-31' ,'A11111', 1), ('2018-04-30' ,'A11111', 1), ('2017-11-30' ,'B22222', 1), ('2017-10-31' ,'B22222', 1), ('2017-09-30' ,'B22222', 3), ('2017-09-30' ,'C33333', 1), ('2017-10-31' ,'C33333', 1) Задание 2 (разметка и метрики) Партнерская витрина - это набор предложений партнеров банка, которые предоставляют различного рода скидки нашим клиентам. <p float="left"> <img src="media/1.png" width="200" /> <img src="media/2.png" width="200" /> <img src="media/3.png" width="200" /> </p> На витрину можно перейти разными способами: через внешние и внутренние коммуникации (SMS, email, push, баннеры/уведомления внутри приложения). Партнеры могут предоставлять данные о совершенных нашими клиентами конверсиях (транзакциях). ● Какие наборы метрик для оценки эффективности партнерской витрины вы можете предложить? ● Опишите возможный набор систем и способы их интеграции, которые позволят осуществлять трекинг полного пути пользователя и его конверсионных действий. ● Какие сырые данные нужны и в каком виде для полноты картины? ● Какая разметка коммуникаций и действий пользователя вам понадобится для отслеживания всего пути клиента? Задание 3 (когортный анализ) Приведите в качестве решения скриншот с результатом, а также свои комментарии относительно предложенного решения (с указанием среды, в которой решали задания). в приложенном файле хранятся данные об активности клиентов с сентября 2021 года по февраль 2022 Необходимо на основе этих данных провести когортный анализ Данные: [data_test.csv](https://raw.githubusercontent.com/Propsih/test/main/data_test.csv) Описание полей: CLIENT_ID - идентификатор клиента; VALUE_DAY - отчетная дата; DIGITAL_30_CNT - кол-во входов в мобильное приложение за последние 30 дней на отчетную дату; TRAN_ACTIVE_30_CNT - кол-во транзакций в мобильном приложении за последние 30 дней на отчетную дату; OPER_ACTIVE_30_CNT - кол-во операций (транзакции+нефинансовые операции) в мобильном приложении за последние 30 дней на отчетную дату ● постройте визуальное представление удержания клиентов в статусе: ○ активных клиентов банка (наличие строки для клиента на отчетную дату); ○ диджитал активных (активных в мобильном приложении: наличие хотя бы одного входа); ○ операционно активных; ○ транзакционно активных; ● какие выводы можно сделать на основе этих данных?; ● если построить проникновение транзакционно активных клиентов в когорты диджитал активных клиентов, то мы увидим, что существенная часть клиентов использует мобильное приложение, но не совершает транзакции (платежи и переводы) в нем. Какие гипотезы такого поведения можно предположить? Как их можно проверить ?; ● как можно исправить эту ситуацию и увеличить проникновение транзакционно активных клиентов в диджитал активных? Задание 4 (портфолио) Сделайте мини-портфолио по 2-3 сделанным вами ранее отчетам/исследованиям (чувствительную информацию можете упустить, если прикладываете скрины отчетов - “заблюрить” значения): ● какая цель и задачи стояли, какие пользователи результата, ● для исследований - какие методы и инструменты были выбраны, ● опишите источники данных, требовались ли доработки в источниках для обеспечения полноты данных и для матчинга, ● какие инструменты использовались для выгрузки данных из источников и для их объединения, для автоматизации, ● каким образом производился матчинг данных разных систем-источников, ● какие средства визуализации использовались и каким образом выглядел конечный результат.
Самокат • Средняя сложность
Тестовое задание по Data от компании Самокат
Привет! Всего 3 задания ---------- 1 задание ---------- Нужно на основе приложенных выгрузок сделать отчет в Power BI и отправить файл .pbix (если файл не влезает в почту - положи его на гугл диск и пошарить ссылкой) Обратно слать выгрузки не нужно. Требования к отчету - представь, что это все данные, которые вообще есть и ты делаешь первый в компании отчет. Твоя задача выжать из этих выгрузок максимум пользы. Какие показатели посчитать, какие визуализации выбрать и как организовать отчет - твой выбор. Выгрузки: - warehouses - products - orders - order_lines В выгрузках рандомные данные, но стоит воспринимать их как фактические. Всю обработку нужно делать внутри Power BI - исходные файлы оставь как есть. Бонус: Если найдешь что-то интересное (аномалии, тренды, зависимости, etc.) - оформи свои мысли в ворде, сопроводив скринами визуализаций из Power BI и отправь файл .docx Если хочется сделать в формате презентации или описать внутри Power BI - тоже гуд. ---------- 2 задание ---------- Выгрузить список user_id тех пользователей, кто купил за период 1-15 августа 2 любых корма для животных, кроме "Корм Kitekat для кошек, с кроликом в соусе, 85 г". Отправить файл .xls ---------- 3 задание ---------- Напиши SQL запрос к воображаемой БД, которая имеет структуру как у тебя получилось в 1 задании в Power BI. Т.е. те же 4 таблицы, те же ключи и те же поля. Запрос должен вернуть топ 5 самых часто встречающихся товаров в первых заказах пользователей в СПб за период 15-30 августа. -- После того как сделаешь - отправляй на почту HR. Удачи :)
ivi • Средняя сложность
Тестовое задание по Data от компании ivi
Структура данных Структура данных Таблица просмотров контента – `content_watch` Один просмотр контента - одна запись | **watch_id** | **show_date** | **show_duration** | **platform** | **user_id** | **utm_medium** | **content_id** | |---------------|----------------------|--------------------|--------------|-------------|----------------|----------------| | 10971121570 | 07.01.2018 14:37 | 1340 | 583 | 1553139 | organic | 314472 | | 4458319751 | 12.01.2018 15:00 | 12432 | 353 | 1554866 | organic | 314472 | | 31382550 | 08.02.2018 14:39 | 1800 | 10 | 5255577 | organic | 314472 | | 11254336994 | 07.07.2017 17:56 | 210 | 11 | 1554866 | organic | 314472 | | 1231646730 | 01.01.2016 12:48 | 4685 | 11 | 1554866 | organic | 132271 | | 4212172051 | 12.08.2018 10:52 | 472 | 11 | 1554866 | organic | 314480 | | 8909218338 | 09.05.2017 0:55 | 297 | 583 | 9462609 | direct | 127399 | | 1904761857 | 24.09.2018 19:31 | 1635 | 9 | 320756 | organic | 127399 | | 17947987 | 30.10.2018 4:45 | 854 | 353 | 1547421 | referral | 184673 | | 6077839073 | 07.12.2017 23:58 | 4571 | 353 | 4066590 | organic | 222161 | Таблица контента – `content` | **content_id** | **compilation_id** | **episode** | **paid_type** | |----------------|--------------------|-------------|---------------| | 314472 | 9570 | 1 | AVOD | | 132271 | NULL | NULL | SVOD | | 314480 | 9570 | 2 | AVOD | | 127399 | 9570 | 6 | TVOD | | 184673 | 7608 | 16 | AVOD | | 222161 | NULL | NULL | AVOD | Задание 1 **Составьте SQL-запросы. Укажите, какой диалект SQL вы используетеНа каждый день количество просмотров отдельно по монетизациям SVOD и AVOD на платформах 10 и 11 за последние 30 дней.** - **Ежемесячный ТОП-5 сериалов и ТОП-5 единичного контента по количеству смотрящих людей** - **Список пользователей, у которых вчера был сначала просмотр с organic, а сразу следом за ним - просмотр с referral** Задание 2 Составьте SQL-запросы. Придумайте, как оценить показатели, и напишите запросы для расчёта придуманных метрик. Представьте, что в вашем распоряжении есть все ресурсы по сбору статистики. Если вам необходимы дополнительный данные, то опишите, чего не хватает в тестовой базе, чтобы посчитать нужные метрики. - **"Цепляемость" и "крутость" сериала. Нужна какая-то метрика, которая при наличии трёх-четырёх серий сериала позволит сравнить этот сериал по "крутости" с другими сериалами.** - **Ретеншн всех пользователей сервиса. Нужно просегментировать аудиторию, рассчитать её ретеншн по сегментам и дать рекомендации по тому, как увеличить ретеншн каждого из сегментов**
без ограничений.
Чтобы получить полный доступ,
вам необходимо зарегистрироваться.