Шрифт
Применение ассоциативных правил для стимулирования продаж
Play

Применение ассоциативных правил для стимулирования продаж

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

Описание задачи

Имеется некая оптовая фирма, назовем ее "Оптовик". Количество позиций (товаров, которыми она торгует) достигает 10000. Одной из главных задач этой фирмы является работа с покупателями. Это либо более мелкие оптовые фирмы, либо фирмы, которые торгуют в розницу.

Опишем типичный процесс закупки товаров у фирмы "Оптовик".

  1. Приходит покупатель с определенной суммой, допустим 10 т. р.
  2. Ему на руки выдается прайс-лист, в котором перечислены имеющиеся товары и их цена.
  3. Некоторые товары он (покупатель) точно знает, что будет брать (основываясь на предварительных собственных исследованиях, либо на личном опыте и интуиции). Далее менеджер фирмы "Оптовик" вводит те позиции, которые выбрал покупатель, в электронную расходную накладную. Заметим, что если покупатель захотел купить товар A в количестве, допустим, 10 единиц, а на складе осталось 8, то у покупателя остаются деньги, которые он планировал вложить в этот товар. В этом случае он либо вложит оставшиеся деньги в другой товар, либо не потратит их в этот раз и в этой фирме, что явно невыгодно фирме "Оптовик".
  4. Дальше покупатель задает менеджеру вопрос, например: "На какую сумму получается покупка?" В нашем случае эта сумма равна 8 т. р., а покупатель желал сделать покупку на 10 т.р. Следовательно, он может еще сделать покупку на сумму 2 т.р.
  5. Следующим этапом процесса типичной закупки, как правило, будет выбор каких-либо товаров, которые ему посоветует менеджер. Заметим: количество позиций огромно, и менеджер просто не в состоянии следить за всем ассортиментом фирмы "Оптовик". И, скорее всего, менеджер посоветует купить товары, являющиеся лидерами продаж, либо те товары, которые находятся рядом (по прайс-листу) с уже купленными. Смысл данного подхода в том, что менеджер не всегда предлагает именно тот товар, который покупатель, скорее всего, хочет (хотя об этом и не знает) приобрести. И, как следствие, товар, который мог бы быть продан, остается на складе.

Описанная выше ситуация – это явная ситуация упущенной выгоды. Задача менеджера фирмы "Оптовик" предугадать желание покупателя и даже подсказать, если покупатель еще до конца не определился в отношении покупки "дополнительных" (не планируемых заранее), либо заменяющих отсутствующие на складе товары, если у клиента нет никаких соображений по этому поводу. Поставленную задачу в полном объеме не в состоянии решить даже очень опытный и талантливый менеджер, так как товаров очень много и некоторые закономерности совсем не очевидны. Помочь менеджеру может такая система, которая будет подсказывать ему список тех товаров, которые склонен купить клиент к уже приобретенным в этот раз (в текущей транзакции).

Вариант решения задачи

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

Правила, генерируемые этим алгоритмом, имеют наглядный вид, и в общем случае их можно представить в следующем виде:

Если покупатель купил товар A1 и товар A2 . и товар An, то он, скорее всего, купит товар B1 и товар B2 . и товар Bm.

. Если покупатель купил товар A1 и товар A2 . и товар An, то он, скорее всего, купит товар C1 и товар C2 . и товар Ck. . Если покупатель купил товар D1 и товар D2 . и товар Dt, то он, скорее всего, купит товар E1 и товар E2 . и товар Ep

Здесь (A1, A2, . An), . (D1, D2, . Dt) – те товары, которые покупатель уже купил в текущей транзакции, а (B1, B2, . Bm), . (C1, C2, . Ck) , . (E1, E2, . Ep) – те товары, которые покупатель склонен купить за тот же визит.

Как Вы, наверное, заметили, при одном и тому же условии (товар A1 и товар A2 . и товар An) может быть несколько вариантов следствий. Из этого можно извлечь следующую выгоду. Если предложенные менеджером товары, входящие в следствие 1-го правила (B1, B2, . Bm), покупателя все же не устраивают, то у менеджера есть возможность предложить клиенту товары, входящие в следствие другого правила (C1, C2, . Ck) с тем же условием (A1, A2, . An).

Каждое правило имеет две числовые характеристики:

  1. Поддержка правила (в контексте данной статьи) – это процентное отношение количества заказов, содержащих все товары, которые входят в правило (в заказ могут входить и другие товары), к общему количеству заказов. Другими словами, поддержка характеризует то, насколько часто покупаются товары, входящие в правило совместно.
  2. Достоверность правила (в контексте данной статьи) – это процентное отношение количества заказов, содержащих все товары, которые входят в правило, к количеству заказов, содержащих товары, которые входят в условие. Другими словами, достоверность характеризует то, насколько часто покупаются товары, входящие в следствие, если заказ содержит товары, вошедшие во всё правило.

Практический пример

Для демонстрации будут использоваться 2 базы данных. В каждой имеется информация об истории продаж оптовой фирмы за достаточно длительный срок. В первом случае основной деятельностью фирмы является оптовая продажа кондитерских изделий, и анализируемая история продаж составляет 1 год (около 1,5 млн. записей); во втором случае это предприятие, занимающееся оптовой продажей медикаментов, и анализируемая история продаж составляет 1,5 года (около 0,7 млн. записей).

Выявление наиболее интересных правил

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

  1. Уменьшение минимальной поддержки приводит к тому, что увеличивается количество потенциально интересных правил, однако это требует существенных вычислительных ресурсов. Одним из ограничений уменьшения порога minsupport является то, что слишком маленькая поддержка правила делает его статистически необоснованным.
  2. Уменьшение порога достоверности также приводит к увеличению количества правил. Значение минимальной достоверности также не должно быть слишком маленьким, так как ценность правила с достоверностью 5% настолько мала, что это правило и правилом считать нельзя.
  3. Правило со слишком большой поддержкой с точки зрения статистики представляет собой большую ценность, но с практической точки зрения это, скорее всего, означает то, что либо правило всем известно, либо товары, присутствующие в нем, являются лидерами продаж, откуда следует их низкая практическая ценность.
  4. Правило со слишком большой достоверностью практической ценности в контексте решаемой задачи не имеет, т.к. товары, входящие в следствие, покупатель скорее всего уже купил.

Если значение верхнего предела поддержки имеет слишком большое значение, то в правилах основную часть будут составлять товары – лидеры продаж. При таком раскладе не представляется возможным уменьшить порог minsupport до того значения, при котором могут появляться интересные правила. Причиной тому является просто огромное число правил, и, как следствие, нехватка системных ресурсов. Причем получаемые правила процентов на 95 содержат товары – лидеры продаж. Пример таких правил представлен в табл. 1, 2 (обратите внимание на значения величин, minsupport и maxsupport).

Таблица 1. Пример ассоциативных правил (БД: Кондитерские изделия; minsupport: 1.1; maxsupport: 100; minconfidence: 50; maxconfidence: 95)

📎📎📎📎📎📎📎📎📎📎