Тестовые задания по Data Science

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

стэк>
Компания>
Сложность>

airbnb • Средняя сложность

difficulty stars

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

Задания по SQL (Airbnb) *Базы данных лежат в директории `/tests` под номером задания.* Сложность: легко [#74](tests/74/74.md) `Airbnb` Выведите идентификатор и признак наличия интернета в помещении. Если интернет в сдаваемом жилье присутствует, то выведите «YES», иначе «NO». Сложность: средняя [#59](tests/59/59.md) `Airbnb` Вывести пользователей, указавших Белорусский номер телефона. [#61](tests/61/61.md) `Airbnb` Выведите список комнат, которые были зарезервированы хотя бы на одни сутки в 12-ую неделю 2020 года. [#62](tests/62/62.md) `Airbnb` Вывести в порядке убывания популярности доменные имена 2-го уровня, используемые пользователями для электронной почты. [#64](tests/64/64.md) `Airbnb` Вывести количество бронирований по каждому месяцу каждого года, в которых было хотя бы 1 бронирование. [#65](tests/65/65.md) `Airbnb` Необходимо вывести рейтинг для комнат, которые хоть раз арендовали, как среднее значение рейтинга отзывов округленное до целого вниз. [#66](tests/66/66.md) `Airbnb` Вывести список комнат со всеми удобствами (наличие ТВ, интернета, кухни и кондиционера), а также общее количество дней и сумму... [#70](tests/70/70.md) `Airbnb` Необходимо категоризовать жилье на economy, comfort, premium по цене соответственно <= 100, 100 < цена < 200, >= 200. [#72](tests/72/72.md) `Airbnb` Выведите среднюю цену бронирования за сутки для каждой из комнат, которую бронировали хотя бы один раз. [#73](tests/73/73.md) `Airbnb` Выведите id тех комнат, которые арендовали нечетное количество раз [#76](tests/76/76.md) `Airbnb` Вывести имена всех пользователей сервиса бронирования жилья, а также два признака... [#78](tests/78/78.md) `Airbnb` Выведите всех пользователей с электронной почтой в «hotmail.com» [#79](tests/79/79.md) `Airbnb` Выведите поля id, home_type, price у всего жилья из таблицы Rooms. [#80](tests/80/80.md) `Airbnb` Создайте представление «Verified_Users» с полями id, name и email, которое будет показывает только тех пользователей... Сложность: высокая [#58](tests/58/58.md) `Airbnb` Добавить отзыв с рейтингом 5 на жилье, находящиеся по адресу "11218, Friel Place, New York", от имени "George Clooney" [#68](tests/68/68.md) `Airbnb` Для каждой комнаты, которую снимали как минимум 1 раз, найдите имя человека, снимавшего ее последний раз, и дату, когда он выехал [#69](tests/69/69.md) `Airbnb` Вывести идентификаторы всех владельцев комнат, что размещены на сервисе бронирования жилья и сумму, которую они заработали [#71](tests/71/71.md) `Airbnb` Найдите какой процент пользователей, зарегистрированных на сервисе бронирования, хоть раз арендовали или сдавали в аренду жилье.

ВТБ Аналитик данных • Средняя сложность

difficulty stars

Тестовое задание по Data Science от компании ВТБ Аналитик данных

Тестовое задание УЖЦК В данном тестовом задании предлагается выполнить несколько прикладных задач, связанных с псевдоданными УЖЦК. Описание данных В приложении к заданию есть файл database.db. Он представляет собой файл БД на фреймворке sqlite3. Синтаксис SQL, используемый в данной БД почти не отличается от ORACLE DB (более подробно можно почитать [тут](https://unetway.com/tutorial/sqlite-syntax). Запросы к базе можно сохранять сразу в pandas.Dataframe, используя следующий код: ``` import pandas as pd import sqlite3 as sql query = 'SELECT * FROM pl LIMIT 5' con = sql.connect('database.db') df = pd.read_sql_query(sql = query, con=con) con.close() df ``` | |client_id |segment |period |product |pl| |---|-----------|-----------|-------|-----------|--| |0 |yxwtZv530y |Массовый |p_1 |Кредит |0.374924| |1 |YFaxw7Fn7N |Массовый |p_1 |Кредит |1.419884| |2 |TIqbQo6hvx |Массовый |p_1 |Кредит |110.548341| |3 |r5EpnGGW6A |Стандартный |p_1 |Кредит |10.361832| |4 |mVQkt2IbTH |Массовый |p_1 |Кредит |108.225665| В базе данных хранится 2 таблицы: pl и campaign. Ключами для связи этих таблиц является поле client_id. В таблице pl находится информация о ЧОД (чистый операционный доход) от клиента с продуктом в разрезе периодов. В таблице campaign хранятся данные о прошедшей между отчетными периодами "p_1" и "p_2" маркетинговой кампании.<br> Атрибутный состав таблицы pl: - client_id - id клиента - segment - сегмент клиента внутри СМБ(Средний и малый бизнес) - period - период расчета ЧОД банка от продукта, используемого клиентом - product - продукт - pl - ЧОД в тысячах рублей Пример: строка 0 на срезе выше - в периоде "p_1" за продукт "Кредит" с клиента "yxwtZv530y" массового сегмента банк заработал 0.374924 тыс. рублей. Если в каком-либо периоде информация о клиенте/продукте у клиента отсутствует, значит в этот период клиента в банке не было/клиент продуктом не пользовался. Атрибутный состав таблицы campaign: - client_id - id клиента - product - продукт кампании - response - статус отклика на предложение - manager_id - id менеджера, на которого назначен клиент Задание 1) Посчитать средний ЧОД по продуктам и количество клиентов с продуктом для каждого сегмента в разрезе периодов. 2) Посчитать средний ЧОД и количество клиентов в каждом сегменте в разрезе периодов. 3) Оценить отток клиентов с продуктов в периоде p_2. 4) Посчитать сумму ЧОД, привлеченную каждым менеджером в ходе маркетинговой кампании 5) Оценить эффективность маркетинговой кампании.

ivi • Средняя сложность

difficulty stars

Тестовое задание по Data Science от компании 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-запросы. Придумайте, как оценить показатели, и напишите запросы для расчёта придуманных метрик. Представьте, что в вашем распоряжении есть все ресурсы по сбору статистики. Если вам необходимы дополнительный данные, то опишите, чего не хватает в тестовой базе, чтобы посчитать нужные метрики. - **"Цепляемость" и "крутость" сериала. Нужна какая-то метрика, которая при наличии трёх-четырёх серий сериала позволит сравнить этот сериал по "крутости" с другими сериалами.** - **Ретеншн всех пользователей сервиса. Нужно просегментировать аудиторию, рассчитать её ретеншн по сегментам и дать рекомендации по тому, как увеличить ретеншн каждого из сегментов**

Dodo Brands Data Analyst • Средняя сложность

difficulty stars

Тестовое задание по Data Science от компании Dodo Brands Data Analyst

Data Analyst Тестовое задание Для участия в конкурсе на позицию предлагаем вам решить следующие задания. Каждое задание направлено на проверку вашего уровня определенных компетенций, важных для аналитика. Задание 1 ``` **Проверяемая компетенция:** аналитическое мышление **Формат решения:** опишите логику решения ``` <div style="border: 2px solid black; padding: 10px;"> *Задание:** Представьте, что вы работаете аналитиком в Додо. Вам доступны все внутренние данные (данные по чекам, клиентам, локациям). В марте 2022 часть Макдональдсов закрылась, часть продолжала работать. Вам необходимо ответить на следующие вопросы: 1. На какие наши метрики, на ваш взгляд, могли повлиять закрытие конкурента? 2. Вам необходимо оценить эффект в рублях на нашу выручку от закрытия конкурента. Опишите, какую методологию бы использовали, чтобы рассчитать эффект. 3. Какие общедоступные данные по Макдональдсам можно было бы использовать для ответа на второй вопрос? Опишите, как бы вы их использовали.| </div> |**Ваше решение:** | |-----------------------------------------------------------| Задание 2 ``` **Проверяемая компетенция:** основы статистики/проверка гипотез **Формат решения:** приложить ipynb/ссылку на colab ``` <div style="border: 2px solid black; padding: 10px;"> **Задание:** Предположим, в ряде городов в определенный период проведен тест: - В тестовых городах на веб-сайте пиццы располагаются по популярности - Во всех остальных — по увеличению цены на пиццу **Вопросы:** 1. На какие метрики мог повлиять тест? 2. Сделайте визуальный анализ датасета. Как ведут себя метрики в динамике? Какие распределения в данных? 3. Как можно оценить эффект от теста? Если знаете несколько способов, реализуйте один, а другие опишите письменно. 4. Порассуждайте письменно, какие метрики можно было бы еще оценить, если бы вам были доступны все данные компании. **Тестовый период:** 7 апреля - 19 мая **Тестовые города:** Пенза, Уфа, Курск, Нижний Тагил, Новокуйбышевск, Орск **Описание датасета:** - `Date` : дата - `CityName` : город - `OrderSource` : источник заказа - mp: мобильное приложение, web: веб-сайт, other - другое - `Category` : категория товара - `rto` : выручка после скидок - `rto_do` : выручка до скидок - `cost` : затраты на себестоимость товаров - `tickets` : кол-во заказов - `qty` : кол-во продуктов - `clients_qty` : уникальное кол-во клиентов - `avg_time` : среднее время сессии (только по тем, кто оформил заказ) - `avg_price` : средняя цена ! В исходном датасете данные уже сгруппированы по `Date`, `CityName`, `OrderSource`, `Category`. </div> |**Ссылка на датасет:** [Датасет](оценка_категорий_4.csv) | |------------------------------------------------------------------| | **Ваше решение:** | |----------------------------------------------------------| Задание 3 ``` **Проверяемая компетенция:** знание SQL **Формат решения:** вставьте текст запроса в рамку ``` <div style="border: 2px solid black; padding: 10px;"> **Задание:** В нашей компании замеряется такой показатель, как “30-дневная активная база”. Для любого дня - это число клиентов за предыдущие 30 дней. (Например, для 2022-01-01 - это число уникальных клиентов, совершивших визит за 30 дней до 2022-01-01, включая 2022-01-01. Для 2022-01-02 - это число уникальных клиентов, совершивших визит за 30 дней до 2022-01-02, включая 2022-01-02 и т.д.) Допустим у вас есть таблица с чековыми данными по двум городам со следующими полями: - `cityname` - наименование города - `date` - дата чека - `orderid` - id чека - `clientid` - id клиента - `sales` - сумма чека в рублях Данные в таблице с 2022-01-01 по 2022-06-30. Посчитайте подневную динамику 30-дневной активной базы по каждому городу, отсортируйте по городу и дате по возрастанию. **Пример результирующей таблицы:** | cityname | date | active_base | | -------- | ---------- | ----------- | | city1 | 2022-02-01 | 534 | | ... | ... | ... | | city1 | 2022-06-30 | 976 | | city2 | 2022-02-01 | 3450 | | ... | ... | ... | | city2 | 2022-06-30 | 4210 | </div> | **Ссылка на датасет:** [Датасет](DA_sql_sample%20-%20sql_task.csv) | |--------------------------------------------------------------------| Формат предоставления результатов Любой — документ, презентация, а может быть что-то еще. Будем рады, если ответ будет на Google-диске. Проверьте, пожалуйста, доступ к документу - нужен «доступен всем по ссылке». Также, вместе с результатами можете поделиться, насколько вам было интересно выполнять задание. Желаем успешного выполнения!

Получите доступ более чем к 500 тестовых заданий
Сервис можно использовать бесплатно,
без ограничений. Чтобы получить полный доступ,
вам необходимо зарегистрироваться.
где найти тестовые задания для практики
пример тестового задания junior
тестовые задания для junior datascience
практические задачи по datascience
решение тестового задания datascience