Как продуктовые магазины обманывают вас, чтобы вы купили один товар за другим
Как продуктовые магазины решают, какой проход находится напротив другого, и как разные категории и/или продукты расположены рядом друг с другом. Бонус: включает код Python.
Вы когда-нибудь задумывались, как продуктовые магазины решают, какой проход находится напротив другого прохода? Или разные категории и/или продукты находятся рядом друг с другом? Или вы, возможно, также заметили, как они делают товары со скидкой или в комплекте, например, «купи один, получи один продукт»? Это и есть ассоциативный анализ.
Ассоциативный анализ
Анализ ассоциаций — полезная методика для обнаружения интересных взаимосвязей, скрытых в больших наборах данных. Это позволяет вам идентифицировать элементы, которые имеют отношение друг к другу. Он чаще используется для анализа транзакционных данных, который называется анализом рыночной корзины, чтобы определить, какие товары часто покупаются или которые появляются вместе в транзакциях.
Многие предприятия накапливают большие объемы данных в ходе своей повседневной деятельности. Примером могут быть, как упоминалось ранее, продуктовые магазины. Ритейлеры заинтересованы в анализе данных, чтобы узнать о покупательском поведении своих клиентов. Эта информация может использоваться для поддержки бизнес-решений, таких как маркетинговые акции и управление запасами.
Ассоциативный анализ выводит простые правила. Примером может быть:
если {Продукт A}, {Продукт B} → {Продукт C} или {Хлеб, Яйцо} → {Молоко}
Это простые правила типа «если», «то». Это правило имеет два антецедента (продукт A и продукт B) и один результат (продукт C). Здесь длина правила равна трем, так как есть три продукта и набор товаров {Хлеб, Яйцо, Молоко}.
Изучение правил ассоциации
Изучение правил ассоциации – это подход, который обнаруживает силу взаимосвязей между различными точками данных. Его обычно используют, чтобы понять, какие продукты часто покупают вместе, как кратко описано выше в примере «Хлеб-Яйцо-Молоко». Широко используемый алгоритм обучения ассоциации называется Apriori.
«Априорный алгоритм использует два шага «объединение» и «обрезка», чтобы уменьшить пространство поиска. Это итеративный подход к обнаружению наиболее часто встречающихся наборов элементов».
В Apriori есть четыре показателя: Поддержка, Уверенность, Ожидаемая уверенность и Подъем. . И каждая из этих четырех метрик поможет вам по-своему понять их взаимосвязь с другими элементами.
Априорные метрики
Поддержка
Поддержка дает представление о том, насколько часто набор элементов встречается во всех транзакциях. Он дает вам процент всех транзакций, которые содержат как продукт A, так и продукт B.
Проще говоря, количество транзакций, содержащих продукты A и B, деленное на общее количество транзакций.
Здесь 100/1000 = 0,1.
Это означает, что 10% всех транзакций содержат как Хлеб, так и Молоко.
Уверенность
Надежностьизмеряет подобие появления следствия в корзине при условии, что у корзины уже есть антецеденты. Например, сколько из всех транзакций, содержащих {Продукт А}, также содержало {Продукт Б}?
Достоверность равна количеству транзакций, содержащих продукт A и B, деленному на количество транзакций, содержащих продукт A.
Здесь 100/150 = 0,67.
Это означает, что из всех транзакций, содержащих Хлеб, 67% также содержали Молоко.
Примечание. Если вы поменяете порядок продуктов A и B, то есть продукт A теперь будет молоком, а продукт B теперь будет хлебом, то этот показатель изменится. Основная причина в том, что молоко покупают чаще, чем хлеб; таким образом, знаменатель уравнения изменится, и доверительная метрика тоже изменится.
В приведенном выше примере «Уверенность» значение 67% наводит вас на мысль, что между хлебом и молоком существует тесная связь. Но на самом деле большая часть из 67%, вероятно, обусловлена тем фактом, что молоко покупают так часто, что оно часто появляется в большинстве других продуктов, даже если на самом деле между ними нет особой связи. Для их регулирования потребуются две другие метрики (Ожидаемая достоверность и Прирост).
Ожидаемая уверенность
Ожидаемая достоверность – это процентная доля всех транзакций, содержащих Продукт Б.
Уравнение для ожидаемой достоверности представляет собой количество транзакций, содержащих продукт B, деленное на общее количество транзакций.
Здесь 800 / 1000 = 0,8
Прежде чем мы подведем итоги ожидаемой достоверности, нам нужно перейти к последнему показателю, который называется Подъем.
Поднимать
Подъем – это достоверность комбинации элементов, деленная на поддержку следствия. Это коэффициент, на который достоверность превышает ожидаемую достоверность. Прирост говорит вам, насколько вероятно, что продукт Б будет куплен, когда будет куплен продукт А, при этом контролируя, насколько популярен продукт Б.
В примере с хлебом и молоком это просто означает, насколько вероятно, что молоко будет куплено при покупке хлеба, при этом контролируя популярность молока.
Возвращаясь к примеру Уверенность, мы получили результат 0,67. Он показал, что из всех транзакций, содержащих Хлеб, 67% из них содержали Молоко. Затем для ожидаемой достоверности мы получили оценку 0,8. Это означало, что 80% всех транзакций содержали молоко. Чтобы рассчитать подъем, мы просто делим достоверность на ожидаемую достоверность. Итак, 0,67/0,8 равно 0,83. Что означает показатель подъема 0,83? Это просто означает, что они появляются реже, чем ожидалось, в зависимости от того, как часто покупается молоко.
Примечание.Показатель роста больше 1 означает, что продукты A и B появляются вместе чаще, чем ожидалось. А показатель роста менее 1 означает, что продукты А и Б появляются вместе реже, чем ожидалось.
В примере мы рассчитали только отношение между хлебом и молоком. Однако в действительности вы будете производить расчеты с несколькими продуктами одновременно, и все, что вам нужно, — это отсортировать показатель подъема для каждого из них, чтобы увидеть, какие продукты имеют наибольшую взаимосвязь друг с другом.
Вот и все! Теперь вы понимаете и можете ответить на ранее заданный вопрос о том, как продуктовые магазины решают, какой проход находится напротив другого прохода, и как разные категории и/или продукты расположены рядом друг с другом, и как предлагаются скидки на товары. Теперь отправляйтесь на пробежку по магазинам и понаблюдайте за размещением продуктов!
Запуск в Python
Задача из курса Бесконечный курс по науке о данных
Обзор проблемы: проанализируйте продажи алкоголя с помощью предоставленных данных и определите, какие продукты покупаются вместе, чтобы решить, какие продукты можно разместить рядом друг с другом, чтобы упростить работу магазина покупателя и чтобы маркетинговая команда знала, какие продукты рекламировать больше и побудить клиентов к покупке.
Обзор набора данных:
Интерпретация результатов: как вы можете видеть ниже, первая строка имеет показатель подъема 10,17, это означает, что подарки с вином часто покупаются вместе с подарками с пивом/лагером. Следующий ряд — пиво/лагер. Подарки часто покупаются за крепкие спиртные напитки и так далее.
С точки зрения бизнеса приведенные выше результаты окажут большую помощь с точки зрения того, как вы будете стратегически размещать свои алкогольные напитки в своем магазине.
Ссылки: