Авторизация
Сброс пароля
Система рекомендация для YouTravel
Заказчик: YouTravel
Страница кейса/результат: https://agima.ai/rekomendaciy-youtravel
Разработали для крупного маркетплейса продвинутую персонализацию, основанную на ML-модели.
1. Вводная задача от заказчика, проблематика, цели
Проблема
Сегодня персонализация в e-commerce — это в основном блоки «Вам понравится также», «С этим товаром покупают» или upsell-рекомендации в корзине. Интеграция в эти места самая дешевая и несложная, но эффективность у таких решений крайне низкая.
Пользователь не видит весь объем предложений под свой запрос, не находит нужного и уходит. Бизнес теряет деньги.
Задача
Разработать систему рекомендаций, которая будет встраиваться во все листинги на сайте и учитывать максимум пользовательских интересов.
Такую продвинутую персонализацию мы будем создавать на основе машинного обучения и анализа данных. Именно на этих направлениях специализируется наше подразделение AGIMA.AI.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Мы придумали стратегию персонализации, которая позволяет интегрироваться на уровне пересортировки любого листинга, у которого уже есть своя логика формирования. Мы не просто отдаем список рекомендованных объектов по API, мы реализуем:
- сбор ленивых просмотров и большого количества поведенческой информации;
- метод пересортировки любого списка товаров под каждого отдельного клиента.
- Именно такую стратегию мы реализовали на сайте YouTravel.
Сбор данных
Чтобы персонализация работала, нужен сбор данных про пользователя. Совместно с YouTravel мы сделали систему по сбору информации о том:
- что пользователь видел на странице,
- на что кликнул,
- куда перешел.
Команда YouTravel выполняла доработки на стороне фронтенда, мы делали приемную часть и часть регулярной обработки данных.
Мы доработали систему сбора данных (и со стороны заказчика, и с нашей) таким образом, чтобы получать информацию:
1. Про ленивые просмотры.
2. Про глубокие просмотры (просмотры карточки товара).
3. Про покупки.
Процессинг данных
Мы получаем данные с фронтенда и кладем в два места:
1. Долгосрочное хранилище — для переобучения модели подсчета статистики.
2. Онлайн-профиль — в моменте отвечает на вопрос, какие предпочтения у пользователя, какое поведение он проявил только что.
От онлайн-профиля пользователя есть вторая ветка данных. Сюда в реальном времени поступает поток событий с фронтенда и поддерживается реалтайм-представление о том, что мы знаем про пользователя.
В это время наша API рекомендаций на основе ML-модели реализует самый главный метод — метод пересортировки списка товаров.
API забирает информацию из онлайн-профиля, чтобы узнать, какими свойствами обладает пользователь, для которого мы делаем пересортировку, и держит в памяти модель персонализации. Это онлайн-цикл работы, он происходит за полсекунды в процессе работы сайта с пользователем.
Есть еще длинный цикл взаимодействия — ежечасно мы забираем статистику, которая накопилась, пересчитываем матрицы рекомендаций и принудительно обновляем модель в API. Примерно раз в час предрасчитанные рекомендации по каждому отдельному пользователю обновляются.
Андрей Татаринов
Сооснователь, AGIMA.AI
Ключевой момент в нашем сборе данных — это учет ленивых просмотров. В типичном трекинге эти данные отсутствуют. А нам важно знать, что пользователь видел эти 20 товаров, но ничего не выбрал. Эта информация необходима для статистики и для обучения ML-модели.
3. Результаты сотрудничества
За два месяца мы добились двукратного увеличения целевого действия. И это не предел. У нас есть три стратегии, в рамках которых мы делаем рекомендации для пользователя. Все три работают одновременно:
- Пользователь находится на сайте больше 30 минут. Он уже попал в ежечасный цикл переобучения. Поэтому мы пользуемся хорошо рассчитанным вектором свойств пользователя и делаем рекомендации. Они получаются самыми качественными.
- Пользователь пришел недавно. Его еще нет в рассчитанных фичах, но он уже успел проявить поведение, например, кликнул на один товар. В этом случае мы делаем хорошее предположение относительно его предпочтений на основании свойств товара, к которому он проявил интерес, и формируем для него рекомендации.
- Холодный пользователь. Он только что пришел, мы о нем ничего не знаем, но нам надо ему что-то порекомендовать. В этом случае мы используем статические фичи, которые выражаются не в его поведении, а в его свойствах (какой язык на сайте выбран, из какого региона, с какого устройства и т. п.).
Сейчас наша стратегия интегрирована в часть листингов на сайте YouTravel, результаты такие:
Если средняя конверсия из показа в клик без рекомендаций — от 3% до 4,5%.
То у персонализированных предложений — от 6% до 9%.
Вот так выглядит конверсия в клик в разрезе по стратегиям
4. Заключение
Мы продолжаем работу над проектом и обучению нашей ML-модели. Например, мы обратили внимание, что большая часть показов у «холодных» пользователей, поэтому мы активно улучшаем этот тип стратегии — включаем больше статической информации в наши рекомендации. А еще пробуем учитывать рекламную кампанию, по которой пришел клиент, учимся понимать текст объявления и забирать это в его рекомендации.
Кроме этого, учитываем:
- лендинг, на котором пользователь приземлился;
- модель телефона, с которого он зашел;
- язык сайта/браузера, который определился для пользователя;
- его географию.
Наши холодные рекомендации работают пока так же, как сортировка по популярности у заказчика. Мы активно прокачиваем это направление, чтобы сделать холодные рекомендации сильнее. Фундаментальная проблема с такими рекомендациями в том, что мы почти ничего не знаем про пользователя, но мы экспериментируем с имеющимися данными и пробуем выжать из них максимум.