
Всем привет! На связи команда RecSys R&D Т-Банка. В экосистеме Т мы развиваем рекомендации практически во всех сервисах — от инвестиций до доставки продуктов и кэшбэка.
Представляем открытый синтетический датасет T-ECD — T-Tech E-commerce Cross-Domain Dataset. Он создан на основе реальных данных Т-Банка и предназначен для исследований в области рекомендательных систем.
Под синтетичностью мы понимаем то, что датасет насемплирован из реального распределения, поэтому обладает очень похожими на реальность статистическими свойствами данных, но при этом полностью анонимный и обезличенный.
Рассказываем, как T-ECD устроен и что внутри. Полный датасет и его уменьшенная версия T-ECD-Small уже доступны на Hugging Face.
Как устроен T-ECD
В T-Tech E-commerce Cross-Domain Dataset вошли данные из пяти доменов:
Marketplace — пользовательские действия в области онлайн-покупок: просмотры, клики, лайки, переходы к покупке.
Retail — поведение в сервисе доставки продуктов: от просмотра до оформления заказа.
Offers — реакции на партнерские промо и офферы: показы, клики, лайки и переходы по офферам.
Reviews — обратная связь пользователей: рейтинги и эмбеддинги от текста отзыва о брендах.
Payments — онлайн- и офлайн-транзакции с детализацией до чековых позиций.
В общей сложности синтетический датасет включает более 40 млн пользователей, 30 млн товаров, более 1 млн магазинов и свыше 135 млрд взаимодействий между этими тремя сущностями. При этом значительная часть пользователей встречается сразу в нескольких доменах, что делает данные ближе к реальным сценариям: информация из одного сервиса помогает строить персонализацию в другом.
Дополнительно мы подготовили уменьшенную версию датасета на миллиард взаимодействий. Она включает в себя только домены Marketplace, Retail, Offers и Reviews и обладает более высокой плотностью событий. Каталоги пользователей, товаров и брендов в ней уменьшены и содержат только встречающиеся в малом датасете позиции — 3,5 млн, 2,6 млн и 29 тысяч записей соответственно. Уменьшенная версия датасета может быть полезна для тестирования гипотез на небольшом, но качественном объеме данных.
Что вошло в T-ECD
Мы хотим внести свой вклад в глобальное развитие рекомендательных систем, и наш датасет может стать геймченджером в этой области за счет двух ключевых особенностей.
Кросс-доменность. В индустрии использование кросс-доменных данных давно стало стандартной практикой: транзакции, заказы в сервисах доставки, реакции на рекламные предложения и отзывы помогают строить более точные модели персонализации.
Но в академических исследованиях это направление развито слабо, в том числе из-за того, что большинство доступных рекомендательных датасетов представлены одним доменом и очень ограничены в размерах, редко превышая миллиард взаимодействий.
Популярные наборы вроде Amazon Reviews или Yelp полезны для демонстрации алгоритмов, но значительно меньше индустриальных данных по масштабу и разнообразию.
Свежие релизы релизы этого года — YAMBDA и VK-LSVD — порадовали исследователей своими объемами, побив рекорд по количеству пользовательских взаимодействий. Хотя даже они все еще остаются монодоменными.
Ключевой фичей нашего датасета стала кросс-доменность. Мы считаем, это важный шаг для того, чтобы приблизить исследования в области рекомендательных систем к реальным индустриальным сценариям.
Масштаб. Следуя недавнему успеху больших языковых моделей, в мире рекомендательных систем сложился очевидный тренд —переход на трансформерную архитектуру, резкое увеличение количества обучающих данных и параметров в моделях.
Такой переход почти всегда позволяет конвертировать большое количество данных в улучшение качества моделей. К сожалению, в индустрии пока еще не сложился тренд на публикацию своих данных в opensource, поэтому любой новый достаточно крупный датасет воспринимается исследователями по всему миру как глоток свежего воздуха.
Датасет, который мы выложили, пока крупнейший в области рекомендательных систем.

Что внутри у T-ECD
T-ECD объединяет пять доменов: Marketplace, Retail, Payments, Offers и Reviews. Все они связаны через общие сущности:
Пользователь (user_id) — согласован во всех доменах.
Бренд (brand_id) — сущность магазина, тоже представленная во всех доменах.
Товар (item_id) — представлен в доменах Marketplace, Retail, Offers и Payments, каждый товар однозначно соотносится с brand_id.

