Неделя супер-распродажиClaude Skills — скидка 20%
Glossary

Что такое анализ покупательской корзины? Метрики, примеры и сценарии использования

Powerdrill Bloom·
Что такое анализ покупательской корзины? Метрики, примеры и сценарии использования

Анализ рыночной корзины — это метод определения того, какие товары покупаются вместе в рамках одной транзакции. Он анализирует данные о заказах для поиска комбинаций товаров, которые встречаются чаще, чем при случайном совпадении. Каждый паттерн описывается тремя метриками: поддержка (support), достоверность (confidence) и лифт (lift). Ритейлеры и интернет-магазины используют этот метод для перекрестных продаж, формирования комплектов и оптимизации выкладки товаров.

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

Что такое анализ рыночной корзины

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

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

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

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

Как это работает

Анализ рыночной корзины выполняется в два этапа.

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

На втором этапе наборы элементов преобразуются в правила. Для каждого частого набора алгоритм разделяет его на антецедент и консеквент и оценивает полученное правило. Документация mlxtend описывает генерацию правил как «распространенную задачу при поиске частых паттернов».

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

Перед расчетом метрик результат формируют три решения по подготовке данных. Во-первых, определите, что считать транзакцией (обычно это уникальный ID заказа). Во-вторых, фиксируйте сам факт наличия товара, а не его количество (то есть три единицы одного товара все равно считаются как одна покупка). В-третьих, выберите уровень детализации. Категории продуктов дают меньше правил, но они будут более общими, тогда как отдельные SKU дают более точные правила, требующие большего объема данных.

Три ключевые метрики

Каждое правило оценивается по трем числовым показателям. Именно их совместный анализ позволяет отличить полезную закономерность от случайного совпадения.

Поддержка

Поддержка — это доля всех транзакций, содержащих данный набор элементов. Если 60 из 1,000 заказов содержат как чехол для телефона, так и защитное стекло, поддержка этой пары составляет 0.06, или 6%.

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

Достоверность

Достоверность — это вероятность появления консеквента при условии, что в корзине уже есть антецедент. Она равна поддержке пары товаров, деленной на поддержку антецедента.

Достоверность имеет направление. Достоверность правила «из А следует С» обычно отличается от достоверности правила «из С следует А». Пример ниже показывает, почему это так.

Лифт

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

В документации mlxtend четко описана точка отсчета: «Если А и С независимы, показатель Lift будет равен ровно 1». Лифт выше 1 означает, что товары появляются вместе чаще, чем случайно. Лифт ниже 1 указывает на то, что они покупаются вместе реже.

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

Рассмотрим интернет-магазин электроники с 1,000 заказов за месяц.

Показатель Значение
Заказы, содержащие чехол для телефона 200
Заказы, содержащие защитное стекло 100
Заказы, содержащие оба товара 60
Поддержка пары 60 / 1,000 = 0.06
Достоверность, от чехла к стеклу 0.06 / 0.20 = 0.30
Достоверность, от стекла к чехлу 0.06 / 0.10 = 0.60
Лифт 0.30 / 0.10 = 3.0

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

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

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

Другие метрики, о которых стоит знать

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

Рычаг (Leverage) измеряет разницу между наблюдаемой и ожидаемой частотой совместного появления. Документация mlxtend определяет его путем сравнения наблюдаемой совместной встречаемости с «частотой, которая ожидалась бы, если бы А и С были независимы». Значение рычага, равное 0, означает независимость.

Убежденность (Conviction) измеряет, насколько сильно консеквент зависит от антецедента. Как и в случае с лифтом, значение 1 указывает на независимость. Более высокие значения означают, что правило нарушается реже, чем можно было бы ожидать случайно.

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

Алгоритмы: Apriori и FP-Growth

Apriori — это классический алгоритм. Документация mlxtend ссылается на статью Агравала и Шриканта 1994 года о быстрых алгоритмах поиска ассоциативных правил как на первоисточник. Apriori строит наборы элементов уровень за уровнем и отсекает любые наборы, подмножества которых не являются частыми, что позволяет удерживать объем вычислений под контролем.

FP-Growth находит те же частые наборы элементов, но другим путем. Документация mlxtend описывает его как «популярную альтернативу устоявшемуся алгоритму Apriori». Он строит дерево частых паттернов (frequent pattern tree) и не требует генерации кандидатов. В документации отмечается, что это делает его «особенно привлекательным для больших наборов данных».

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

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

