Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Рекомендации с нуля: как мы в Lamoda превратили...

Рекомендации с нуля: как мы в Lamoda превратили главную страницу в ключевую точку входа для персонализированного шоппинга. Данил Комаров, Data Scientist, Lamoda Tech

Год назад главная страница Lamoda состояла из подборок, баннеров и плейсментов, не адаптированных под пользователя. Мы приняли решение создать ленту с персональными рекомендациями товаров и подборок на основе интересов наших клиентов.

• Как мы начали с простого виджета, протестировали идею и менее чем за полгода полностью обновили главную страницу ?
• Как проходило масштабирование системы и добавление новых уровней?
• Какие особенности есть у рекомендаций в fashion, и как их учитывать на модельном и бизнес-уровне?
• Переход на онлайн решение: почему это было необходимо?
• Какие метрики помогли оценить качество рекомендаций, и как они повлияли на бизнес?

Доклад будет полезен всем, кто работает с рекомендациями и хочет сделать их более персональными.

Lamoda Tech

April 18, 2025
Tweet

More Decks by Lamoda Tech

Other Decks in Technology

Transcript

  1. Рекомендации с нуля: как мы в Lamoda превратили главную страницу

    в ключевую точку входа для персонализированного шоппинга Данил Комаров Senior DS Personalization team
  2. 2 Lamoda в цифрах 16 млн MAU >670 тыс. SKU

    >100 тыс. заказов каждый день >1 тыс. сотрудников в Lamoda Tech 40 сотрудников в DS-отделе
  3. 3 Изменения главной страницы и появление рекомендаций Масштабирование и переход

    части системы в онлайн Улучшения оффлайн уровня кандидатов Что развиваем сейчас и итоги План 1 2 3 4
  4. 7 ML-Архитектура Все товары Business layer • Диверсификация: Maximal Marginal

    Relevance • Бизнес логика на некоторые позиции в ленте • ALS: обучение на 4 типах интеракций с затуханием (product_page, fav_add, cart_add, order) • ALS: инференс с помощью ANN (HNSW) • Bestsellers: топ продаж за последние N-дней ALS Bestsellers
  5. 9 Главная страница с виджетом - Результаты +0.3% CR →

    Cart add Есть заинтересованность пользователей Много идей что улучшить в алгоритме Небольшой плейсмент для наполнения товаров Есть вопросы по взаимодействию с виджетом + + - -
  6. 13 Главная с лентой рекомендаций - Результаты +1.2% CR →

    Cart add +1.1% CR → Purchase -0.9% Time between session Пользователи стали чаще возвращаться на Lamoda!
  7. 16 Переиспользуем подход Все товары Business layer Candidates Premium Business

    layer Business layer Business layer Candidates Premium Candidates Premium Candidates Premium
  8. 19 Квотирование В категории Sport доля Обуви в 2 раза

    выше чем в среднем по всему стоку 0.5 x Clothes + 0.3 x Shoes + 0.1 x Accs + 0.1 x Bags На основе посещения продуктовых страниц по категориям за последние N-дней
  9. 20 Квотирование В категории Sport доля Обуви в 2 раза

    выше чем в среднем по всему стоку
  10. 24 Оффлайн реранкер Catboost Признаки • Товарные • Пользовательские •

    Парные Оффлайн метрика NDCG@60 Данные Реальные просмотры пользователей рекомендаций на главной Таргет Добавление в корзину
  11. 25 Оффлайн реранкер Catboost Признаки • Товарные • Пользовательские •

    Парные Оффлайн метрика NDCG@60 Данные Реальные просмотры пользователей рекомендаций на главной Таргет Добавление в корзину Feature importance ранг ALS кол-во отзывов посещения товара за последние N-дней время жизни товара интерес к цвету интерес к бренду +22% относительно прода
  12. 29 Переход на онлайн В чем необходимость выносить часть системы

    в онлайн сервис? В оффлайне тяжеловесно считать многоуровневый пайплайн 1
  13. 30 Переход на онлайн В чем необходимость выносить часть системы

    в онлайн сервис? В оффлайне тяжеловесно считать многоуровневый пайплайн Ограничены функционалом рекомендаций, не ловим онлайн контекст 1 2
  14. 31 Переход на онлайн В чем необходимость выносить часть системы

    в онлайн сервис? В оффлайне тяжеловесно считать многоуровневый пайплайн Ограничены функционалом рекомендаций, не ловим онлайн контекст Потому что можем 1 2 3
  15. 33 Переход на онлайн Candidates & Features Storage Service Recommendations

    Service Recommend Reranker - Catboost inference - Diversity: MMR Top N- candidates
  16. 34 Итоговая архитектура Candidates & Features Storage Service Recommendations Service

    Recommend Reranker Features calculation Candidates calculation Reranker train S3 etcd Update every 1 day Model weights & config - Catboost inference - Diversity: MMR Top N- candidates
  17. 35 Обучение реранкера на залогированных фичах Текущая проблема Фичи во

    время инференса могут отличаться от фичей восстановленных по истории
  18. 36 Обучение реранкера на залогированных фичах Текущая проблема Фичи во

    время инференса могут отличаться от фичей восстановленных по истории Решение 1. Данные для обучения (просмотры) собираем с фронта 2. Фичи для обучения логируем на бэке и перетаскиваем в Hadoop
  19. 37 Обучение реранкера на залогированных фичах Текущая проблема Фичи во

    время инференса могут отличаться от фичей восстановленных по истории Решение 1. Данные для обучения (просмотры) собираем с фронта 2. Фичи для обучения логируем на бэке и перетаскиваем в Hadoop Service Recommend Reranker Model Train dataset
  20. 42 SANSA: Scalable Approximate NonSymmetric Autoencoder SANSA: github Почему не

    EASE? У нас слишком много товаров в каталоге
  21. 43 SANSA: Scalable Approximate NonSymmetric Autoencoder SANSA: github SANSA is

    a scalable modification of EASE, a shallow autoencoder for collaborative filtering, specifically designed to handle item sets with millions of items.
  22. 44 SANSA: персональные товарные кандидаты Постановка User x Item, обучение

    для (gender, country) Данные 6 месяцев, интеракции - добавления в корзину, бинарная матрица, sparse формат Оффлайн метрика Recall@200 1 1 1 1 …… 1 . . . . . . 1 1 N M N - кол-во пользователей M - кол-во товаров
  23. 45 SANSA: персональные товарные кандидаты Постановка User x Item, обучение

    для (gender, country) Данные 6 месяцев, интеракции - добавления в корзину, бинарная матрица, sparse формат Оффлайн метрика Recall@200 1 1 1 1 …… 1 . . . . . . 1 1 N M N - кол-во пользователей M - кол-во товаров +10% относительно ALS
  24. 46 SANSA: еще применения! User x Brand: рекомендовать похожие /

    комплиментарные бренды для пользователя по его истории История Рекомендации Diesel, Reebok, Adidas, Emporio Armani, Hugo Armani Exchange, Guess, Boss, Adidas Originals, …
  25. 47 SANSA: еще применения! User x Brand: рекомендовать похожие /

    комплиментарные бренды для пользователя по его истории История Рекомендации Diesel, Reebok, Adidas, Emporio Armani, Hugo Armani Exchange, Guess, Boss, Adidas Originals, … Basket x Item: рекомендовать комплиментарные товары (на карточке товара / корзине)
  26. 49 Что развиваем сейчас Обогащение системы размером пользователя Динамичное обновления

    ленты как внутри сессии, так и по дням Мониторинг метрик здоровья рекомендаций
  27. Простые подходы все еще работают и приносят эффекты Переходить в

    онлайн непросто, но необходимо Важно позаботиться о логировании событий сервисов Главная страница является ключевой точкой входа для персонализации 50 Подводим итоги 1 2 3 4