01 / тестовое задание

A1:
тестовое задание для позиции «Data Scientist»

Реальное тестовое с собеседования на Junior Data Scientist: исходный текст задания, как решать и частые ошибки.

02 / оригинальный текст

Текст тестового задания

Исходный текст задания без редактуры — так, как его прислали кандидату.

Данные к заданиюОткрыть данные →

Задание #1

Используя исторические данные на листе «Timeseries» (см. Задания_1_2.xlsx), построить модель временного ряда. Спрогнозировать ежедневное поведение ряда в следующие 3 мес. Пояснить выбор метода прогнозирования. Привести оценки качества прогноза.

Задание #2

Используя набор данных на листе «Training» (см. Задания_1_2.xlsx) в качестве обучающей выборки, предсказать значения целевой переменной Target для набора данных на листе «Validate». Пояснить выбор метода. Привести оценки точности и качества предиктивной модели. Построить ROC-кривую. Назвать три наиболее важных предиктора.

Задание #3

В пакете для третьего задания три файла

В файле Tariff_plans_change.csv содержатся выборочные данные о транзакциях, связанных с подключениями и отключениями тарифных планов абонентами, которые меняли тарифные планы в первом полугодии 2017 года:

SUBSCRIBER_ID - условный идентификатор абонента

TARIFF_PLAN_ID – условный идентификатор тарифного плана

START_DTTM - дата и время подключения плана

END_DTTM – дата и время отключения (значение $null$ означает, что план актуален на текущий момент).

В файле Charges.csv содержатся помесячные исторические данные об общих расходах абонентов на мобильную связь:

SUBSCRIBER_ID - условный идентификатор абонента

BILL_MONTH – биллинговый период в формате YYYY-MM-01 (например, строки со значением ‘2016-01-01’ содержат данные о расходах и потреблении за январь 2016 года)

CHARGES – общая сумма счета за услуги связи

В файле Suspended.csv содержатся исторические данные о блокировках абонентов в транзакционной форме:

SUBSCRIBER_ID - условный идентификатор абонента

START_DT - дата начала блокировки

END_DT – дата окончания блокировки (значение $null$ означает, что абонент остается блокированным на текущий момент).

Необходимо исследовать следующие вопросы:

1. Направления смен тарифных планов: с каких тарифных планов и на какие шли наибольшие перетоки? Визуализировать потоки миграций на диаграмме.

2. Насколько изменился среднемесячный счет абонентов за период 3 месяца после месяца смены тарифного плана в сравнении с периодом 3 месяца до месяца смены тарифного плана. Какие направления смен тарифных планов характеризовались ростом среднего счета в трехмесячном периоде, а какие – сокращением. Визуализировать результаты на диаграммах.

3. Аналогично п.2, только относительно изменения уровня блокировок: насколько реже или чаще стали попадать в блокировки абоненты после миграции в целом и для каждого направления миграции в отдельности. Для сравнения использовать те же периоды: 3 месяца до месяца смены плана и 3 месяца после месяца смены.

Ход и результаты выполнения заданий оформить в виде презентации. Приложить исходники с кодом.

03 / что проверяют

Что проверяет это задание

01

Python

Обработка данных и расчёты: pandas, скрипты, автоматизация.

02

Аналитическое мышление

Как разложить задачу, выбрать подход и обосновать решение.

03

Работа с данными

Аккуратная выборка, фильтрация и проверка ограничений задачи.

04 / как решать

Как подойти к решению

  1. 1

    Разберите условие: что именно просят посчитать и в каких разрезах.

  2. 2

    Сверьтесь с данными: какие таблицы есть, период и нужные фильтры.

  3. 3

    Решайте по шагам и фиксируйте промежуточные результаты и допущения.

  4. 4

    Доведите до финальных чисел и коротких выводов или рекомендаций.

05 / частые ошибки

Частые ошибки

  • Неверный период, разрез или единицы измерения.
  • Не учтены фильтры и сегменты из условия.
  • Решение без промежуточных шагов — только финальная цифра.
  • Нет выводов и рекомендаций по результату.
06 / хороший ответ

Каким должен быть сильный ответ

Хороший ответ — это не просто финальные числа или код. Работодатель должен увидеть, как вы думаете, как проверяете ограничения задачи и как оформляете результат.

  • короткое описание логики решения;
  • промежуточные таблицы, запросы и фильтры;
  • финальные значения по каждому пункту задания;
  • понятные выводы и рекомендации.
07 / похожие задания

Похожие задания

08 / разборы в telegram

Хочешь больше таких разборов?

В Telegram-канале разбираю тестовые с собеседований, метрики и типичные ошибки кандидатов.

Подписаться в Telegram →
09 / следующий шаг

Разбираешь тестовые, но не уверен в решении?

На интенсиве разбираем реальные кейсы, A/B-секции, метрики, SQL, Python и типовые ошибки кандидатов.