
Если вы работаете в сфере торговли, то наверняка задача анализа корзины покупателя (Shopping Basket Analysis) будет вам интересна. Говоря простыми словами, данная задача сводится к тому, чтобы определить какие товары чаще всего покупаются вместе с другими товарами. Обладая этой информацией можно без труда увеличить объемы продаж, сделав выкладку товара в соответствии с результатами анализа, или реализовать систему рекомендаций покупателю при продаже товара.
Для решения задачи нам потребуется следующий инструментарий:
- Microsoft Excel (в моем случае Microsoft Office 2013 Standard 2013).
- Microsoft SQL Server (в моем случае Microsoft SQL Server 2014 Standard Edition).
Так же для проведения анализа нам потребуются данные о продажах. Предварительно я получил с помощью отчета в OLTP-системе следующую выборку (см. рис. 1).

Рис. 1.
В выборке присутствуют:
- Ссылка на документ (поле Doc).
- Код товара (поле Product).
- Количество проданного товара (поле Quantity).
- Сумма проданного товара (поле Amount).
Перед тем как приступить к анализу корзины, нам потребуется скачать бесплатный плагин для Excel, который называется Data Mining Add-ins for Excel. После установки плагина в главном меню Excel появится пункт DATA MINING (см. рис. 2).

Рис. 2.
Сам анализ выполняется на сервере службой SQL Server Analysis Services, поэтому необходимо нажать кнопку в панели инструментов в группе Connections (выделено на рис. 2 красной стрелочкой) и установить связь с сервером Analysis Services. Первоначально там будет написано «No connection», нажмите на эту кнопку и укажите параметры подключения. После этого нажмите кнопочку «Trace» и снимите флажок «Use session models» (см. рис. 3).

Рис. 3.
Теперь все готово для анализа. Переходим в Excel, нажимаем Ctrl+A чтобы выделить таблицу, переходим на вкладку «Вставка» и нажимаем на кнопку «Таблица» (см. рис. 4).

Рис. 4.
После этого увидим следующую картину (см. рис. 5).

Рис. 5.
Теперь нажимаем на кнопку «Shopping Basket Analysis». (Обратите внимание на соседние кнопки, которые позволяют проводить другого рода анализ данных, например, «Определение категорий» (Detecting Categories), «Прогноз» (Forecast) и другие, но это тема для отдельных статей.) В открывшемся окне заполняем параметры для анализа. В качестве транзакции (Transaction ID) выбираем поле Doc, Item — Product, Item Value — Quantity. Нажимаем кнопку «Run» (см. рис. 6).

Рис. 6.
Во время расчета программа будет показывать такое окошко (см. рис. 7).

Рис. 7.
После того, как расчет будет закончен, в книгу Excel будет автоматически добавлено два новых листа:
- Shopping Basket Bundled Items (Товары которые покупаются вместе).
- Shopping Basket Recommendations (Рекомендации для покупки).
Рассмотрим первую полученную табличку «Shopping Basket Bundled Items». В ней мы видим товары, которые покупают вместе, отсортированные по общему количеству продаж (см. рис. 8).

Рис. 8.
И вторая таблица «Shopping Basket Recommendations». В ней мы видим рекомендации следующего типа — купил товар «Selected Item», рекомендуем купить товар «Recommendation». Данные отсортированы по количеству совместных продаж (см. рис. 9).

Рис. 9.
На этом все. Как видите, анализ корзины покупателя делается довольно просто.
Теперь вернемся к вопросу как можно использовать полученные данные. Я лично предложил своему бизнесу следующее:
- Проверить, соответствует ли выкладка товара в розничной сети данным анализа и, в случае необходимости, поменять выкладку.
- Доработать автоматизированную систему сбора заказов покупателей в оптовых продажа таким образом, чтобы при создании предварительного заказа торговому представителю показывалась информация о рекомендуемом дополнении заказа.
Если в течение следующего квартала мои инновации принесут прирост продаж, будет повод попросить премию :)
Надеюсь данная статья будет полезной и вам. Спасибо за прочтение.
Комментарии (9)
servekon
03.04.2015 21:30Я думаю, что еще Shopping Basket Analysis позволяет понять, какие непопулярные товары нужно выложить на видное место, чтобы увеличить те же продажи.
Query Автор
03.04.2015 23:14Думаю да, если заполучить данные конкурентов, например, и с помощью них обнаружить, что товар А, хорошо продается с товаром Б, а у нас, к примеру, товар Б вообще слабо продается, потому что лежит непонятно где (не рядом товаром А).
JaLoveAst1k
04.04.2015 01:31Надо было бы тогда уж и примеры топовых коррелирующих товаров предоставить, любопытно же!
Query Автор
04.04.2015 10:36Тогда получилась бы статья 18+ :) так как речь идет об алкогольной продукции. Не вдаваясь в подробности можно смело сказать, что красное вино хорошо продается в паре с белым аналогичной марки. Так же вина хорошо продаются в паре с игристыми винами (шампанским). Кстати, в магазине, как правило выкладывают красные и белые вина на разных полках. Получается это не совсем правильно. По крайне мере я бы рассмотрел вариант создания отдельной полки для «неискушенных», где выкладка была бы согласно результатам анализа корзины. Так же вариант — сделать подарочные упаковки с уже приготовленными «джентльменскими» наборами. Здесь пусть профессионалы думают и решают, самое главное, что у них теперь есть инструмент.
1099511627776
04.04.2015 10:32Если позволите, 2 вопроса,
1. За какой период делалась выборка?
2. Сколько товаров в магазине?Query Автор
04.04.2015 10:381. Выборка делалась за год.
2. Ассортимент приблизительно 2 тыс. наименований.1099511627776
04.04.2015 11:25Вам повезло, я шас проверил на своих данных (около 20тис. наименований) правда не через Sql analysis а просто скриптом на коленке Firebird + таблица excel,
Практически все товары (и товарные группы) по 1 в чеке. Первое совпадение 2-х товаров получается продается где-то 23 раза за 3 месяца и то это сухари здобные + сухари молотые
Baur
Спасибо, интересно.
А как поступать при анализе с товарами заменителями? Мне кажется разумнее анализировать взаимосвязь между группами товаров, а не отдельными наименованиями. И тут возникает проблема подготовки данных с созданием товарных групп для анализа, если товары не сгруппированы заранее в учётной системе.
Query Автор
Вопрос правильный. Если приоткрыть завесу, то в моем случае за кодами товаров скрываются как раз коды групп аналогов или, пользуясь вашей терминологией, группы товаров заменителей.