Учебник для начинающих с рабочим примером

Недавно я закончил курс DataCamp по анализу ассоциаций (которого ведет доктор Исайя Халл) в рамках направления их специализации по Маркетинговой аналитике [1]. До сих пор этот ресурс был одним из самых практичных руководств, с которыми я сталкивался, и заслуживает отличного обзора, поэтому спасибо всем участникам! Этот пост в блоге — просто краткое изложение того, что я узнал, и простой способ начать работу с проблемами анализа ассоциаций при работе с любой формой розничных/транзакционных данных. Это не обширный обзор теоретических концепций ассоциативного анализа, который выходит за рамки данной статьи.

Что такое Ассоциативный анализ?

Ассоциативный анализ позволяет компаниям понять скрытые взаимосвязи в своих данных [см. 2–4 для более подробного ознакомления с этой темой]. Как правило, этот тип анализа используется для обнаружения часто происходящих событий. Например, когда я захожу на розничную онлайн-платформу, такую ​​как Amazon, чтобы купить компьютер MacBook, я обнаруживаю, что те же самые пользователи также покупают AirPods. Поэтому, если бы мне поручили посоветовать интернет-магазину, какие товары следует продавать вместе с MacBook, я бы сказал им, что, возможно, имеет смысл продавать MacBook и AirPods вместе, чтобы увеличить продажи обоих товаров. Однако не всегда очевидно, произошли ли такие события случайно, потому что оба предмета являются популярными и, возможно, это слишком очевидно для розничного продавца. Прежде чем вкладывать маркетинговые доллары в совместное продвижение обоих товаров, необходимо убедиться, что продажа обоих вместе более эффективна, чем продажа их по отдельности.

Объединение AirPods и MacBook вместе — это пример правила ассоциации, полученного на основе данных о розничных транзакциях. Однако компаниям не так просто определить значимые правила ассоциации вручную, учитывая большой объем и сложность данных. Даже если небольшой розничный магазин содержит всего 40 товаров и хочет решить, как лучше всего разместить пары товаров рядом друг с другом в своем интернет-магазине, существует 780 возможных пар, которые они могут принять, при условии, что они просто хотят думать о перекрестных продажах. два элемента одновременно (=n!(n-r)! r=!40!(40–2)! 2! = 780)[5–6].

4 простых шага, чтобы начать анализ ассоциаций в Python с пакетами pandas и mlxtend

В этом разделе представлены 4 простых шага, чтобы начать анализ ассоциаций в python с практическим примером. Мой блокнот Kaggle и полный код вклеены внизу статьи. Образец набора данных, который я использовал, является одним из ресурсов электронной коммерции Kaggle, содержащим исторические транзакции продаж электронных товаров.

  1. Опишите свои данные и реструктурируйте их с помощью кодировки OneHot

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

Во-вторых, я применяю горячее кодирование для представления каждого идентификатора заказа в виде уникальной строки и каждого столбца для идентификации уникального элемента. Я игнорирую столбец заказанного количества и позволяю значению этого заказа быть Истина, если данный товар был продан в этом заказе, и Ложь в противном случае. На самом деле заказ может содержать несколько отдельных товаров, а также несколько заказов одного товара, но здесь я упростил проблему.

2. Определите вероятность (частоту поддержки) элементов

Частота поддержки — это количество продаж любого отдельного товара (здесь мы учитываем каждый товар только один раз за заказ), разделенное на общее количество транзакций или заказов в этом примере. В этом наборе данных 17 538 уникальных заказов, и я заметил, что USB-кабели, аккумуляторы и гарнитуры являются одними из наиболее часто продаваемых товаров. Может ли это понимание помочь розничному продавцу также увеличить продажи менее часто продаваемых товаров, сочетая их с этими более дешевыми электронными товарами? Какие продукты имеет смысл сочетать вместе, учитывая это понимание?

3. Вычислить потенциальные пары элементов, чтобы определить значимые правила, используя априорный метод [7]

