SAS corporate blog
Data Mining
Machine learning
Social networks and communities
20 December 2018

Как вы выбираете продукты в магазине?

image
Самая главная формула успеха — знание, как обращаться с людьми. Теодор Рузвельт


В прошлой статье попытался рассказать про основы аналитики ценообразования. Теперь давайте поговорим о более интересных вещах.


Вы когда-нибудь задумывались о том, почему вы покупаете определенные продукты в магазинах, как выбираете среди множества аналогов? Скорее всего, четкого ответа под все возможные походы в магазин дать не получится, многие из них спонтанны. Но общая идея очевидна – при походе в магазин вы пытаетесь закрыть имеющуюся потребность (в еде, гаджетах, развлечениях, блэкджеке). В данной статье на примере продуктовых ритейлеров расскажу об имеющемся опыте, как используя некоторые базовые логические предположения и анализ сообществ в графах, можно определить, как именно покупатели выбирают товар.


Введение


В классических историях о ритейле сразу вспоминаются истории о рекомендательных системах, в которых уже давно используется анализ чековых данных покупателей. Например знаменитые истории про Target и про пиво с подгузниками.


image


Данные кейсы построены на известном в узких кругах подходом, который называется Market Basket Analysis (MBA) или анализ ассоциативных правил. Основная идея подхода — построить набор правил вида “когда покупают X, обычно покупают и Y” и использовать их в дальнейших процессах (персональные рекомендации, выкладка и т.п.). Правила позволяют определить товары комплементы, которые дополняют друг друга. Данный подход довольно популярен ввиду простоты реализации и хорошей интерпретируемости результатов. Основные проблемы заключаются в том, что не всегда понятно, как применять полученные правила и как, кроме комплементов, определить товары заменители-субституты. Попробуем немного улучшить данный подход: сгруппировать товары в зависимости от потребностей покупателей и понять, как покупатель принимает решение о покупке.


Усложняем MBA, ищем товары заменители


Давайте немного усложним подход MBA и рассмотрим дополнительно информацию по картам лояльности, которые есть у многих российских ритейлеров (для онлайна можно использовать ID клиента). Проведем MBA не на уровне чековых данных, а на уровне карточек (т.е. вместо ID чека будем использовать ID карты/ID клиента). В результате мы получим пары товаров, которые связаны друг с другом на уровне клиента, т.е. если клиент купил товар X, то он также покупает товар Y и ключевое здесь, что товар Y может быть куплен во время другого похода в магазин.


Давайте подумаем, как можно определить товары заменители. Сделаем логичное предположение, что человек не часто покупает товары заменители в одном чеке (вы же редко покупаете стиральный порошок 3 и 5 кг одновременно). Это самое важное предположение во всем анализе, которое хорошо работает для продуктового ритейла/хоз.товаров и с небольшими корректировками для остальных видов ритейлеров. Из этого предположения можно сделать вывод, что если пара товаров часто покупается клиентами, но при этом редко встречается в одном чеке, то с большой уверенностью можно сказать, что это товары заменители. Утверждение довольно сильное и требует предварительного качественного анализа связей – необходимо убрать статистически незначимые связи, убрать “бананы” и пр. Для оставшихся связей можно ввести метрику W, которая отражает, насколько чаще товары покупаются в рамках одной карты лояльности, чем в одном чеке.


В результате у нас образовались пары товаров вида “товары X и Y редко берут в одном чеке, но часто берут одни и те же люди” с некоторой мерой связи W. Чем эта мера связи больше, тем больше товары можно считать заменителями.


Был MBA, стал SNA


Следующий логичный шаг – посмотреть не на отдельные пары товаров, а на все имеющиеся пары в совокупности. Т.е. каждую пару товаров можно представить в виде ребра графа с весом W. Если изобразить полученные связи графически, то получится что-то такое:


image


Из графа явно видны “сообщества” товаров, сильно связанные друг с другом. Давайте применим алгоритмы поиска сообществ в графах (social network analysis, SNA) и посмотрим на результат. Для примера использован алгоритм Лувейна. В результате должны получится группы товаров-заменителей. Посмотрим на пример результата:


  • DANONE АКТИВИА вишня 2,9% 150г
  • DANONE АКТИВИА клубника 2.4% 150г
  • DANONE АКТИВИА черника 2,9% 150г
  • DANONE АКТИВИА мюсли 2.4% 150г
  • DANONE АКТИВИА отруби и злаки 2,9% 150г

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


  • Крем Люкс для лица для сухой кожи
  • Крем Янтарь для лица для сухой и нормальной кожи
  • Невская косметика крем для лица морковный для сухой и чувствительной кожи
  • Невская косметика крем для лица огуречный для жирной и комбинированной кожи
  • Невская косметика крем для лица оливковый для сухой и нормальной кожи
  • Невская косметика крем для лица женьшеневый вокруг глаз

А теперь иерархия


Алгоритм Лувейна позволяет строить иерархии сообществ. В упрощенном виде – давайте построим сообщества разных размеров, развернем их в дерево (дерево принятие решений покупателя, customer decision tree) и посмотрим на пример результата:


image


Ура! Полученное дерево отлично трактуется с точки зрения бизнес логики и интуиции – человек определился, что хочет сгущенку, потом выбрал между банкой и пакетом, затем выбрал цену, по которой готов купить товар. Теперь мы понимаем по каким характеристиками человек закрывает потребность в сгущенке – вид упаковки и ценовой сегмент. В данном конкретном примере нет привязанности к бренду и прочих вещей, которые часто любят приписывать к товару.


Дерево красивое, а что дальше


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


  • в идеале необходимо, чтобы каждую потребность закрывал хотя бы один товар. Т.е. в каждом магазине сети должны присутствовать товары, закрывающие потребности покупателей. Т.е. вместо 20 железных банок сгущенки лучше иметь 10 железных банок и 10 пакетов.
  • в рамках одной потребности товары наиболее сильно каннибализируют друг друга. Т.е. теперь мы ограничены набором товаров, в рамках которых можно рассчитывать кросс-эффекты для ценообразования и прогнозирования спроса.
  • данное дерево помогает при выкладке товаров на полку (или порядок товаров на сайте)
  • в персональных рекомендациях дополняет классический MBA для формирования предложений cross-sale

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


Надеюсь было интересно! Оптимизируйте процессы, кластеризуйте графы, оптимизируйте хранение данных (ведь Garbage In – Garbage Out) и получайте классные результаты.


+23
12k 50
Comments 29
Top of the day