Почему сессионные рекомендации важны
Большинство посетителей интернет-магазина — анонимы. Авторизованных пользователей с накопленной историей может быть 20–40% трафика; остальные 60–80% заходят без аккаунта или первый раз. Персональные рекомендации для них недоступны — нет профиля.
Сессионные рекомендации решают эту задачу: они работают с первого же действия пользователя, используя только текущую сессию как источник сигнала.
Алгоритмический стек
Эволюция алгоритмов сессионных рекомендаций:
| Алгоритм | Основа | Особенность |
|---|---|---|
| Item-based KNN | Паттерны совместных просмотров | Простой, интерпретируемый |
| GRU4Rec | Рекуррентные нейросети (RNN) | Учитывает последовательность событий |
| BERT4Rec | Трансформер (self-attention) | Понимает контекст всей сессии |
| NARM | RNN + attention | Баланс локального и глобального контекста |
На практике большинство production-систем используют более простые алгоритмы с быстрым инференсом — BERT4Rec требует значительных вычислительных ресурсов при каждом обновлении рекомендации.
Как сессионный алгоритм строит прогноз
Сессия пользователя:
t=0: открыл карточку "Кроссовки Nike Air Max 270"
t=1: просмотрел "Кроссовки Adidas Ultraboost"
t=2: добавил в корзину "Кроссовки Nike Air Max 270"
Алгоритм:
→ Текущий интерес: мужские кроссовки, городской стиль, средний-высокий ценовой сегмент
→ Сигнал корзины усиливает намерение купить Nike
→ Рекомендации: аналогичные кроссовки, носки, средство для ухода за обувью
Каждое новое событие пересчитывает вектор намерения пользователя в сессии.
Совмещение с долгосрочным профилем
Для авторизованных пользователей оптимальная архитектура — гибридная:
- Сессионный сигнал (высокий вес): что смотрит прямо сейчас — отражает немедленное намерение
- Долгосрочный профиль (средний вес): категорийные предпочтения, история покупок
- Популярность (низкий вес): fallback при слабых персональных сигналах
Вес компонентов настраивается и может тестироваться через A/B.
Совет: сессионные рекомендации особенно эффективны в блоках на карточке товара («Похожие товары», «С этим смотрят») — там пользователь уже показал явное намерение, и алгоритм может его развить в конкретном направлении.