Что с чем объединить, чтобы продать больше, а потратить меньше?

Когда я выкладываю товары на ленту возле кассы в супермаркете и вижу мужчину лет 30-35 с корзинкой заполненной пивом, чипсами и прочими "погрызушками", я понимаю, что сегодня с большой вероятностью будет транслироваться  какой-то интересный футбольный матч.

 

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

 

Позже задача была сформулирована в более общем виде - найти зависимости (ассоциативные правила) вида "если в транзакции встретился набор элементов X, то другой набор элементов Y с некоторой вероятностью также встретится в этой транзакции". 

 

Давайте рассмотрим пример добычи нового знания из базы с чеками. Пусть у нас имеются данные о чеках (транзакции) их некоторого супермаркета. В каждом чеке перечислены товары (элементы). На основании анализа чеков мы нашли следующее ассоциативное правило: если в чеке присутствуют газированные напитки и попкорн, то с вероятностью 63,3% (confidence, достоверность) в этом же чеке будут присутствовать и другие соленые закуски. Таких чеков в общей массе будет 0,122% (support, поддержка) при этом такой набор встречается чаще в 16,69 (lift, ) раз, чем только соленые закуски.

 

Так это же очевидно, скажете вы. Покупатели часто берут содовую, попкорн и другие снеки, когда собираются компанией для просмотра фильма, спортивной передачи или просто на дружескую вечеринку. Да, это интуитивно понятно, но не было знанием "де-факто" пока мы не оцифровали его. Владея такими знаниями, мы можем разработать маркетинговую акцию, которая будет направлена на стимулирование покупок соленых закусок и посчитать выгоды и затраты на нее. Например, создав "пакет" "Содовая + соленые закуски" или создав акцию с партнерами, например, "купи содовую и соленые закуски" и получи тестовый доступ на просмотр HD-каналов кабельного телевидения". 

 

Зачастую, очевидные правила имеют высокую достоверность и поддержку. Основное внимание необходимо уделять правилам, имеющим невысокую поддержку с высокой достоверностью, именно они могут стать источником идеи промоакции или "набора" товаров/услуг.

 

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

 

Например, в страховании анализируя базу транзакций -  договоров страхования (КАСКО, ДМС и т.п.) , можно выводить ассоциативные правила для элементов (опции в покрытии), формируя продуктовый ряд с "преднастроенными опциями" (условные "КАСКО-лайт", "ДМС-премиум" и т.п.).

 

Автодилеры могут формировать пакеты опций для автомобилей или группировать услуги СТО, комбинируя поппулярные улсуги с высокомаржинальными.

 

Можно искать шаблоны в ответах на вопросы анкеты в различных исследованиях, шаблоны для выявления мошенничества, формировать предложения для кросс-продаж на площадках интернет-магазинов и т.п. Другими словами, если существует некоторое множество "транзакций", состоящих из набора "элементов", то всегда можно попробовать найти правила объединения элементов в этом множестве.

 

Ив завершение этой короткой заметки несколько визуализаций, которые помогают выводить и анализировать ассоциативные правила.

 

Для анализа будем использовать библиотеки arules и arulesViz из пакета R и набор данных "Groceries", входящий в этот пакет, который содержит информацию о транзакциях некоторого супермаркета. 

 

Для начала построим диаграмму частоты покупок различных товаров.

Мы видим, что наиболее частопокупаемым товаром является молоко - более 25% в общем количестве чеков. Еще в 15-20%% чеков встречаются содовая, булочки и овощи.

Можем предположить, что они будут также часто встречаться в наших правилах.

 

С помощью алгоритма apriori найдем список ассоциативных правил. Зададим первоначальные условия для отбора правил: поддержка - 0.001 и достоверность - 0.5. Это будет означать, что в наш список попадут все правила, которые встречаются чаще, чем 0.1% и с вероятностью выполнения правила -50%. Также укажем еще один параметр - минимальную длину правила - 2, что означает попадание в список правил вида " если встречается элемент1, то встретися еще элемент2".  Если бы мы указали этот параметр равным 3, то правила были бы вида "если встречаются элемент1 и элемент2, то элемент3". В зависимости от к-ва товаров в чеке, мы можем отсекать ненужные или очевидные правила.

 

Исходя из наших параметров, алгоритм apriori выдал 5668 правил. Выгрузим их в эксель файл и получим таблицу с такими колонками.

Собственно, в первой колонке и есть наши правила, а дальше указаны его харакетиристики. Мы видим, что наиболее частопокупаемым набором является: овощи, йогурт и молоко.

 

 

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

 

Например, на этом графике мы видим группу правил в левом верхнем углу с достоверностью равной 1. 

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

 Кто-то постоянно покупает такой набор "{cream cheese ,domestic eggs,sugar} => {whole milk}".  Это же ингридиенты для кремово-творожного десерта. Может мы захотим отблагодарить нашего клиента за такое пстоянство (11 покупок одного набора), подарив ему мастер-класс от известного шефа-кондитера, или подарим ему 12-й набор бесплатно, или воспользуемся этим правилом и создадим такой набор, упаковав все вместе и добавив красочных фотографий с рецептами.

 

Своими идеями можно поделиться в комментариях. 

 

 

 С общей ситуацией с ассоциативными правилами разобрались немного. Давайте посмотрим детали.

Построим следующую матрицу, где по-горизонтали будут отображаться наборы продуктов из левой части наших правил (до стрелки =>), а по-вертикали из правой части (после стрелки =>). Для матрицы отберем правила, для которых достоверность больше 0.8.

Ниже указан перечень товаров из правой части (Right Hand Side) 

 

Itemsets in Consequent (RHS)

  1. "{whole milk}"

  2. "{other vegetables}"

  3. "{yogurt}"

  4. "{tropical fruit}"  

  5. "{root vegetables}"

  6. "{bottled beer}" 

Видим, что молоко находися в большом количестве наборов, а пиво в бутылках встречается редко, но значение показателя lift для этого набора очень велико. 

 

Построим еще одну диаграмму, которая позволит более детально изучить полученные результаты. 

 

 

 Очень интересно выглядит правило "{liquor,red/blush wine} => {bottled beer}". Мы видим, что пиво в бутылках связано только с одним набором.

 

Еще несколько интересных визуализаций, которые пмогают лучше разобраться во взаимосвязях элементов и правил.

 

На графе каждое правило представлено в виде вершины (точки), где входящие ребра представляют "левую часть" правила, а исходящее - "правую часть". Размер точки определяет лифт, а цветом закодирован уровень поддержки.

 На графе очень хоршо выделяется правило, стоящее отдельно от других. Скорее всего, это набор для выпечки. Также интересны два правила внизу справа, которые связаны с белым хлебом. 

 

Еще один интересный способ визуализации правил - параллельные координаты 

Отберем ТОП-10 правил, с наибольшим параметром lift и отразим их на графике. В крайней правой колонке (RHS)  отмечаются продукты из "правой части" правила. Стрелка проходит через все позиции в "левой части" правила. Длина стралки показывает количество позиций в правиле. Толщина стрелки отражает уровень поддержки.

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

 

Задавайте свои вопросы в комментариях. Будем рады обсудить их.

 

Требуется консультация по анализу клиентской базы и увеличению продаж? Напишите нам или назначьте встречу.

 

 

 

 

Share on Facebook
Share on Twitter
Please reload

Избранные посты

Уйдет или не уйдет?

March 23, 2018

1/4
Please reload

Недавние посты