Настройка узла Анализ покупательских корзин
Данный узел или опция доступны, только если они включены в лицензии PolyAnalyst Server.

Диалоговое окно узла Анализ покупательских корзин состоит из трех вкладок. На вкладке Выбор колонок укажите исходные колонки алгоритма. На вкладке Настройки задайте параметры работы алгоритма. На вкладке Общие укажите имя и описание узла.

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

Переместите нужные колонки из списка слева в список выбранных колонок справа. Подробнее об этом — в разделе Выбор колонок во время настройки узлов.

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

basket analysis groupconfig.rus

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

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

basket analysis settings.rus

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

Опция Парные отношения используется для того, чтобы алгоритм выделял только парные комбинации товаров. Это значительно повысит скорость работы алгоритма, поскольку максимальный размер группы товаров в этом случае — всего 2. Например, алгоритм обнаружит закономерность: "Если покупаются рубленые котлеты, то, скорее всего, покупаются и булочки для гамбургера". При подключении данной опции алгоритм не будет обращать внимание на другие продукты (кетчуп, горчицу, приправы), которые также могли бы стать членами выявленной ассоциативной группы товаров. Опция позволяет выявить наиболее явные отношения, поскольку правила с одним условием (англ. antecedent) легче поддаются интерпретации, чем те, в которых условий несколько. Когда условий несколько (например, пять), выяснить, какое из них оказывает большее влияние на сопутствующие товары, невозможно. Опция Парные отношения позволяет избежать подобной путаницы.

С другой стороны, вполне реальна ситуация, когда отношение товаров A+B предопределяет присутствие товара C в корзине (хотя А и В по отдельности не требуют присутствия С). Использование опции Парные отношения в некотором смысле ограничит алгоритм, следовательно, у пользователя не будет возможности выявить связи по формуле A+B>C, поскольку алгоритм не сообщит ему обо всех возможных группах товаров.

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

Если опция Парные отношения подключена, проигнорируйте опцию Связи "ИЛИ".

Иногда пользователи могут выявить интересные закономерности в покупательском поведении, если опция Парные отношения отключена. Рассмотрим два примера:

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

  • Если покупатель приобретает клей и ножницы, то он купит и бумагу.

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

Анализ корзины для больших групп товаров выполняется итеративно — сначала выявляются пары, затем группы из трех, четырех и т.д. товаров. Количество вычислительных операций экспоненциально зависит от количества одновременно анализируемых товаров; количество вычислений для группы товаров пропорционально количеству товаров, представленных для анализа в конкретный момент времени, в степени N (где N — количество товаров). В связи с этим был найден способ сокращения времени вычислений путем сокращения количества товаров, которые анализируются одновременно. Чтобы выполнить многомерный анализ корзины, необходимо установить минимальный порог поддержки, скажем, в 2%. PolyAnalyst сначала удалит из списка все товары с поддержкой ниже 2%, потом выполнит анализ, сравнивая только пары товаров и выявляя ассоциативные правила.

Затем наступает второй этап исключения лишних значений. Любая комбинация двух товаров с поддержкой ниже установленного порога удаляется из списка, представленного к анализу для выявления ассоциативных правил. Затем оставшиеся пары снова подвергаются анализу, в результате которого выявляется набор ассоциативных правил. Этот процесс продолжается; далее исключаются все группы по три объекта, если они имеют поддержку ниже минимальной. Иногда, например, в маленьких магазинах, покупатели приобретают так мало товаров за раз, что ни одна группа из двух или трех товаров не будет иметь поддержку, достаточную для того, чтобы группа считалась сколько-нибудь значимой; в большом супермаркете, где покупатели приобретают более ста наименований продукции за один раз, 10-12 товаров могут формировать устойчивые отношения.

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

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

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

Чем ниже поддержка, тем больше будет размер выявленных групп товаров. И наоборот, чем выше поддержка, тем меньше будет размер выявленных групп или тем меньше групп товаров обнаружит алгоритм.

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

Достоверность — это вероятность того, что второй член отношения, или сопутствующий товар (англ. consequent), будет истинным, если все первые члены отношения истинны. Установка минимальной достоверности — дополнительная возможность отсеять незначимые отношения из отчета узла. Чем выше достоверность правила, тем более значимо ассоциативное правило. Однако если задать слишком высокий порог достоверности, алгоритм может не выявить ни одного действующего правила. Поле Минимальная достоверность должно содержать действительное число от 0 до 1.

Поддержка сама по себе не является достаточным критерием для оценки качества выявленного ассоциативного правила. Например, является ли поддержка в 20% в пользу комбинации чипсов и молока достаточным основанием полагать, что эти два товара устойчиво связаны друг с другом? Это может означать, что 20% покупателей приобретают одновременно чипсы и молоко, и никто из них не покупает молоко без чипсов. В таком случае это надежное отношение. Но что, если 100% покупателей берут молоко, и только 20% из них покупают чипсы? В этом случае выявленное отношение не имеет значимости даже при поддержке в 20%. Покупка молока не всегда сопровождается покупкой чипсов. Что нам действительно необходимо в данной ситуации, так это — своего рода гарантия того, что покупка одного товара обязательно повлечет за собой покупку другого.

Подобную гарантию нам предоставляет критерий достоверности. Достоверность ассоциативного правила — отношение поддержки комбинации товаров к поддержке условия (первого члена отношения). Например, в результате 5 торговых операций, правило "Если покупатель приобретает молоко, он купит и чипсы" имеет достоверность 33%. Поддержка комбинации (чипсы + молоко) составляет 20% (1 из 5 торговых операций), а поддержка условия (молоко) — 60% (3 из 5 операций). В результате достоверность составляет (20% / 60%) = 33%.

Обратите внимание на то, что достоверность имеет обязательный характер. Достоверность правила "Если покупатель приобретает молоко, он купит и чипсы" составляет (20% / 20%) = 100%. Однако данное отношение выявлено на основе одной транзакции. Как и высокая поддержка, одна только высокая достоверность не говорит о том, что выявленное правило жизнеспособно. Бывает так, что очень плохо продающийся товар попадает в одну корзину с хитом продаж, при этом выбор двух продуктов одним покупателем может стать причиной выявления отношения с очень высокой достоверностью, что на самом деле ничего не значит. Эту проблему можно частично преодолеть путем использования иерархии товаров.

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

  • Покупатели небольшого продуктового магазина, приобретающие апельсиновый сок, берут также молоко с достоверностью в 75%. Комбинация молока и апельсинового сока имеет поддержку 30%.

На первый взгляд, правило выглядит достаточно убедительно. Во многих случаях это бы так и было. У него очень высокая достоверность и поддержка. Но что, если покупатели магазина берут молоко в 90% случаев? Проявят ли покупатели апельсинового сока такую же активность при покупке молока? Скорее всего, нет. Именно поэтому нам необходим еще один критерий точности анализа потребительской корзины — Улучшение. Оно определяется по формуле:

Поддержка (Условие + Результат) / Поддержка (Условие) * Поддержка(Результат)

Его можно также определить как отношение достоверности комбинации товаров к поддержке результата. Так, в примере с молоком, предположим, что 40% покупателей приобретают апельсиновый сок, тогда Улучшение составит 30% / 40% * 90% = 0.83, т.е. меньше 1.

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

В поле Минимальное улучшение вводится действительное число больше 0. Чаще всего используются значения 2, 3 и 4. Чем больше улучшение, тем меньше правил выявит алгоритм. И наоборот, чем меньше улучшение, тем больше ассоциативных правил будет найдено.