Обнаружение неявных закономерностей в наборах данных является целью интеллектуального анализа данных. Такое научное направление в настоящий момент активно развиваться, что вызвано распространением технологий автоматизированной обработки информации и накоплением в компьютерных системах больших объемов данных. Проблема проявилась тогда, когда простое быстрое нахождение информации в базе данных стало во многих случаях недостаточно, а требовалось найти существующие взаимосвязи между отдельными событиями среди больших объемов данных. Решение таких задач лежит в различных областях знания: аналитические методы математической статистики, теория баз данных, теория искусственного интеллекта и др.
Проводить интеллектуальный анализ данных можно с помощью программных продуктов различных классов и возможностей: специализированные коробочные программные продукты для интеллектуального анализа; математические пакеты; электронные таблицы; интегрированные средства в системы управления базами данных.
Анализ продуктовой корзины клиентской базы – это постоянный поиск связанных между собой правил вида “Если клиент приобрел товар X, то он, возможно, с некоторой вероятностью, приобретет товар Y”. При этом X и Y могут быть как товарами, или услугами, так и их наборами. Такие зависимости в интеллектуальном анализе называются ассоциативными правилами.
Связное правило определяется:
-
коэффициентом поддержки– это отношение количества операций с участием товаров X и Y одновременно к общему количеству операций;
-
коэффициентом достоверности – вероятность того, что из наличия в операции товара X вытекает наличие товара Y. Считается как отношение числа операций с товарами X и Y к числу операций с товаром X.
Аналитик устанавливает минимальные значения (пороги) этих величин, из оставшихся правил устраняет очевидные и неинтерпретируемые.
В розничной торговле полученные правила могут использоваться для оптимизации выкладки товаров в торговом зале; независимо от отрасли можно использовать такие правила для совместного продвижения товаров и для перекрестных продаж.
Проблемой выявления и применения ассоциативных правил занимались различные ученые. A.В.Бондаренко, А.С.Гудков исследовали интерактивный анализ ассоциативных правил в базах данных [1]. Е.В.Галкина изучала ассоциативные правила в бизнес-анализе и контроле [2]. Реализацию поиска ассоциативных правил средствами языка программирования php рассмотрели А.П.Корнилков, Т.В.Хабибулина [3]. Анализ ассортимента сервисных услуг в организациях розничной торговли с помощью ABC и XYZ-анализа привела Т.А.Желада [4]. О.Л.Ксенофонтова, Н.А.Новосельская использовали АВС-XYZ- анализ как средство управления товарным ассортиментом торгового предприятия [5]. Е.А. Бузукова провела анализ ассортимента и стабильности продаж с использованием ABC-анализа и XYZ-анализа [6]. Л.И.Демченко, Е.В.Лапина рассмотрели корректировку ассортиментной политики торговой фирмы с помощью матрицы совмещенного АВС- и XYZ- анализа [7]. Авторы показали применение различных методов интеллектуального анализа [8, 9].
Рассмотрим программную реализацию алгоритмов на 1С: Предприятие 8.3 в конфигурации «Анализ потребительских корзин» [10, 11] (скачать конфигурацию можно по адресу: http://kurszop.ru/load) (см. рис.1). Данная конфигурация состоит из шести основных подсистем:
- Рабочий стол (содержит поисковые отборы по сотрудникам и клиентам, текущий прайс-лист торговлого предприятия).
- Администратор (содержит справочник «Внутрение оповещения» позволяющий рассылать сообщения всем ползователям работающи в прикладном решении, настройки конфигурации и аналитических отчетов).
- Аналитик торговли – анализ информационной базы.
- Касса – финансовые операции и отчеты по взаиморасчетам с контрашентами и остаткам денежных средств в кассах предприятия.
- Менеджер – опреции с номенклатурой, товарооборот, ценообразование, ведения прайс-листов как торгового предприятия, так и поставщиков, ведение основных карточек номенклатуры, контрагентов, создание договоров с контрагентами, основные отчеты и диаграммы.
- Отдел кадров – информационная база «Список сотрудников», ведения системы приказов по сотрудникам, созданиеосновных отчетов.
В справочниках «Контрагенты» и «Сотрудники» определена возможность создание свободных реквизитов на уровне пользователя (план видов характеристик). Поиск по свободным реквизитам выведен в интерфейс рабочего стола.
В системе возможен контроль остатков товарной массы и денежных средств при соответсвующих реализациях (за работу контроля отвечают настройки в подсистеме «Администратор»).
Аналитическим элементом конфигурации является подсистема «Аналитик торговли».
Рисунок 1 – Интерфейс подсистемы «Аналитик торговли»
Одним из основных инструментов аналитика торговля, позволяющим определить составные компоненты продуктовой корзины (насколько связаны номенклатурные позиции между собой) – является обработка «Взаимосвязь номенклатур» (см. рис. 2).
Рисунок 2 – Обработка «Взаимосвязь номенклатур»
Данная обработка, по сути, находит, существуют ли ассоциативные связи между номенклатурными позициями «Номенклатура основная» и «Номенклатура связная». Данные связи оцениваются при помощи двух коэффициентов: коэффициенты достоверности и поддержки. Коэффициент поддержки оценит вероятность покупки пары данных товаров в одной реализации. Коэффициент достоверности оценит вероятность того, что если покупают товар «Номенклатура основная», то купят и товар «Номенклатура связная». Результат работы обработки приведен на рис. 3.
Рисунок 3 – Результат поиска ассоциативных связей номенклатур
Приведем программный код данной обработки:
Так как поиск информации происходит в информационной базе, после нажатия на кнопку «Сформировать», происходит переход на серверную процедуру «ПоискВзаимосвязей()».
&НаКлиенте
Процедура Сформировать(Команда)
ПоискВзаимосвязей();
КонецПроцедуры
&НаСервере
Процедура ПоискВзаимосвязей()
// в случае если значения дат не заполнено, Начало периода – пустая дата
// Конец периода – дата по системным часам компьютера
Если Не ЗначениеЗаполнено(НачалоПериода) Тогда НачалоПериода=’00010101′
КонецЕсли;
Если Не ЗначениеЗаполнено(КонецПериода) Тогда КонецПериода=ТекущаяДата();
КонецЕсли;
// Первый запрос определяет общее количество реализаций за период
Запрос = Новый Запрос;
Запрос.Текст = “ВЫБРАТЬ
| РеализацияКлиентам.Ссылка
|ИЗ
| Документ.РеализацияКлиентам КАК РеализацияКлиентам
|ГДЕ
| РеализацияКлиентам.Дата МЕЖДУ &Дата1 И &Дата2″;
Запрос.УстановитьПараметр(“Дата1″, НачалоПериода);
Запрос.УстановитьПараметр(“Дата2″, КонецПериода);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВсегоРеализаций=ВыборкаДетальныеЗаписи.Количество();
// Второй запрос ищет реализации по основной номенклатуре
Запрос = Новый Запрос;
Запрос.Текст =
“ВЫБРАТЬ
| РеализацияКлиентам.Ссылка
|ИЗ
| Документ.РеализацияКлиентам КАК РеализацияКлиентам
|ГДЕ
| РеализацияКлиентам.Дата МЕЖДУ &Дата1 И &Дата2
| И РеализацияКлиентам.ПереченьТоваровИУслуг.Номенклатура = &Номенклатура”;
Запрос.УстановитьПараметр(“Номенклатура”, Объект.НоменклатураОсновная);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ТолькоОсновная=0;
ОдновременноОсновнаяСвязная=0;
// Поиск в реализации основной номенклатуры, связной номенклатуры
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ТолькоОсновная=ТолькоОсновная+1;
Если ВыборкаДетальныеЗаписи.Ссылка.ПереченьТоваровИУслуг.Количество()>0 Тогда
Для Счетчик=0 по ВыборкаДетальныеЗаписи.Ссылка.ПереченьТоваровИУслуг.Количество()-1 Цикл
Если ВыборкаДетальныеЗаписи.Ссылка.ПереченьТоваровИУслуг[Счетчик].Номенклатура=Объект.НоменклатураСвязная
Тогда ОдновременноОсновнаяСвязная=ОдновременноОсновнаяСвязная+1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Если (ВсегоРеализаций>0) и (ОдновременноОсновнаяСвязная>0) тогда
Сообщить(“Связь товаров проанализирована”+Символы.ПС+
“Коэффициент поддержки: “+Строка(Формат(ОдновременноОсновнаяСвязная/ВсегоРеализаций,”ЧДЦ=2″))+Символы.ПС+
“Коэффициент достоверности: “+Строка(Формат(ОдновременноОсновнаяСвязная/ТолькоОсновная,”ЧДЦ=2″)));
Иначе Сообщить(“Нулевые параметры – связь не обнаружена”);
КонецЕсли
КонецПроцедуры // ПоискВзаимосвязей()
Таким образом, в приведенном прикладном решении программно реализован аналитический анализ позволяющие специалисту рабочего места «Аналитик торговли» получить информацию по взаимосвязи номенклатур для отчетов по анализу потребительских корзин предприятия с целью принятия управленческих решений по дальнейшему ведению бизнеса.
Библиографический список
- Бондаренко A.В., Гудков А.С. Интерактивный анализ ассоциативных правил в базах данных // Вестник компьютерных и информационных технологий. 2006. № 10. С. 42-45.
- Галкина Е.В. Ассоциативные правила в бизнес-анализе и контроле // Российское предпринимательство. 2013. № 9 (231). С. 111-117.
- Корнилков А.П., Хабибулина Т.В. О реализации поиска ассоциативных правил средствами языка программирования php // Современная техника и технологии. 2014. № 5 (33). С. 13.
- Желада Т.А. Анализ ассортимента сервисных услуг в организациях розничной торговли с помощью ABC и XYZ-анализа // Економічний форум. 2013. № 1. С. 422-427.
- Ксенофонтова О.Л., Новосельская Н.А. АВС-XYZ – анализ как средство управления товарным ассортиментом торгового предприятия // Современные наукоемкие технологии. Региональное приложение. 2013. № 2 (34). С. 70-76.
- Бузукова Е.А. Анализ ассортимента и стабильности продаж с использованием ABC-анализа и XYZ-анализа // Управление продажами. 2006. № 3. С. 166-185.
- Демченко Л.И., Лапина Е.В. Корректировка ассортиментной политики торговой фирмы с помощью матрицы совмещенного АВС- и XYZ- анализа // Вестник мясного скотоводства. 2009. Т. 3. № 62. С. 64-70.
- Баженов Р. И. Интеллектуальные информационные технологии. Биробиджан: ПГУ им. Шолом-Алейхема, 2011. 176 с.
- Баженов Р.И., Векслер В.А. Корпоративные информационные системы. Биробиджан: Изд-во ГОУВПО «ДВГСГА», 2011. 208 с.
- Баженов Р.И., Векслер В.А. Анализ потребительских корзин в 1С:Предприятие на примере АВС-анализа // Информатизация и связь. 2013. № 5. С. 117-123.
- Баженов Р.И., Векслер В.А. Реализация XYZ-анализа в программном коде внутреннего языка программирования 1С:Предприятие 8.3 // Информатизация и связь. 2014. № 1. С. 37-42.