100% пройдено
06.03
06.03

Competition is over

Задача

В ближайшие два дня вы создадите рекомендательную систему, которая будет помогать Клиентам Сбербанка интересно и познавательно проводить выходные. Для этого Банк вместе с компаниями Экосистемы может рассказать про разные развлекательные мероприятия (кино, театр, выставки, спортивные мероприятия и прочие), но важно выбрать что-то одно, что максимально релевантно Клиенту, и это донести ему. Ваша задача предсказать вероятность совершения покупки Клиентом в определенных 8-ми категориях в следующие 7 дней (описание категорий ниже), чтобы под них Банк смог направить релевантный контент (подборки). Для подготовки предсказания у вас есть данные по транзакциям 50 000 Клиентов в течение года, из которых 25 000 – в обучающей выборке и 25 000 – в тестовой. Ваша задача для тестовой выборки рассчитать для каждой из целевой категории вероятность совершения покупки в ней на следующей неделе.

 Памятка участника

Призы

Участники пятерки лучших команд после защиты кода перед жюри получат приглашение на стажировку по направлению Data Science в компаниях экосистемы Сбербанка в Москве и Летнюю школу Физтех-лицея и ценные призы:
1 место: сертификаты на образование номиналом 500 000 ₽ и макбуки;
2 место: сертификаты на образование номиналом 300 000 ₽ и айфоны;
3 место: сертификаты на образование номиналом 200 000 ₽ и планшеты;
4 и 5 место: сертификаты на образование номиналом 150 000 ₽.
Победители Олимпиады получат преференции при поступлении в вузы.

 Правила соревнования

Данные

Обучающий (transactions_train.csv) и тестовый (transactions_test.csv) датасеты идентичны и содержат информацию по транзакциям 25 000 уникальных клиентов каждый в следующем формате:

  • сlient_dk – уникальный номер клиента;
  • trans_date – дата транзакции (представляет из себя номер дня в хронологическом порядке, начиная от заданной даты);
  • small_group – группа транзакций, характеризующих тип транзакции (например, продуктовые магазины, одежда, заправки, детские товары и т.п.);
  • amount – сумма транзакции в условных единицах.

Для обучающего набора в файле с правильными ответами (train_target.csv) находится таблица размера 25000x9, содержащая следующие поля:

  • client_dk – уникальный номер клиента (соответствует client_dk из файла transactions_train.csv);
  • колонки с числовыми названиями 27, 32, 41, 45, 67, 73, 81, 88 - это 8 целевых категорий продуктов (описание категорий в файле small_gr_dict.xlsx);
  • значения в колонках с категориями бинарные: 0 – на следующей неделе не было совершено покупок в данной категории, 1 - покупка была совершена.

Метрика

Качество вашей рекомендательной системы будет считаться на базе avarage ROCAUC :

average ROC_AUC= sum from {i=1} to {8} (({ROC_AUC} rsub {i}) over {8})

где ROC_AUCi – усредненный ROC_AUC по каждой из 8-ми категорий (т.е. по каждой категории вначале считается ROC_AUC по всем Клиентам, а затем они суммируются и усредняются на кол-во категорий)

Формат решений

Вам необходимо для проверки подготовить файл test.csv, имеющий структуру, идентичную train_target.csv (25 000 Клиентов с client_dk и 8 категорий – итого 9 столбцов), заполнив для каждого клиента вероятности покупки в каждой из указанных выше категорий.

Пример выходного файла:

client_dk,cat_27,cat_32,cat_41,cat_45,cat_67,cat_73,cat_81,cat_88
12671,0.1,0.2,0.3,0.1,0.1,0.0,0.05,0.15
14015,0.0,0.4,0.3,0.1,0.1,0.1,0.0,0.0
1500,0.0,0.1,0.0,0.5,0.0,0.4,0.0,0.0
4934,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1
11405,0.5,0.1,0.0,0.0,0.0,0.1,0.2,0.1
...
      

Выбор финальных сабмитов

До окончания соревнования вам нужно выбрать 2 финальных сабмита, отметив их в списке отправленных решений на странице «Моя команда».