Разные домены связываются между собой через пользователя, бренд и иногда через товар. В качестве пользовательских признаков доступны социально-демографический кластер и регион проживания. В качестве признаков бренда доступен его контентный эмбеддинг.

Как часто бывает в индустриальных сценариях, данные по разным доменам не всегда доступны на одинаковую глубину в прошлое. Это происходит по разным причинам. Например, из-за удаления слишком старых и бесполезных данных. Или если продукт, из которого поступают данные, был запущен совсем недавно и еще не успел накопить историю нужной длины.
Такое свойство присутствует и в нашем датасете. Некоторые очень свойственные банку домены, такие как платежи и чеки, имеют богатую и глубокую историю. В то время как данные из новых e-comm-продуктов компании еще «не настоялись».
Файловая структура датасета:
t-ecd/
├── users.pq # справочник пользователей
├── brands.pq # справочник брендов
├── payments/ # домен платежей
│ ├── events/{day}.pq # события транзакций
│ └── receipts/{day}.pq # чеки транзакций
├── marketplace/ # домен маркетплейса
│ ├── events/{day}.pq # взаимодействия user × item
│ └── items.pq # каталог товаров
├── retail/ # домен доставки продуктов
│ ├── events/{day}.pq # взаимодействия user × item
│ └── items.pq # каталог товаров
├── offers/ # домен офферов
│ ├── events/{day}.pq # взаимодействия user × brand
│ └── items.pq # справочник офферов
└── reviews/{day}.pq # отзывы и оценки
Данные каждого домена хранятся в отдельной директории в формате parquet-файлов, партиционированные по дням от даты начала датасета. При этом для Marketplace, Retail и Offers доступны каталоги с признаками товаров. Цены в каталогах переведены в промежуток от −10 до 10. Названия и описания товаров представлены эмбеддингами: один эмбеддер — для Marketplace и Retail, другой — для Offers и Reviews. Названия и описания брендов также обработаны первым эмбеддером.
В домене Marketplace собраны логи пользователей на маркетплейсе: просмотры, клики, лайки и переходы к покупке. События снабжены контекстами о том, где они происходили: в поиске, каталоге, на главной странице, в рекомендациях (u2i, i2i). Для товаров доступен каталог с брендом, embedding и категориями, но не для всех товаров категории заполнены.

Retail описывает сервис доставки продуктов. Здесь фиксируется полный путь пользователя — от просмотра до оформления заказа, включая добавление в корзину. Контексты, как и в Marketplace, включают поиск, каталог, страницы товаров и корзину. Для товаров доступен каталог с брендом, embedding и категориями.

Offers содержит реакции на промокампании брендов: пользователь мог увидеть оффер, получить показ, перейти к партнеру или поставить лайк. Для офферов также представлен каталог.

Payments — крупнейший по объему домен. В нем собраны транзакции user × brand, при этом для части операций доступны чеки с детализацией: состав покупки, цены и количество товаров, которые приблизительно сопоставлены с каталогами Marketplace и Retail.

Reviews — явная обратная связь (отзывы) юзеров о брендах. Для них всегда доступен числовой рейтинг. Иногда доступен эмбеддинг от текста отзыва.

Статистики датасета
Количественные характеристики доменов данных:

По масштабу доменов картина такая: в Marketplace собрано порядка 2 млрд событий, в Retail — около 4 млрд, в Offers — чуть меньше 30 млрд интеракций, а крупнейший домен —Payments, в нем больше 100 млрд событий. Домен Reviews значительно компактнее, но важен качественным сигналом: в нем более 46 млн пользовательских оценок, для некоторых из которых доступен текстовый эмбеддинг.
Один из сложнейших челленджей датасета — значительная разница в плотности взаимодействий с айтемами из разных доменов. В то время как в Offers в среднем на каждый айтем приходится 325 тысяч взаимодействий, в marketplace ситуация противоположная: в среднем всего 77 взаимодействий на каждый товар.
Важный признак реальных данных — неравномерность распределений. В T-ECD она хорошо заметна на графиках.

Большинство пользователей совершают мало действий, а небольшой процент дает тысячи событий. Это «тяжелый хвост», типичный для индустриальных систем: именно он делает датасет полезным для тестирования алгоритмов, устойчивых к разреженности.

Большая часть пользователей имеет интеракции как минимум в двух сервисах. Именно это свойство делает датасет кроссдоменным: можно проверять, как сигналы из одних сервисов помогают строить рекомендации в других.
Важная особенность T-ECD — контексты, или метаданные. Они доступны по доменам Marketplace и Retail и содержат информацию о поверхностях рекомендаций и операционных системах пользователей.
Если в Marketplace более половины событий приходится на рекомендации (u2i), то в Retail доминирует каталог. Такое различие в паттернах подчеркивает: пользователи взаимодействуют с сервисами по-разному и датасет позволяет исследовать эти контрасты.


Помимо контекстов можно посмотреть и на характер самих действий. Во всех доменах большую часть событий составляют просмотры: от 85 до 97%. Это естественно для индустриальных систем: «легких» сигналов всегда намного больше, чем «сильных» (добавление в корзину, заказ, переход).

Для каких задач подходит T-ECD
T-ECD — универсальный и мультизадачный датасет. Мы оставляем за исследователями свободу выбора конкретной задачи, которую они захотят решать, основываясь на наших данных.
Мы можем выделить несколько исследовательских направлений, каждое из которых опирается на существующие индустриальные задачи и отражает разные аспекты построения рекомендательных систем.
Кандидатогенерация в домене — классическая для рекомендаций постановка: нужно сформировать список релевантных объектов в одном домене, используя поведение пользователя в других. Сюда относятся задачи next-item, next-basket, next set prediction. Такой сетап особенно ценен, когда речь идет о новых сервисах или холодном старте: объем собственных данных там ограничен, а знания из «сильных» доменов — например, Payments или Offers — позволяют сильно улучшить качество.
Задача ранжирования — следующий ключевой этап после генерации кандидатов. Ее цель в том, чтобы упорядочить список рекомендованных объектов по степени их релевантности для конкретного пользователя, основываясь на кросс-доменном сигнале. В рамках T-ECD это может означать, например, ранжирование товаров, офферов или магазинов по вероятности взаимодействия: покупки, клика, лайка или перехода.
Предсказание рейтингов. На основе всех событий в датасете, в частности Payments и Offers, так как в них указан бренд, можно пытаться предсказать числовую оценку, которую пользователь оставит бренду. А можно попробовать предсказать даже факт написания отзыва. Это делает задачу интересной для проверки мультимодальных моделей, которые комбинируют поведенческие и текстовые признаки.
Перечисленными задачами список потенциальных применений не ограничивается. Мы рекомендуем следовать двум правилам, независимо от задач.
Добавление временного отступа. В процессе генерации датасета события получили «шумные» и неупорядоченные временные метки. К счастью, параметры этого шума контролируемы! В T-ECD мы можем гарантировать, что одно событие предшествует другому, только в том случае, если между ними прошло как минимум 12 часов. Это означает, что для избежания заглядывания в будущее для предсказания нельзя использовать данные за предшествующие 12 часов. Это правило распространяется как на тестовый, так и на тренировочный сценарий использования датасета.

2. Корректное train/val/test-разбиение. Для всех задач мы предлагаем придерживаться единой схемы валидации — Global Temporal Split. Такой протокол предполагает, что обучение идет на исторических данных, а проверка — на событиях из будущих временных окон. Этот подход приближен к реальным продакшен-сценариям и обеспечивает честную оценку моделей в условиях, максимально близких к боевым. На валидационную и тестовую часть мы рекомендуем брать по 1—2 дня в самом конце датасета. Этого достаточно, чтобы с хорошей точностью оценить качество обученной модели.
Планы
Мы проделали огромную работу по сбору, анализу, сэмплингу, анонимизации и генерации данных, чтобы впервые выложить настолько большой датасет. Мы верим, что наш датасет действительно пригодится исследователям, развивающим рекомендательные технологии. Поэтому не стесняйтесь использовать его в ваших проектах.
На достигнутом останавливаться мы не планируем! У нас уже есть идеи по улучшению качества датасета, добавлению новых данных, по созданию фреймворка для обучения базовых и воспроизводимых моделей. Надеемся, что уже в ближайшем будущем сможем порадовать вас следующей итерацией развития нашего датасета.
Публикуя настолько большой объем данных, мы делаем шаг в сторону глобального развития больших рекомендательных моделей и призываем другие компании присоединиться!