Один из способов решить, какие продукты можно продавать вместе, — это вычислить все возможные пары товаров (при условии, что мы хотим продавать сразу два товара) и разработать различные показатели, такие как доверие и подъем [8–9] в транзакциях по сравнению с продажей этих товаров. продукты по отдельности. В этом случае легко вычислить все комбинации ассоциативных правил, так как можно продать только 20 уникальных предметов. Однако по мере увеличения количества элементов невозможно вычислить все возможности.

Теория состоит в том, что следует выбирать пары элементов, которые чаще встречаются вместе, но необходимо доказать, что такие пары не возникают случайно из-за того, что отдельные элементы очень популярны. Вот почему метрика подъема позволяет ритейлерам рассчитать поддержку обоих товаров, продаваемых вместе, по сравнению с отдельными товарами. Если подъем равен > 1, это означает, что сочетание таких товаров вместе может обеспечить рост продаж, как показывают исторические данные.

Затем я применяю априорный метод [7] к набору данных, чтобы определить наиболее значимые правила, как показано во фрагменте кода ниже. Чтобы уменьшить вычислительную сложность, априорный метод отбрасывает правила с низкой частотой поддержки, так что остаются комбинации, обеспечивающие более высокий рост продаж за счет их частого использования. Априорный метод берет предшествующие элементы (например, кабель USB-C) и последствия (например, телефон Google) и вычисляет возможные комбинации правил ассоциации и их соответствующую уверенность, подъем, рычаги воздействия и убежденность. Определение каждой метрики выходит за рамки этой статьи, но я сделал некоторые выводы на основе результатов априорного метода в этом руководстве.

4. Обобщите рекомендации для заинтересованных сторон

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

Рекомендации из этих правил ассоциации несколько интуитивны. Априорный метод показывает, что при соединении iPhone с зарядным кабелем Lightning или телефона Google с кабелем USB-C наблюдается подъем в 1,4–1,5 раза. Тем не менее, эти правила кажутся очевидными, поскольку вам понадобится зарядное устройство каждый раз, когда вы покупаете телефон. Таким образом, это не подразумевает причинно-следственной связи, хотя правила показывают значительный рост транзакций.

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

Заключение

Хотя это ни в коем случае не исчерпывающее введение в анализ ассоциаций, цель этой статьи — предоставить практические примеры и код, чтобы быстро приступить к решению важной для бизнеса проблемы. Но анализ и обработка данных — это только 50 % дела, поскольку деловая хватка, здравый смысл и передача информации нетехническим заинтересованным сторонам необходимы для предоставления значимых рекомендаций компаниям посредством анализа данных.

Мой пример кода и набор данных на Kaggle

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





Полный код вставлен ниже:

Рекомендации

  1. Маркетинговая аналитика на Python, по состоянию на 21 октября 2022 г.: https://app.datacamp.com/learn/skill-tracks/marketing-analytics-with-python
  2. Отличный блог с более техническими определениями ассоциативного анализа, по состоянию на 21 октября 2022 г.: https://towardsdatascience.com/association-analysis-explained-255823c1cf9a.
  3. Виджай Коту, Бала Дешпанде, в Науке о данных (второе издание), 2019: https://www.sciencedirect.com/topics/computer-science/association-analysis
  4. Учебное пособие по правилам ассоциации, по состоянию на 21 октября 2022 г.: https://www.kdnuggets.com/2016/04/association-rules-apriori-algorithm-tutorial.html
  5. Калькулятор комбинаций, по состоянию на 21 октября 2022 г.: https://www.statskingdom.com/combinations-calculator.html
  6. Стэнфордская лекция по системам рекомендаций, по состоянию на 21 октября 2022 г.: http://infolab.stanford.edu/~ullman/mmds/ch9.pdf
  7. Метод априори, по состоянию на 26 октября 2022 г.: https://en.wikipedia.org/wiki/Apriori_algorithm#:~:text=Apriori%20is%20an%20algorithm%20для,достаточно%20часто%20в%20базе%20.
  8. Confidence and Lift, по состоянию на 26 октября 2022 г.: https://www.thedataschool.co.uk/liu-zhang/understanding-lift-for-market-basket-analysis
  9. Confidence and Lift, по состоянию на 26 октября 2022 г.: https://select-statistics.co.uk/blog/market-basket-analysis-understanding-customer-behaviour/