Для чего используется анализ рыночной корзины

Анализ рыночной корзины чаще всего применяется в розничной торговле и электронной коммерции, но сценарии его использования гораздо шире.

  • Перекрестные продажи. Рекомендуйте консеквент при оформлении заказа, когда антецедент уже находится в корзине.
  • Пакетные предложения. Объединяйте товары с высоким показателем лифта в единое предложение.
  • Планировка магазина и веб-страниц. Размещайте часто покупаемые вместе товары рядом друг с другом — на полке или на странице товара.
  • Планирование запасов. Храните парные товары на складе вместе, чтобы дефицит одного из них не привел к скрытому снижению продаж другого.
  • Контент и медиа. Рассматривайте сессию пользователя как корзину и определяйте, какие статьи или видео просматриваются вместе.
  • Услуги. В банковской сфере или телекоме относитесь к продуктам каждого клиента как к корзине и находите наиболее частые комбинации услуг.
  • Анализ эффективности кампаний. Сравнивайте показатель лифта для пары товаров до и во время проведения кампании. Резкий рост показывает, что кампания изменила покупательское поведение, а не просто увеличила объем продаж.

Каждый сценарий использования начинается с одного и того же вопроса: когда клиенты выбирают один товар, что еще они склонны выбирать?

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

Анализ рыночной корзины в сравнении с другими методами

Анализ рыночной корзины часто путают с сегментацией клиентов и рекомендательными системами. В таблице показаны основные различия между ними.

Метод Единица анализа Главный вопрос Типичный результат
Анализ рыночной корзины Транзакции Какие товары покупаются вместе? Ассоциативные правила с поддержкой, достоверностью и лифтом
Сегментация клиентов Клиенты Какие клиенты похожи друг на друга? Группы клиентов с общими признаками
Коллаборативная фильтрация История клиентов и товаров Что понравится этому человеку в следующий раз? Персонализированные рекомендации
Когортный анализ Группы по дате начала Как меняется поведение со временем? Таблицы и кривые удержания

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

Ограничения, о которых стоит знать

Правила, полученные в результате анализа рыночной корзины, полезны, но их легко переоценить или неверно истолковать.

Совместное появление — это не причинно-следственная связь. Высокий показатель лифта для пары товаров говорит лишь о том, что они покупаются вместе. Он не означает, что покупка одного товара является причиной покупки другого.

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

Редкие товары теряются. Дорогой товар, который покупают всего несколько раз в месяц, может никогда не достичь порога поддержки, даже если его связи с другими товарами очень сильны.

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

Большое количество пар приводит к ложным паттернам. Каталог из 500 товаров содержит более 100,000 возможных пар. Некоторые из них покажут высокий лифт исключительно из-за случайного совпадения. Прежде чем принимать решения на основе важных правил, подтвердите их на данных за другой период времени.

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

Как провести анализ без написания кода

Классический путь — использование Python с библиотекой вроде mlxtend или SQL для подсчета пар. Оба варианта требуют преобразования данных о заказах так, чтобы на каждую транзакцию приходилась одна строка, а на каждый товар — один столбец.

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

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

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

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

Если у вас готова выгрузка заказов, вы можете попробовать Powerdrill Bloom в деле и сравнить самые популярные пары товаров с ожиданиями вашей команды.

Часто задаваемые вопросы

Что такое анализ рыночной корзины простыми словами?

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

Что такое лифт в анализе рыночной корзины?

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

Как рассчитываются поддержка и достоверность?

Поддержка — это количество транзакций, содержащих данный набор товаров, деленное на общее число транзакций. Достоверность — это поддержка пары товаров, деленная на поддержку антецедента. Оба показателя обычно выражаются в виде десятичных дробей или процентов.

Какой алгоритм используется для анализа рыночной корзины?

Классическим алгоритмом является Apriori, а FP-Growth выступает его популярной и более быстрой альтернативой. Оба алгоритма находят частые наборы элементов в данных о транзакциях, после чего на основе этих наборов создаются и оцениваются правила.

Можно ли сделать анализ рыночной корзины в Excel?

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

Источники: mlxtend, Ассоциативные правила · mlxtend, Apriori. В практическом примере используются демонстрационные данные.