pracę magisterską

114
UNIWERSYTET EKONOMICZNY WE WROCLAWIU WYDZIAL ZARZĄDZANIA, INFORMATYKI I FINANSÓW Piotr Skrzypczak Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu regul asocjacyjnych Praca magisterska Promotor: prof. zw. dr hab. Jerzy Korczak Katedra Technologii Informacyjnych Wroclaw 2010

Upload: nguyenbao

Post on 11-Jan-2017

235 views

Category:

Documents


1 download

TRANSCRIPT

UNIWERSYTET EKONOMICZNY WE WROCŁAWIU WYDZIAŁ ZARZ ĄDZANIA, INFORMATYKI I FINANSÓW

Piotr Skrzypczak

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Praca magisterska

Promotor: prof. zw. dr hab. Jerzy Korczak Katedra Technologii Informacyjnych

Wrocław 2010

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 2 −

− 2 −

WROCLAW UNIVERSITY OF ECONOMICS FACULTY OF MANAGEMENT, INFORMATICS AND FINANCE

Piotr Skrzypczak

Modeling customer behavior patterns Alma Delicatessen using association rules

Master’s thesis

Supervisor: prof. zw. dr hab. Jerzy Korczak Department of Information Technology

Wrocław 2010

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 3 −

− 3 −

OŚWIADCZENIE

Oświadczam, że pracę niniejszą przygotowałem samodzielnie. Wszystkie dane, istotne myśli i sformułowania pochodzące z literatury (przytoczone dosłownie lub niedosłownie) są opatrzone odpowiednimi odsyłaczami. Praca ta nie była w całości ani w części, która zawierałaby znaczne fragmenty przedstawione w pracy jako oryginalne (wyniki badań empirycznych, obliczenia, spostrzeżenia, oceny, wnioski, propozycje itp.), przez nikogo przedłożona do żadnej oceny i nie była publikowana. ..............................., dnia............................ ................................................. (miejscowość) (podpis)

OŚWIADCZENIE

Wyrażam zgodę / nie wyrażam zgody* na udostępnienie osobom zainteresowanym mojej pracy magisterskiej. Zgoda na udostępnienie pracy magisterskiej nie oznacza wyrażenia zgody na kopiowanie pracy w całości lub w części. Brak zgody na kopiowanie nie wyklucza użycia pracy w systemie antyplagiatowym. * niepotrzebne skreślić

..............................., dnia............................ ................................................. (miejscowość) (podpis)

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 4 −

− 4 −

Dziękuję mojemu promotorowi Panu Profesorowi Jerzemu Korczakowi za cierpliwość, życzliwą pomoc oraz cenne uwagi przy pisaniu niniejszej pracy.

Podziękowania należą się również Zarządowi spółki Delikatesy Alma za dostęp i możliwość wykorzystania danych firmowych na potrzeby tej pracy magisterskiej.

Jednocześnie składam podziękowania mojej narzeczonej, Annie, za wyrozumiałość i wsparcie w trudnych chwilach.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 5 −

− 5 −

Spis treści

SPIS TREŚCI ................................................................................................................................................................... 5

WSTĘP .......................................................................................................................................................................... 7

1. KLASYFIKACJA I CHARAKTERYSTYKA TOWARÓW ................................................................................................... 9

1.1. CHARAKTERYSTYKA DELIKATESÓW ALMA ............................................................................................................................ 9 1.2. PODZIAŁ STRUKTURALNY TOWARÓW................................................................................................................................ 10 1.3. POJĘCIE, CECHY I ZNACZENIE KODU KRESKOWEGO ............................................................................................................... 15

2. REGUŁY ASOCJACYJNE ......................................................................................................................................... 25

2.1. WPROWADZENIE DO EKSPLORACJI DANYCH ....................................................................................................................... 25 2.2. ODKRYWANIE ASOCJACJI – WPROWADZENIE...................................................................................................................... 28 2.3. ALGORYTMY POSZUKIWANIA REGUŁ ASOCJACYJNYCH .......................................................................................................... 31

3. WYBÓR ORAZ PRZYGOTOWANIE OPROGRAMOWANIA DO BADAŃ .................................................................... 42

3.1. WYBÓR NARZĘDZI DO PRZEPROWADZENIA EKSPLORACJI DANYCH NA TRANSAKCJACH DELIKATESÓW ALMA .................................... 42 3.2. ETAP IMPLEMENTACJI BAZY DANYCH ................................................................................................................................ 44 3.3. ETAP PRZYGOTOWANIA I OBSŁUGI PROGRAMU DM CAFE .................................................................................................... 47 3.4. ETAP PRZYGOTOWANIA OPROGRAMOWANIA RAPID MINER DO EKSPLORACJI DANYCH ............................................................... 54

4. EKSPLORACJA DANYCH NA ZBIORZE TRANSAKCJI DELIKATESÓW ALMA .............................................................. 66

4.1. INFORMACJE OGÓLNE NA TEMAT PRZEPROWADZONYCH BADAŃ ............................................................................................ 66 4.2. ANALIZA OTRZYMANYCH REGUŁ ASOCJACYJNYCH ................................................................................................................ 68 4.3. PODSUMOWANIE WYNIKÓW BADAŃ ................................................................................................................................ 79

ZAKOŃCZENIE ............................................................................................................................................................. 81

BIBLIOGRAFIA ............................................................................................................................................................. 83

SPIS TABEL .................................................................................................................................................................. 85

SPIS ILUSTRACJI .......................................................................................................................................................... 87

A. DODATEK – TABELE Z WYNIKAMI BADANIA ......................................................................................................... 88

B. DODATEK – KODY ŹRÓDŁOWE NAJWAŻNIEJSZYCH FUNKCJI PROGRAMU DM CAFE ........................................... 108

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 6 −

− 6 −

Contents

CONTENTS .................................................................................................................................................................... 5

INTRODUCTION ............................................................................................................................................................ 7

1. CLASSIFICATION AND CHARACTERISTICS OF GOODS .............................................................................................. 9

1.1. DESCRIPTION OF THE ALMA DELICATESSEN ......................................................................................................................... 9 1.2. STRUCTURAL BREAKDOWN OF GOODS .............................................................................................................................. 10 1.3. CONCEPT, FEATURES AND IMPORTANCE OF BAR CODE ......................................................................................................... 15

2. ASSOCIATION RULES ............................................................................................................................................ 25

2.1. INTRODUCTION TO DATA MINING ................................................................................................................................... 25 2.2. DISCOVERING ASSOCIATION - INTRODUCTION .................................................................................................................... 28 2.3. EXPLORATION ALGORITHMS ASSOCIATION RULES ................................................................................................................ 31

3. SOFTWARE SELECTION AND PREPARATION FOR TESTING .................................................................................... 42

3.1. SELECTIONS TOOLS TO CARRY OUT DATA MINING FOR TRANSACTIONS THE ALMA DELICATESSEN .................................................. 42 3.2. STAGE IMPLEMENTATION OF DATABASE............................................................................................................................ 44 3.3. STAGE OF PREPARATIONS AND USES THE DM CAFE ............................................................................................................. 47 3.4. STAGE OF SOFTWARE PREPARATION RAPID MINER FOR DATA MINING .................................................................................... 54

4. DATA MINING ON SETS OF TRANSACTIONS ......................................................................................................... 66

4.1. DESCRIPTION OF EXPERIMENTS ....................................................................................................................................... 66 4.2. ANALYSIS OF ASSOCIATION RULES .................................................................................................................................... 68 4.3. SUMMARY OF TEST RESULTS ........................................................................................................................................... 79

CONCLUSION .............................................................................................................................................................. 81

BIBLIOGRAPHY ........................................................................................................................................................... 83

LIST OF TABLES ........................................................................................................................................................... 85

LIST OF ILLUSTRATIONS .............................................................................................................................................. 87

A. APPENDIX – TABLES OF TESTS RESULTS ............................................................................................................... 88

B. APPENDIX – SOURCE CODES OF MAIN FUNCTIONS OF THE PROGRAM DM CAFE ............................................... 108

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 7 −

− 7 −

Wstęp

W dobie wszem ogarniającego wykorzystania coraz szybszych komputerów, sieci

komputerowych, zaawansowanych systemów bazodanowych oraz systemów klasy ERP

ilość gromadzonych informacji jest tak duża, że aż prosi się o zastosowanie na nich

eksploracji danych. Użycie różnych technik eksploracji, może wydobyć z baz danych bardzo

zaskakujące informacje, nie znane dotychczas przez kierownictwo danego przedsiębiorstwa.

Jedną z technik data miningu są reguły asocjacyjne, które polegają na wyszukiwaniu w

dużych zbiorach danych wzorców zachowań np. klientów w przypadku transakcji

supermarketu, czy wyglądu kwiatów na podstawie ich cech szczególnych. Często wynikiem

poszukiwania reguł są wzorce znane przez ekspertów związanych z badanym zbiorem.

Ważne jest, aby szukać takich wzorców zachowań, żeby były unikatowe i można je było

użyć do przygotowywania bardziej trafionych gazetek promocyjnych, odpowiedniego

ułożenia towarów na półkach sklepowych, organizowania różnego rodzaju indywidualnych

promocji, a w rezultacie doprowadzić do sytuacji, w której klienci będą pozostawać na

terenie sklepu jak najdłużej.

Celem pracy jest przeprowadzenie i przedstawienie badań zachowań klientów jednego

z wrocławskich sklepów sieci Delikatesów Alma, na podstawie danych sprzedaży od

sierpnia 2009 do stycznia 2010. W badaniach wykorzystane zostaną algorytmy eksploracji

danych, których zadaniem będzie odnalezienie interesujących, nie trywialnych reguł

asocjacyjnych. Aby możliwe było przeprowadzenie analiz, należy stworzyć bazę danych, do

której zaimportowane zostaną dane z systemu magazynowego i kasowego Delikatesów

Alma. Jeśli te informacje znajdą się już w bazie danych, można będzie przystąpić do

zaprojektowania procesu poszukiwania reguł asocjacyjnych w programie Rapid Miner.

Mając przygotowane oprogramowanie będzie możliwe przeprowadzenie właściwej

eksploracji danych w Delikatesach Alma.

Reguły asocjacyjne nie są nowymi technikami eksploracji danych, jednak w Delikatesach

Alma, w których przeprowadzane jest badanie, nie są wykorzystywane. Ich użycie mogłoby

mieć znaczący wpływ na zwiększenie sprzedaży oraz spersonalizowanie potrzeb nabywców

i zachęcenie klientów do zakupów właśnie w tej ekskluzywnej sieci.

Praca została podzielona na cztery rozdziały. W rozdziale 1. opisane zostały podstawowe

informacje na temat Delikatesów Alma, ich historia, plan sklepu, sprzedaż w badanym

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 8 −

− 8 −

okresie. Następnie opisany został podział hierarchiczny towarów ze względu na stoisko,

dział towaru oraz grupę towarową. Rozdział kończy się informacjami na temat standardów

kodów towarowych wykorzystywanych w badanej sieci handlowej.

Drugi rozdział miał na celu przedstawienie najważniejszych informacji teoretycznych

potrzebnych do przeprowadzenia badań. Na wstępie opisana została eksploracja danych

w kontekście reguł asocjacyjnych. Następnie opiszemy rodzaje reguł oraz ich interpretacje.

Na zakończenie przybliżone zostały algorytmy do wyszukiwania reguł asocjacyjnych od

bardzo prostego algorytmu Apriori, który stał się prekursorem algorytmów eksploracyjnych,

po jego rozwinięcia, kończąc na bardziej zaawansowanym FP-Growth. Ten rozdział kończy

część teoretyczną pracy.

Rozdział trzeci poświęcony został przygotowaniu oprogramowania do przeprowadzenia

badania, tzn. stworzenia odpowiedniej bazy danych, analizy struktury plików do importu

danych z systemu magazynowego i kasowego do bazy, pokazanie w jaki sposób odczytać

transakcje z bazy danych, wykorzystywane do poszukiwania reguł asocjacyjnych, i ich zapis

do plików CSV dla programu Rapid Miner. Następnie opisany został program firmy Rapid I,

jego podstawowe funkcje, a także pokazane zostało w jaki sposób stworzyć proces, który

przeanalizuje otrzymane dane z plików CSV i odnajdzie reguły asocjacyjne.

W czwartym rozdziale przedstawione zostaną wyniki badań przeprowadzone

w Delikatesach Alma. Reguły asocjacyjne zostały podzielone na kilka grup, dla których

zostały przedstawione moje spostrzeżenia. Rozdział kończy się podsumowaniem wyników

badań oraz propozycjami jak można by było wykorzystać odnalezione reguły.

Zaproponowane zostały również kolejne grupy, na których zastosowanie eksploracji danych

dałoby prawdopodobnie bardziej zadawalające efekty.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 9 −

− 9 −

1. Klasyfikacja i charakterystyka towarów

W rozdziale 1. przybliżymy działalność Delikatesów Alma oraz dynamikę i strukturę

sprzedaży w 2009 r. Przedstawimy taksonomię towarów w badanym przedsiębiorstwie, tzn.

hierarchiczny podział towarów według stoisk, działów, grup i kodu kreskowego.

Przypomnimy strukturę kodu kreskowego, sposób jego użycia oraz standardy

wykorzystywane w Delikatesach Alma.

1.1. Charakterystyka Delikatesów Alma

Historia Delikatesów Alma rozpoczęła się w Krakowie w 1995 roku, tu bowiem powstał

pierwszy sklep. Dalszy dynamiczny rozwój i rosnące wymagania klientów zaowocowały

kolejnymi delikatesami. Obecnie jest to sieć nowoczesnych sklepów zlokalizowanych

w największych miastach Polski m.in. w Krakowie, Łodzi, Sopocie, Poznaniu, Warszawie,

Wrocławiu.

Strategia sieci delikatesów Alma koncentruje się na sprzedaży produktów spożywczych

najwyższej jakości, pochodzących od sprawdzonych dostawców lokalnych i zagranicznych.

Asortyment obejmuje ponad 60 tysięcy produktów, w tym ponad 3 tysiące pochodzących

z importu własnego, dostępnych w Polsce wyłącznie w sieci delikatesów Alma.

W marcu 2007 Spółka Alma Market wprowadziła na rynek markę własną pozycjonowaną

w segmencie Premium produktów spożywczych pod nazwą Krakowski Kredens. W skład

marki wchodzi kilkanaście linii produktowych takich jak: wędliny, smalce, zupy, przetwory

warzywne, grzyby, musztardy, soki, konfitury, słodycze, herbaty, nalewki. Wszystkie

produkty przygotowywane są specjalnie na potrzeby marki Krakowski Kredens przez

lokalne, niewielkie firmy, według historycznych przepisów z terenu dawnej Galicji.

W początkowej fazie rozwoju marki produkty Krakowskiego Kredensu były dystrybuowane

poprzez sieć stoisk w delikatesach Alma. Równocześnie do końca 2008 roku

uruchomionych zostało 18 samodzielnych punktów sprzedaży w prestiżowych lokalizacjach

w większych miastach.

Badanie przeprowadzono w jednym z wrocławskich sklepów sieci Delikatesów Alma.

Sklep, w którym przeprowadzane jest badanie podzielony jest na dwie jednostki: sklep

stacjonarny o powierzchni około 1600 m2 oraz internetowy Alma24.pl. Produkty do

sprzedaży internetowej pobierane są z magazynu wspólnego, jednak aby można było zbadać

wzorce zachowań klientów, należy sprawdzić dane osobno dla stacjonarnego sklepu,

a oddzielnie dla delikatesów internetowych. Wynik przedstawi, jakie produkty nabywane są

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

wspólnie przez klientów robi

za pomocą sklepu internetowego. Tabela 1.1. przedstawia statystyk

okresie w rozbiciu na sklep stacjonarny

Tabela 1.1. Średnia sprzedaż2009 do stycznia 2010

Warto ść sprzeda ży

Ilo ść klientów

Średni koszyk

Źródło: Opracowanie własne

1.2. Podział strukturalny towarów

Delikatesy Alma,

asortymencie ponad 60 tysi

konkretnej lokalizacji sklepu.

w prawdzie taką ilość

artykułów. Towary są podzielone wg schematu przestawionego na rysunku 1.1.

Rysunek 1.1. Schemat podziału strukturalnego towarówŹródło: Opracowanie własne.

Każdy towar znajdują

Między grupą a działami wyst

wyłącznie w jednym dziale, natomiast jeden dział przypisany jest do wielu grup. Powi

działów ze stoiskami opiera si

części grup z jednego działu do kilku stoisk, np. grupy działu 148

do stoisk 1, 2 oraz 3. Dokładniej zostanie to poruszone w rozdziałach opisuj

i grupy. Przyglądając się

cyframi, część dwuznakowymi skrótami. Oznakowanie takie wynika z podziału stoisk dla

celów księgowych. Wię

w dalszej części tego rozdziału

w standardzie EAN-13

GRUPY

DZIAŁY

STOISKA

SKLEP

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

wspólnie przez klientów robiących zakupy w sposób tradycyjny oraz osób kupuj

sklepu internetowego. Tabela 1.1. przedstawia statystykę

w rozbiciu na sklep stacjonarny, Almę 24 oraz wartość łączną

rednia sprzedaż dzienna oraz miesięczna w zł w badanych Delikatesach Alma

Okres czasu Sklep stacjonarny Alma 24 dziennie 41 300 4 000

miesięcznie 1 236 800 121 200 dziennie 652 22 miesięcznie 19 654 563 dziennie 63,34 181,82 miesięcznie 62,93 215,27

własne.

Podział strukturalny towarów

jak już zostało opisane to w punkcie 1.1.

asortymencie ponad 60 tysięcy produktów, przy czym liczba ta

konkretnej lokalizacji sklepu. Sklep, w którym przeprowadzane jest badanie,

ą ilość kodów, jednak dostępnych w sprzedaży jest około 20 tysi

ą podzielone wg schematu przestawionego na rysunku 1.1.

. Schemat podziału strukturalnego towarów pracowanie własne.

dy towar znajdujący się w asortymencie jest przypisany do stoiska, działu i grupy.

ą a działami występuje relacja jeden-do-wielu, tzn. jedna grupa wyst

cznie w jednym dziale, natomiast jeden dział przypisany jest do wielu grup. Powi

działów ze stoiskami opiera się na relacji wiele-do wielu. Wynika to z przyporz

ci grup z jednego działu do kilku stoisk, np. grupy działu 148

do stoisk 1, 2 oraz 3. Dokładniej zostanie to poruszone w rozdziałach opisuj

ą ąc się schematowi można zauważyć, że część ze

ęść dwuznakowymi skrótami. Oznakowanie takie wynika z podziału stoisk dla

gowych. Więcej informacji na temat oznaczenia stoisk zostanie przedstawione

ęści tego rozdziału. Najniżej w hierarchii znajduje się kod towaru, zakodowany

13, EAN-8 oraz GTIN-13 (dla towarów o zmiennej ilo

DELIKATESY

Nabiał-pieczywo

1

Działy st. nabiał-

pieczywo

Grupy st. nabiał-

pieczywo

Mięso-wędliny

2

Działy st. mięso-wędliny

Grupy st. mięso-wędliny

Owoce-warzywa

3

Działy st. owoce-

warzywa

Grupy st. owoce-

warzywa

St. Ogólnospożywcze

4

Działy st. ogólnospożywczego

Grupy st. ogólnospożywczego

Art. Przemysłowe

5

Działy st. przemysłowego

Grupy st. przemysłowego

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 10 −

− 10 −

cych zakupy w sposób tradycyjny oraz osób kupujących towar

sklepu internetowego. Tabela 1.1. przedstawia statystykę sprzedaży w badanym

ść ączną.

w badanych Delikatesach Alma od sierpnia

Warto ść razem 45 300 1 358 000 674 20 217 67,21 67,17

zostało opisane to w punkcie 1.1., posiadają w swoim

liczba ta jest uzależniona od

przeprowadzane jest badanie, posiada

ży jest około 20 tysięcy

podzielone wg schematu przestawionego na rysunku 1.1.

w asortymencie jest przypisany do stoiska, działu i grupy.

wielu, tzn. jedna grupa występuje

cznie w jednym dziale, natomiast jeden dział przypisany jest do wielu grup. Powiązanie

do wielu. Wynika to z przyporządkowania

ci grup z jednego działu do kilku stoisk, np. grupy działu 148 - Artykuły świeże należą

do stoisk 1, 2 oraz 3. Dokładniej zostanie to poruszone w rozdziałach opisujących działy

ż ęść ze stoisk oznakowane jest

dwuznakowymi skrótami. Oznakowanie takie wynika z podziału stoisk dla

cej informacji na temat oznaczenia stoisk zostanie przedstawione

e się kod towaru, zakodowany

13 (dla towarów o zmiennej ilości). Dokładniej

Art. Przemysłowe

Działy st. przemysłowego

Grupy st. przemysłowego

Alkohole

AL

Działy st. alkoholowego

Grupy st. alkoholowego

Kasy-papierosy

PP

Działy st. kasy-

papierosy

Grupy st. kasy-

papierosy

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 11 −

− 11 −

te standardy, jak i poszczególne elementy struktury towarowej sklepu zostaną przedstawione

w kolejnych akapitach tego rozdziału.

Cały asortyment został podzielony na siedem głównych stoisk. Do każdego stoiska

zostały przypisane odpowiednie działy lub grupy. Stoisko posiada swój unikatowy

identyfikator. Dla stoisk nabiał-pieczywo, mięso-wędliny, owoce-warzywa,

ogólnospożywcze oraz artykuły przemysłowe są to liczby arabskie od 1 do 5, natomiast

stoisko alkoholowe i kasy-papierosy oznaczone zostały przez identyfikator „AL” oraz „PP”.

Podział na takie, a nie inne stoiska wynika ze względów księgowych przedsiębiorstwa,

ponieważ pewne dokumenty, jak na przykład protokoły likwidacyjne, są rozliczane

z podziałem na stoiska, które zostały zatwierdzone przez Zarząd Spółki i funkcjonują

w takiej formie od samego początku firmy. Oczywiście nic nie stoi na przeszkodzie, żeby

dla celów badawczych zamiast identyfikatorów „AL” oraz „PP” używać kolejnych cyfr,

czyli 6 dla alkoholi oraz 7 dla stoiska papierosy-kasy. Odzwierciedleniem tego podziału jest

rozmieszczenie poszczególnych towarów w sklepie. Na rysunku 1.2. przedstawiona została

hala sprzedaży wraz z zaznaczonymi odpowiednim kolorem stoiskami.

Rysunek 1.2. Plan sklepu z podziałem na stoiska Źródło: Opracowanie własne.

Rysunek 1.2. przedstawia halę sprzedaży Delikatesów Alma z zaznaczonymi

kolorystycznie stoiskami. Kolorem żółtym oznaczone zostało stoisko nabiał-pieczywo. Są to

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 12 −

− 12 −

między innymi chłodnie z nabiałem, stoisko z pieczywem i serami, półki z produktami

rybnymi, stoisko rybne oraz mrożonki rybne. Kolor czerwony identyfikuje stoisko mięso-

wędliny. Na rysunku kolorem tym oznaczone są lady mięsne i wędlin, stoisko z produktami

marki własnej – Krakowski Kredens, mrożonki (głównie mięso mrożone) oraz chłodnia

z wędlinami pakowanymi w plastrach lub w całości. Owoce-warzywa zaznaczone są

kolorem zielonym. Są to m.in. stoisko owocowo-warzywne, bakaliowiec, a także lody,

mrożonki owocowo-warzywne i karma dla zwierząt. Stoisko ogólnospożywcze identyfikuje

kolor łososiowy (pomarańczowy). Są to wszelkie inne produkty spożywcze, które nie

znajdują się na wcześniejszych stoiskach oraz piwo. Na niebiesko zaznaczono stoisko AGD-

chemia, czyli wszelkiego rodzaju artykuły chemiczne gospodarcze, kosmetyki, ale także

prasa, art. elektryczne i papiernicze. Kolorem brązowym zaznaczone zostało stoisko

alkoholowe, tzn. wszelkiego rodzaju napoje alkoholowe (oprócz piwa) oraz cygara.

Produkty tytoniowe (bez cygar) oraz karty magnetyczne, czyli stoisko kasy-papierosy,

zaznaczone są na rysunku na różowo.

Działy towarowe są częściowym uszczegółowieniem podziału według stoisk, tzn. towary

dzięki temu są podzielone jednoznacznie oraz posiadają pewne cechy wspólne, np. jogurty,

herbaty, czekolady, itd. Każdy z działów identyfikowany jest przez trzycyfrowy kod, który

jest wykorzystywany jako część identyfikatora grup. Na rysunkach 1.3. oraz 1.4.

przedstawione zostały działy odpowiednio przypisane do poszczególnych stoisk.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Rysunek 1.3. Działy towarowe Źródło: Opracowanie własne

Nabiał-pieczywo

1

120 - Tłuszcze

121 -Produkty mleczne

122 - Sery

123 - Jaja

124 -Pieczywo

świeże

125 -Pieczywo

trwałe

126 - Wyroby ciastkarskie

139 - Ryby

148 - Wyr. garm. świeże

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

. Działy towarowe przyporządkowane do odpowiednich stoisk Opracowanie własne.

Tłuszcze

Wyroby

garm. świeże

Mięso-wędliny

2

114 -Konserwy

115 - Wędliny

116 - Mięso

117 - Drób

133 -Krakowski Kredens

148 - Wyr. garm. świeże

Owoce-warzywa

3

140 - Wyroby chłodnicze

142 -Warzywa

143 - Owoce

148 - Wyr. garm. świeże

160 - Karma dla zwierząt

295 - Ogród

ogólnospożywcze

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 13 −

− 13 −

St. ogólnospożywcze

4

110 - Przetw. warzywne

111 - Przetw. owocowe i

miód

112 -Przyprawy

113 -Koncentrat. zup i sosy

118 -Produkty

sypkie

119 - Desery, przyp.

,bakalie

125 -Pieczywo

trwałe

127 - Odżywki dziecięce

128 - Wyroby tytoniowe

129 - Herbata

130 - Kawa

131 -Czekolady

132 -Słodycze

134 - Chipsy, orzeszki

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Rysunek 1.4. Działy towarowe przyporzŹródło: Opracowanie własne

St. ogólnospożywcze

4

135 - Napoje gazowane

136 - Soki, syropy, nektary

137 - Wody mineralne

138 - Piwo

141 - Oliwa, oliwki

145 - Opak. zwrotne

147 - Oleje

148 - Wyr. garm. świeże

149 - Zdrowa żywność

150 - Słodycze na wagę, przeceny

267 - Torby reklamowe

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

. Działy towarowe przyporządkowane do odpowiednich stoisk Opracowanie własne.

Art. przemysłowe

5

201 - Agd

210 - Marka własna

240 - Kosmetyki

241 - Perfumeria

245 - Chemia gosp.

246 - Płyty, kasety

247 - Art. elektryczne

255 - Obuwie

265 - Art. papiernicze

266 - Książki

295 - Ogród

299 - usługi

Alkohole

AL

128 - Wyroby tytoniowe

144 - Alkohole

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 14 −

− 14 −

Kasy-papierosy

128 - Wyroby tytoniowe

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 15 −

− 15 −

Podział wg działów nie jest rozłączny i zawiera w kilku miejscach te same działy, np.

dział 148 – Wyroby garmażeryjne świeże, czy 128 – Wyroby tytoniowe; wynika to

z przyporządkowania grup towarowych do stoisk sklepu. Oprócz podstawowych grup

towarowych, działy zawierają również grupy importowe, w skład których wchodzą towary

pochodzące z innych krajów świata. Dodatkowo dla marki własnej został stworzony osobny

dział 133 – Krakowski Kredens.

Grupy towarowe dzielą szczegółowo wszystkie towary asortymentu sklepu. Dzięki temu

produkty podobne do siebie zostały zebrane w jeden zbiór, który w sposób jednoznaczny

identyfikują towary znajdujące się w nim. Każda grupa posiada swój unikatowy

identyfikator składający się z 6 cyfr – trzy cyfry określają dział, do którego jest przypisana,

natomiast kolejne 3 opisują ją w sposób szczegółowy, np. 121100 – Mleko świeże (121 –

dział Produkty mleczne). Wśród grup możemy wyróżnić:

� grupy podstawowe, np. 122100 – Sery żółte, 129200 – Herbata ekspresowa;

� grupy importowe, np. 122310 – Sery pleśniowe import, 130210 – Kawa mielona import;

� grupy podzielone indywidualnie wg stoisk, np.:

� 148100 – Wyroby garm. nabiał luz, 148110 – Wyroby garm. nabiał import luz,

148150 – Wyroby garm. nabiał szt. oraz 148160 – Wyroby garm. nabiał import szt. –

stoisko nabiał-pieczywo;

� 295300 – Kwiaty doniczkowe oraz 295350 – Cebulki kwiatowe, nasiona kwiat. –

stoisko owoce-warzywa;

� 125600 – Płatki śniadaniowe oraz 125610 – Płatki śniadaniowe import – stoisko

ogólnospożywcze;

� 128100 – Papierosy oraz 128200 – Karty magnetyczne – stoisko kasy.

1.3. Pojęcie, cechy i znaczenie kodu kreskowego

Kody kreskowe wykorzystywane są od wielu lat do automatycznej identyfikacji towarów.

Jej podstawową funkcją jest rozpoznanie towarów jednoznacznie i bezbłędnie,

a najważniejsze, zdecydowanie szybciej, niż mógłby to zrobić człowiek. Czym jest

automatyczna identyfikacja? Jest to rozwiązanie, w którego skład wchodzi oprogramowanie,

urządzenia do odczytu specjalnie oznakowanych towarów (czytniki kodów kreskowych,

kolektory danych) oraz znakowania towarów np. etykietą z kodem kreskowym, kodem

dwuwymiarowym lub tagiem radiowym (RFID). Ponieważ każdy towar posiada unikatowy

kod kreskowy, potrzebne jest jeszcze odpowiednio skonfigurowane oprogramowanie, które

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 16 −

− 16 −

po odczytaniu przez czytnik kodów kreskowych wyszuka informacje o produkcie w swojej

bazie danych.

Kod kreskowy, kod paskowy (ang. bar code) jest graficzną reprezentacją informacji

poprzez kombinację ciemnych i jasnych elementów, ustaloną według przyjętych reguł

budowy danego kodu.1 W przypadku Delikatesów kodem identyfikującym towary jest kod

kreskowy EAN-13, EAN-8 lub GTIN-13. Rysunek 1.5. przedstawia przykładowe kody

towarów wykorzystywane w Delikatesach Alma.

Rysunek 1.5. Przykładowe etykiety wykorzystywane w Delikatesach Alma Źródło: Opracowanie własne.

Wszystko zaczęło się w 1973 roku, kiedy to w USA firma Uniform Code Council, Inc.

opracowało kod UPC. Posiadał on dwunastocyfrowy numer, a pierwsze kody kreskowe

na otwartym rynku zaczęto skanować w 1974 roku. Po sukcesie w Stanach

Zjednoczonych w 1977 roku utworzono nowy standard, European Article Number

z zadaniem opracowania kompatybilnego systemu, który mógłby być stosowany również

poza Ameryką Północną. System EAN został stworzony jako odmiana systemu UPC,

jednak wykorzystuje trzynastocyfrowy, a nie dwunastocyfrowy numer, jak miało to

miejsce w przypadku wcześniejszego rozwiązania.

Kod EAN-13 został utworzony przez International Article Numbering Association

(IANA) na podstawie standardu UPC-A, przez rozszerzenie z jednej do dwóch cyfr

systemu numerowego. Ten system numerowania stał się docelowo kodem kraju. Jak się

okazało ze względu na liczbę państw na świecie zaistniała potrzeba wydłużenia kodu

kraju do trzech cyfr, np. Polska ma kod 590. Wprowadzono też kody nie oznaczające

kraju, np. kod 290 oznacza towary ważone w sklepach.

1 Definicja kodu kreskowego. (http://pl.wikipedia.org/wiki/Kod_kreskowy, kwiecień 2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 17 −

− 17 −

Wizualną różnicą między kodem kreskowym EAN-13 i kodem UPC-A można

zauważyć na pierwszy rzut oka, jest to ostatnia cyfra, cyfra kontrolna. W standardzie

EAN-13 umieszczona jest pod kodem kreskowym zamiast na prawo od niego, ale nie

powoduje to różnic w samym kodowaniu. Porównanie dwóch kodów zostało

przedstawione na rysunku 1.6.

Rysunek 1.6. Ten sam kod w standardzie UPC-A i EAN-13 Źródło: http://www.barcodeisland.com/ean13.phtml.

Kod UPC-A zawiera cyfry po prawej i po lewej stronie kodu kreskowego (cyfra

0 kodu kraju i cyfra kontrolna 5), a pod paskami są dwie grupy po 5 cyfr (kod wytwórcy

i kod produktu). W symbolu EAN-13, nie występuje cyfra kontrolna na prawo od kodu

kreskowego, a liczby pod kodem kreskowym składają się z dwóch grup po 6 cyfr każda.

Natomiast jeśli chodzi o sam kod kreskowy, paski i przerwy w obu przypadkach są takie

same.

Typowy kod kreskowy EAN-13 składa się z czterech części: systemu numerowego,

kodu wytwórcy, kodu produktu oraz cyfry kontrolnej. Pierwsza cyfra systemu

numerowego jest drukowana na lewo od kodu kreskowego, a druga cyfra systemu jest

drukowana jako pierwsza cyfra 6-cio cyfrowej grupy poniżej lewej części kodu

kreskowego, kod wytwórcy daje następne cyfry tej grupy. Kod produktu stanowi

pierwsze 5 cyfr prawej grupy poniżej kodu kreskowego, a cyfra kontrolna stanowi 6-tą

cyfrę tej grupy. Na rysunku 1.7. przedstawiony został typowy kod kreskowy EAN-13

oraz zaznaczone zostały obszary kodu kreskowego.

Uwaga: ze względu na zmienną długość systemu numerowego, zmienną długość kodu

wytwórcy i zmienną długość kodu produktu, podział ten należy traktować umownie.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 18 −

− 18 −

Rysunek 1.7. Typowy kod EAN-13. Źródło: http://www.barcodeisland.com/ean13.phtml oraz opracowanie własne.

„System numerowy składa się z dwóch cyfr (czasami trzech) identyfikujących

władze kraju lub regionu gospodarczego nadające kod wytwórcy. W przypadku kodów

rozpoczynających się od cyfry 0 oznaczają one kod liczbowy UPC-A. Zatwierdzone

systemy numerowe podane zostały w tabeli 1.2.”2

Tabela 1.2. Zatwierdzone systemy numerowe kodu EAN-13 Kod Państwo lub region Kod Państwo lub region Kod Państwo lub region 000-139 USA i Kanada 20-29 Towary wa żone

w supermarketach 300-379 Francja

380 Bułgaria 383 Słowenia 385 Chorwacja 387 Bo śnia-Hercegowina 40-44 Niemcy 45 Japonia (równie ż 49) 46 Federacja Rosyjska 470 Kirgistan 471 Taiwan 474 Łotwa 476 Azerbejd żan 477 Litwa 478 Uzbekistan 479 Sri Lanka 480 Filipiny 481 Białoru ś 482 Ukraina 484 Mołdawia 485 Armenia 486 Gruzja 487 Kazachstan 489 Hong Kong 49 Japonia (JAN-13) 50 Wielka Brytani a 520 Grecja 528 Liban 529 Cypr 531 Macedonia 535 Malta 539 Irlandia 54 Belgia i Luksemburg 560 Portugalia 569 Islandia 57 Dania 590 Polska 594 Rumunia 599 Węgry 600 i 601 Południowa Afryka 608 Bahrajn 609 Mauritius 611 Maroko 613 Algeria 619 Tunezja 621 Syria 622 Egipt 624 Libia 625 Jordania 626 Iran 627 Kuwejt 628 Arabia Saudyjska 64 Finlandia 690-692 Chiny 70 Norwegia 729 Izrael 73 Szwecja 740 Gwatemala 741 Salwador 742 Honduras 743 Nikaragua 744 Kostaryka 745 Panama 746 Dominikana 750 Meksyk 759 Wenezuela 76 Szwajcaria 770 Kolumbia 773 Urugwaj 775 Peru 777 Boliwia 779 Argentyna 780 Chile 784 Paragwaj 786 Ekwador 789-790 Brazylia 80-83 Włochy 84 Hiszpania 850 Kuba 858 Słowacja 859 Czechy 860 Jugosławia 867 Korea Północna 869 Turcja 87 Holandia 880 Korea Południowa 885 Tajlandia 888 Singapur 890 Indie 893 Wietnam 899 Indonezja 90 i 91 Austria 93 Australia 94 Nowa Zelandia 950 EAN – IDA 955 Malezja 958 Makao 977 ISSN (periodyki) 978-979 ISBN (ksi ążki) 980 Rachunki zwrotne 981-982 kupony obszaru

wspólnej waluty 990-999 kupony

Źródło: Opracowanie własne na podstawie http://www.gs1pl.org/index.php/narzdzia-i-zasoby/prefiksy-gs1 oraz http://www.barcodeisland.com/ean13.phtml.

2 BarCodeIsland.com. EAN-13 Background information. (http://www.barcodeisland.com/ean13.phtml, maj

2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 19 −

− 19 −

„Kod wytwórcy jest unikalnym kodem przydzielonym każdemu wytwórcy przez

właściwy organ dla systemu numerowego. Wszystkie produkty produkowane przez

daną firmę będą używały tego samego kodu wytwórcy oraz różnych kodów produktu.

EAN wykorzystuje kody wytwórców zmiennej długości. Wynika to z następującego

faktu: przydzielając pięciocyfrowy kod wytwórcy, oznacza że każdy wytwórca może

mieć do 99999 kodów produktu. Wielu producentów nie posiada aż tylu artykułów

w swojej gamie, co oznacza setki a nawet tysiące potencjalnych kodów się marnuje

w przypadku wytwórców, którzy produkują tylko kilka produktów. Dlatego jeśli

producent wie, że nie będzie mu potrzebna tak duża rezerwa kodów, EAN może mu

przydzielić dłuższy kod producenta zostawiając mniej miejsca na kody produktów.

Dzięki takiemu zabiegowi kody producentów i produktów są efektywniej użyte.

Przedstawia to tabela 1.3.”3

Tabela 1.3. Rozkład numeracji kodu wytwórcy System numerowy

Numer wytwórcy Numer produktu Maks. ilo ść produktów

Cyfra kontrolna

ZZZ ZZZZ ZZZZZ 99999 K ZZZ ZZZZZ ZZZZ 9999 K ZZZ ZZZZZZ ZZZ 999 K ZZZ ZZZZZZZ ZZ 99 K

Źródło: Opracowanie własne.

„Kod produktu jest unikalnym kodem przydzielonym przez producenta.

W przeciwieństwie do kodu wytwórcy, producent może dowolnie przydzielać kod

produktu do swoich wyrobów, bez konsultacji z innymi wytwórcami. Ponieważ EAN

gwarantuje, że pierwsza część kodu jest unikalna, tzn. kod wytwórcy, producent musi

sprawdzić tylko, że do nowych produktów nie używa kodów produktów wcześniej

użytych.

Cyfra kontrolna jest dodatkową cyfrą w numerze używaną do sprawdzenia, że kod

kreskowy został prawidłowo zeskanowany. Skanowanie kodu może dać błędne dane

z powodu np. zmiennej prędkości skanowania, błędów w druku kodu, czy wielu innych

przyczyn, dlatego ważna jest weryfikacja pozostałych cyfr odczytywanego kodu

kreskowego. Cyfra kontrolna jest obliczana na podstawie pozostałych cyfr kodu

kreskowego. W przypadku, gdy cyfra kontrolna obliczona w oparciu pozostałych cyfr

kodu kreskowego ma taką samą wartość jak zeskanowana cyfra kontrolna, przyjmuje

się, że kod kreskowy został poprawnie zeskanowany.

Kroki obliczenia cyfry kontrolnej są następujące: 3 BarCodeIsland.com. EAN-13 Background information. (http://www.barcodeisland.com/ean13.phtml, maj

2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 20 −

− 20 −

� przyjmujemy, że cyfra najbardziej z prawej jest na pozycji nieparzystej, poruszając się

w lewo przypisujemy kolejnym cyfrom nieparzysty/parzysty;

� sumujemy cyfry na pozycjach nieparzystych i mnożymy wynik przez 3;

� sumujemy cyfry na pozycjach parzystych;

� sumujemy wyniki z punktu 2 i 3;

� cyfra kontrolna jest liczbą, która jeśli się ją doda do sumy obliczonej w punkcie 4, da

liczbę równo podzielną przez 10;

� jeśli suma obliczona w punkcie 4 jest równo podzielna przez 10, to cyfrą kontrolną jest

"0" (a nie 10).”4

Innym sposobem jest przypisanie wag dla pozycji nieparzystych i parzystych

w następujący sposób: dla wszystkich pozycji nieparzystych nadajemy wagę „3”, dla

parzystych wagę „1”. Następnie poszczególne cyfry mnożymy przez wagi, a następnie

całość sumujemy. Cyfra kontrolna jest liczbą, która jeśli się ją doda do sumy obliczonej

w punkcie 4, da liczbę równo podzielną przez 10.

Ilustruje to przykład dla kodu 5909990220632. Oczywiście cyfra kontrolna w tym

przypadku jest znana i równa się „2”. Dlatego aby przedstawić sposób obliczania cyfry

kontrolnej do wyliczeń należy przyjąć kod bez ostatniej cyfry, tzn. 590999022063. Kod

dla którego obliczana jest cyfra kontrolna posiada system numerowy „590”, kod

producenta „9990” i kod produktu „22063”. Tabela 1.4. przedstawia rozpisany kod

wraz z częściowymi obliczeniami.

Tabela 1.4. Kod, przydzielone parzystości dla poszczególnych cyfr kodu oraz częściowe obliczenia Cyfra kodu 5 9 0 9 9 9 0 2 2 0 6 3 Parzysto ść P N P N P N P N P N P N

Wagi 1 3 1 3 1 3 1 3 1 3 1 3 Iloczyny 5 * 1 9 * 3 0 * 1 9 * 3 9 * 1 9 * 3 0 * 1 2 * 3 2 * 1 0 * 3 6 * 1 3 * 3

Wart. iloczynów

5 27 0 27 9 27 0 6 2 0 6 9

Źródło: Opracowanie własne.

Sumując wartości iloczynów otrzymujemy wynik równy 118. Ponieważ otrzymany

wynik jest liczbą trzycyfrową, natomiast można użyć tylko jednej cyfry. Aby

dowiedzieć się jaka jest cyfra kontrolna, należy do liczby 118 dodać taką liczbę, aby

suma tych liczb była podzielna bez reszty przez 10. Oczywiście jest to cyfra 2, gdyż 118

+ 2 = 120, a 120 / 10 = 12 reszta 0. Dlatego cyfra 2 jest cyfrą kontrolną.

4 BarCodeIsland.com. EAN-13 Background information. (http://www.barcodeisland.com/ean13.phtml, maj

2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 21 −

− 21 −

Do oznaczania towarów o zmiennej ilości stosuje się kody kreskowe EAN-13

zaczynające się od cyfry 2. Cyfra następująca bezpośrednio po „2” określa rodzaj

struktury kodu. Numery GTIN-13 z prefiksem 20 przeznaczone są do oznaczania

wewnętrznego przez dystrybutorów towarów standardowych, które nie zostały

oznaczone przez ich producentów lub dostawców albo do innych celów, wynikających

z potrzeb danej firmy. Krajowy system znakowania towarów o zmiennej ilości

wykorzystuje numery GTIN-13 z prefiksami od 21 do 29. Przeznaczone są one do

znakowania towarów niestandardowych, czyli towarów o zmiennej ilości, masie lub

cenie, przedstawionej w kodzie. Numery te zawierają obok identyfikatora towaru,

również: konkretną ilość, wagę lub cenę. Do zastosowań wewnętrznych, gdy

identyfikatorem towaru jest numer wewnętrzny stosowany w danej placówce lub sieci

handlowej, używane są numery GTIN-13 z prefiksami 24 (kod z ceną) i 29 (kod

z ilością lub masą). Do zastosowań ogólnokrajowych, gdy identyfikatorem towaru jest

numer krajowy, używane są numery GTIN-13 z prefiksami 23 (kod z ceną) i 27 (kod

z ilością lub masą). Pozostałe prefiksy: 21, 22, 25, 26 i 28 zarezerwowane są do

przyszłych potrzeb, np. dodania kolejnego prefiksu dla numerów krajowych, po

wyczerpaniu dotychczasowych możliwości. Identyfikatorem towaru może być:

� numer wewnętrzny (nadany przez handlowca i stosowany wyłącznie w obiegu

wewnętrznym);

� numer krajowy (nadawany centralnie przez organizację krajową GS1 Polska

i stosowany w obrocie ogólnokrajowym).

Towary niestandardowe, o zmiennej ilości w opakowaniu, handlowiec może

oznaczyć (do wyboru), albo wewnętrznymi - własnymi numerami (identyfikatorami),

albo numerami krajowymi. Oznaczenia towarów niestandardowych zawierają:

identyfikator towaru (wewnętrzny lub krajowy) oraz konkretną ilość, masę lub cenę

towaru w opakowaniu.

Numer towaru - dla identyfikacji towarów niestandardowych przeznacza się pole 4-

cyfrowe.

Cena - dla określenia ceny towaru w każdym opakowaniu przeznacza się 5-cyfrowe

pole, pozwalające na określenie ceny do 999,99 zł, z dokładnością do 1 grosza. Miejsce

dziesiętne nie jest zaznaczone w symbolu, ale należy je zaprogramować, w celu m. in.

właściwego przedstawienia ceny na paragonie.

Masa - dla określenia masy towaru w każdym opakowaniu przeznacza się 5-cyfrowe

pole, które pozwala na określenie masy do 99,999 kg, z dokładnością do 1 grama.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 22 −

− 22 −

Miejsce dziesiętne nie jest zaznaczone w symbolu, ale wymaga zaprogramowania, aby

cena każdego opakowania mogła być automatycznie wyliczona, po przemnożeniu

odczytanej masy przez cenę jednostkową za 1 kilogram, wprowadzoną wcześniej do

pamięci wagi, kasy lub komputera.

Ilość - dla określenia ilości sztuk towaru w każdym opakowaniu (w szczególnych

wypadkach może to być objętość lub długość, w celu oznaczenia niestandardowych

towarów przemysłowych, typu: wykładziny w mb, dywany w m2, koronki w m itp.,),

przeznacza się 5-cyfrowe pole, z zaprogramowanym miejscem dziesiętnym po drugiej

cyfrze, pozwalające na określenie ilości z dokładnością do 99,999 wyrażonej w danej

jednostce miary. W celu podania pełnej liczby sztuk (do 99), należy pamiętać, by po

liczbie sztuk wpisać 000.

Do przedstawienia struktur kodów przyjęto następujące oznaczenia:

� Tw...Tw – numer wewnętrzny towaru niestandardowego, nadany przez handlowca;

� I...I – ilość;

� W...W – waga;

� C...C – cena;

� V - dodatkowa cyfra kontrolna dla ilości, masy lub ceny;

� K - cyfra kontrolna GTIN-13.

W tablicach 1.5., 1.6. oraz 1.7. zostały przedstawione struktury kodów przy

znakowaniu towarów niestandardowych numerami wewnętrznymi.

Tabela 1.5. Znakowanie numerem wewnętrznym wg ceny Prefiks Numer

wewnętrzny towaru

Dodatkowa cyfra

kontrolna

Cena towaru Cyfra kontrolna

24 Tw Tw Tw Tw V C C C, C C K

Źródło: http://www.gs1pl.org/narzedzia-i-zasoby/publikacje/doc_download/42-kody-wewntrzne-gs1-zasady-oznaczania-towarow-kodami-kreskowymi-gs1-dla-uytku-wew-w-handlu.

Tabela 1.6. Znakowanie numerem wewnętrznym wg masy Prefiks Numer

wewnętrzny towaru

Dodatkowa cyfra

kontrolna

Cena towaru Cyfra kontrolna

29 Tw Tw Tw Tw V W W, W W W K

Źródło: http://www.gs1pl.org/narzedzia-i-zasoby/publikacje/doc_download/42-kody-wewntrzne-gs1-zasady-oznaczania-towarow-kodami-kreskowymi-gs1-dla-uytku-wew-w-handlu.

Tabela 1.7. Znakowanie numerem wewnętrznym wg ilości Prefiks Numer

wewnętrzny towaru

Dodatkowa cyfra

kontrolna

Cena towaru Cyfra kontrolna

29 Tw Tw Tw Tw V I I, 0 0 0 K

Źródło: http://www.gs1pl.org/narzedzia-i-zasoby/publikacje/doc_download/42-kody-wewntrzne-gs1-zasady-oznaczania-towarow-kodami-kreskowymi-gs1-dla-uytku-wew-w-handlu.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 23 −

− 23 −

Sposób obliczania cyfry kontrolnej w przypadku kodów GTIN-13 jest identyczny jak

w przypadku kodów EAN-13.

Kod EAN-8 został stworzony z myślą o znakowaniu towarów niewielkich

rozmiarów, na których kod kreskowy EAN-13 by się nie mieścił. Kod EAN-8 zawiera

2- lub 3-cyfrowy kod systemu numerowego, po którym następuje 4- lub 5-cyfrowy kod

produktu. Ponieważ standard EAN-8 posiada mniejszą pojemność numeryczną, dla

każdego produktu odpowiednie władze przydzielają unikatowy kod. Producent może

zażądać kodu EAN-8 niezależnie od posiadania kodu producenta i puli numerów EAN-

13 dla swoich produktów.

W Polsce kod systemu numerowego jest trzycyfrowy i wynosi „590”, a 4-cyfrowy

numer indywidualny towaru nadawany jest firmie przez ILiM - GS1 Polska. Globalny

Numer Jednostki Handlowej w kodzie EAN-8 może być przyznany, jeżeli powierzchnia

opakowania lub etykieta przeznaczona do zadrukowania jest nie większa od 40 cm2

albo jeżeli opakowanie okrągłe ma średnicę nie większą od 3 cm. EAN-8 jest kodowany

przy użyciu dwóch zestawów znaków EAN-13. Kod EAN-8 ma także cyfrę kontrolną,

która jest obliczana w ten sam sposób jak dla kodu EAN-13.

Tabela 1.8. Kod, przydzielone parzystości dla cyfr kodu oraz częściowe obliczenia. – EAN-8 Cyfra kodu 5 9 0 2 3 4 5 Parzysto ść N P N P N P N

Wagi 3 1 3 1 3 1 3 Iloczyny 5 * 3 9 * 1 0 * 3 2 * 1 3 * 3 4 * 1 5 * 3

Wart. iloczynów

15 9 0 2 9 4 15

Źródło: Opracowanie własne.

Po z sumowaniu iloczynów otrzymujemy: 15 + 9 + 2 + 9 + 4 + 15 = 54. Cyfrą

kontrolną jest liczba 6, ponieważ tyle brakuje do liczby podzielnej bez reszty przez 10

(60 = 54 + 6).

Rozdział 1. miał na celu opisanie hierarchicznego podziału towarów w Delikatesach

Alma, ponieważ w rozdziale 4. dotyczącym poszukiwania reguł asocjacyjnych badania będą

prowadzone na poszczególnych poziomach taksonomii elementów. Wiedza na temat jakie są

stoiska oraz w jaki sposób identyfikowane są działy i grupy, pozwoli stworzyć odpowiednie

tabele w bazie danych, z których następnie za pomocą autorskiego oprogramowania

i konkretnych zapytań pobierane będą zbiorcze dane wykorzystywane w eksploracji danych.

Charakterystyka kodu kreskowego oraz poszczególnych standardów przedstawia jakie

informacje zawarte są w kodzie kreskowym, natomiast pozostałe dane znajdują się w bazach

danych i są odczytywane podczas procesu automatycznej identyfikacji towarów. Na

potrzeby dalszych rozdziałów kod towaru posłuży jako identyfikator produktu i dzięki

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 24 −

− 24 −

niemu pobierane będą takie informacje jak nazwa towaru, grupa towarowa, dział, czy

stoisko. Oczywiście nic nie stoi na przeszkodzie, aby wykonać zapytanie do bazy, które

pozwoli na wybór tylko tych transakcji, w których występowały kody z określonego kraju

identyfikowane według systemu numerowego ze standardu EAN-13.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 25 −

− 25 −

2. Reguły asocjacyjne

Rozdział ten ma na celu wprowadzenie do eksploracji danych, a konkretniej

przedstawienie jednej z jej technik, czyli reguł asocjacyjnych. Kolejne podrozdziały opisują

zbiory danych i ich zawartość. Wyjaśnimy pojęcie wzorca i klasy wzorców, oraz omówimy

reguły asocjacyjne i dlaczego mogą one być interesujące z punktu widzenia

przedsiębiorstwa. W końcowej części rozdziału przedstawione zostaną wybrane algorytmy

poszukujące reguł w zbiorach danych.

2.1. Wprowadzenie do eksploracji danych

Eksploracja danych jest analizą (często ogromnych) zbiorów danych obserwacyjnych

w celu znalezienia nieoczekiwanych i użytecznych związków i relacji.

Modelami lub wzorcami są zależności i podsumowania, które są wynikiem eksploracji

danych. Przykładami są równania, reguły, skupienia, grafy, struktury drzewiaste i wzorce

w szeregach czasowych.

Eksploracja danych najczęściej odnosi się do danych zgromadzonych w innym celu, niż

analiza prowadząca do odkrywania w nich wiedzy, np. zapis wszystkich transakcji

sprzedaży w supermarkecie. Oznacza to, że cele wykonania eksploracji danych nie

odgrywają żadnej roli w strategii gromadzenia danych. Jest to jedna z własności eksploracji

danych, która odróżnia ją od statystyki, w której dane są zbierane często w jakimś

konkretnym celu.

„Eksploracja danych jest często osadzana w szerszym kontekście odkrywania wiedzy

w bazach danych (ang. knowledge discovery in databases, KDD). Termin ten zrodził się

w obszarze badań dotyczących sztucznej inteligencji. Proces KDD wymaga kilku etapów:

wybrania docelowych danych, wstępnego przetworzenia danych, przekształcenia ich, jeśli to

konieczne, wykonania eksploracji danych w celu uzyskania wzorców i zależności,

a następnie zinterpretowania i ocenienia odkrytych struktur.”5

Eksploracja dotyczy poszukiwania też pewnych nietypowych, wyjątkowych związków

z zbiorach danych. Ale tak naprawdę czym są te zbiory danych? W przypadku Delikatesów

Alma zbiorami danych są dane transakcyjne (koszyki) zebrane w procesie sprzedaży

towarów. W tabelach bazy danych wiersze są nazywane jednostkami, instancjami, encjami,

przypadkami, obiektami lub rekordami. Natomiast kolumny nazywane są zmiennymi,

5 Hand D., Mannila H., Smyth P. 2005. Eksploracja danych. Wydawnictwo Naukowo-Techniczne WNT.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 26 −

− 26 −

cechami, atrybutami lub polami. Rysunek 2.1. przedstawia przykładowe dane o kodach

kreskowych towarów z Delikatesów Alma.

Rysunek 2.1. Przykładowe dane z Delikatesów Alma Źródło: Opracowanie własne.

Dane są dostępne w różnych formach, jednak to, na co należy zwrócić szczególną uwagę,

to kilka podstawowych różnic. Pierwszą z nich jest różnica pomiędzy pomiarami

ilościowymi a kategorycznymi. Zmienne ilościowe to takie, które jesteśmy w stanie

odmierzyć na skali numerycznej i mogą teoretycznie przyjąć każdą wartość, np. CenaDetal

opisująca cenę detaliczną towaru. Zmienne kategoryczne, jak np. Kod czy Import, przyjmują

jedynie określone, dyskretne wartości, np. Import może przyjąć tylko dwie wartości „T”

(tak) lub „N” (nie).

Kolejnym zagadnieniem są rodzaje struktur, tzn. modele i wzorce. Strukturę modelu

można zdefiniować jako całościowe podsumowanie zbioru danych, opisuje ona każdy punkt

w całej przestrzeni pomiarowej. Natomiast struktury wzorców prezentują wyłącznie pewną

część przestrzeni ograniczonej przez zmienne. Można wywnioskować, że wzorce obrazują

strukturę tylko niewielkiej części danych lub przestrzeni z całego zbioru. Może się również

tak zdarzyć, że tylko wybrane rekordy zachowują się w określony sposób i wzorzec

przedstawia, które to są. Dla przykładu wyszukiwanie wzorców w bazie danych

Delikatesów Alma może odkryć, że klienci posiadający kartę lojalnościową kupują zupełnie

inne kombinacje produktów niż osoby bez tej karty.

Podstawowa zasada budowania wzorców polega na rozpoczęciu od wzorców

pierwotnych, a następnie ich łączeniu za pomocą spójników logicznych. Na ogół wzorce

identyfikują podzbiór wszystkich możliwych obserwacji nad danymi zmiennymi. Wzorce

pierwotne są to warunki na wartościach zmiennych, np. xk < c, czy xk = c. W przypadku,

gdy zostały utworzone wzorce pierwotne, można przejść do etapu budowania wzorców

bardziej złożonych, wykorzystując spójniki logiczne, tj. AND (�) i OR (�). Używając

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 27 −

− 27 −

wzorców pierwotnych i spójników można stworzyć na przykład taki wzorzec (Grupa =

110100) � (Import = ”T”), który opisuje wszystkie rekordy z tabeli bazy danych zawierające

informacje o kodach towarów, które należą do grupy towarowej 110100 oraz są towarami

z importu.

Wzorce łączą się w klasy wzorców, tzn. zbiory wzorców dozwolonych. Klasę wzorców

można zdefiniować jako wyznaczenie zbioru wzorców pierwotnych wraz z ich sposobami

łączenia. Jeśli klasa wzorców występuje często w danym zbiorze (np. klasa koszyki

klientów w transakcjach sprzedaży supermarketu delikatesów Alma), to wszystkie jej

wzorce nazywane są zbiorami częstymi (zmiennych). Istotną własnością wzorców, przy

zadanej klasie wzorców i danym zbiorze danych, jest jego częstość w zbiorze danych.

„Częstość fr(p) wzorca p można określić jako procent obserwacji w zbiorze danych, dla

których p jest prawdą.”6 Z punktu widzenia eksploracji danych nie jest jasno określone jak

często występujące wzorce są interesujące, wszystko zależy od zbioru i przeprowadzanych

badań. Dokładny poziom częstości występowania danego wzorca w badanych zbiorach

Delikatesów Alma zostaną określone w rozdziale 4.

Klasy wzorców są wykorzystywane do zdefiniowania reguł. Reguła jest typowym

wyrażeniem p => q, gdzie p i q są wzorcami pewnej klasy wzorców. Wyrażenie to należy

czytać następująco: jeśli p jest prawdziwe dla jakiegoś obiektu (zmiennej), to q również

należy uznać za prawdziwe. Oczywiście zależność taka nie musi występować zawsze,

można opisać ją z pewną dozą prawdopodobieństwa zajścia, tzn. q jest prawdziwe z danym

prawdopodobieństwem, w przypadku gdy p jest prawdziwe. W takim wypadku należy

jeszcze sprawdzić wiarygodność (dokładność, ufność) takiej reguły, która jest opisana jako

p(q|p). Prawdopodobieństwo takie jest bardzo łatwe do obliczenia, wystarczy zliczyć

odpowiednie częstości i podzielić przez siebie:

����|�� ���� � ��

����� (2.1)

Wsparcie fr(p => q) reguły p => q można opisać albo jako fr(p), czyli pewien podzbiór

wszystkich obiektów, do których stosuje się regułę, lub jako fr(p � �), tzn. obiekty, których

obie strony reguły są prawdziwe. Takie reguły są nazywane regułami asocjacyjnymi.

Przykładem takiej reguły jest np. ziemniak młody kg => marchew kg.

6 Hand D., Mannila H., Smyth P. 2005. Eksploracja danych. Wydawnictwo Naukowo-Techniczne WNT.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 28 −

− 28 −

2.2. Odkrywanie asocjacji – wprowadzenie

„Odkrywanie asocjacji jest jedna z najciekawszych i najbardziej popularnych technik

eksploracji danych. Celem procesu odkrywania asocjacji jest znalezienie interesujących

zależności lub korelacji, nazwanych ogólnie asocjacjami, pomiędzy danymi w dużych

zbiorach danych. Wynikiem procesu odkrywania asocjacji jest zbiór reguł asocjacyjnych

opisujących znalezione zależności lub korelacje pomiędzy danymi. Początkowo problem

odkrywania asocjacji był rozważany w kontekście tak zwanej „analizy koszyka zakupów”

(ang. market basket analysis). Klasyczny problem analizy koszyka zakupów polega na

analizie danych pochodzących z kas fiskalnych i opisujących zakupy realizowane przez

klientów w supermarkecie. Celem takiej analizy jest znalezienie naturalnych wzorców

zachowań konsumenckich klientów przez analizę produktów, które są przez klientów

supermarketu kupowane najczęściej wspólnie (tj. określenie grup produktów, które klienci

najczęściej umieszczają w swoich koszykach – stąd nazwa problemu). Znalezione wzorce

zachowań klientów mogą być następnie wykorzystane do opracowania akcji promocyjnych,

organizacji półek w supermarkecie, opracowania koncepcji katalogu oferowanych

produktów itp.”7

Model koszyka zakupów jest modelem relacji wiele do wielu pomiędzy dwoma encjami:

„Produkty” oraz „Koszyki” („Transakcje”). Dość często model koszyka zakupów występuje

jako tzw. tablica obserwacji. W odniesieniu do Delikatesów Alma tabelą „Produkty” jest

tabela „kartotekatowarowa”, natomiast „Koszyki” – „transakcjekasowe”. Tabela 2.1.

przedstawia przykładową tablicę obserwacji.

Tabela 2.1. Przykładowa tablica obserwacji id koszyka Produkt A 1 Produkt A 2 Produk t A 3 Produkt A 4 Produkt A 5

T1 1 0 1 1 0 T2 1 0 1 0 0 T3 1 1 0 0 0 T4 0 1 0 1 0 T5 0 1 0 1 1 T6 1 0 0 1 0 T7 0 1 0 0 1 T8 0 1 1 1 1

Źródło: Opracowanie własne.

Tablica ta posłuży wyłącznie do celów poglądowych w celu wyjaśnienia kilku kwestii.

Tablica zawiera 8 obserwacji T={T1, …, T8} i 5 atrybutów A={A1, …, A5}. Pierwsza kolumna

(id koszyka) identyfikuje kolejne transakcje, pozostałe zaś przedstawiają różne produkty

sklepu. Wartość 1 oznacza, że klient i kupił dany produkt j, 0 sytuację odwrotną. Jako

7 Morzy T. Eksploracja danych.(http://wazniak.mimuw.edu.pl/images/7/74/ED-4.2-m02-1.0-kolor.pdf,

kwiecień 2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 29 −

− 29 −

wystąpienie (zakup) danego produktu oznaczymy Ti[A j] = 1. Zadaniem eksploracyjnym jest

odnalezienie przydatnych reguł dla danych z tabeli. 2.1. Przy takim zbiorze obserwacji

o wartościach [0, 1] zmiennych A1, …, Ap, reguła asocjacyjna ma postać:

�� �� �� � … � � ��

��� � �� ���� �� � … � � ���� ���, (2.2)

gdzie dla każdego j, � � �� � �. Można ją również zapisać znacznie krócej mianowicie

( ��� … � ��

) � ( ���� � … � ����). Zbiorem elementów jest wzorzec postaci:

( �� �) � … � ( ��

�). Reguły takiej postaci można interpretować w następujący

sposób: „Jeżeli klient kupił produkty ��, ��

, … , ��, to prawdopodobnie kupił również

produkty ����, ����, … , ����”. Reguły asocjacyjne najogólniej można zapisać w postaci

� � �, gdzie p reprezentuje wzorzec zbioru elementów, natomiast q jest wzorcem zbioru

pojedynczych wyrażeń.

Z regułami asocjacyjnymi powiązane są dwie podstawowe miary określające ważność

i siłę reguły: wsparcie (ang. support) oraz ufność (ang. confidence). Wsparcie reguły

asocjacyjnej � � � jest to stosunek ilości obserwacji spełniającej warunek � � �, do liczby

wszystkich obserwacji. Pamiętać należy, że wsparcie tak naprawdę jest równe

prawdopodobieństwu zajścia zdarzenia � � �. Ufnością reguły asocjacyjnej � � �

nazywamy stosunek liczby obserwacji spełniających warunek � � �, do liczby obserwacji

spełniających warunek � (ufność reguły = warunkowemu prawdopodobieństwu p(� | �)).

Reguły można podzielić według kilku kryteriów:

� typu przetwarzanych danych – wyróżnia się binarne i ilościowe reguły asocjacyjne;

� wymiarowości przetwarzanych danych – jedno- i wielowymiarowe reguły asocjacyjne;

� stopnia abstrakcji przetwarzanych danych – jedno- i wielopoziomowe reguły asocjacyjne.

Binarne reguły asocjacyjne (ang. binary lub boolean association rules) są to takie reguły,

w których dane występujące w niej są danymi (zmiennymi) binarnymi, tzn. mogą

przyjmować tylko dwie wartości: 1 (prawdę) lub 0 (fałsz). Ilościową regułą asocjacyjną

(ang. quantitative association rules) nazywamy regułę, w której występujące dane są ciągłe

i/lub kategoryczne. Przykładem binarnej reguły asocjacyjnej może być reguła:

„����� � �!"#"$%�� &''( �)�� � � � ����� # $ (� �( �”.

Reguła ta jest przykładem reguł odkrytych w trakcie analizy koszyka zakupów klientów

Delikatesów Alma, przedstawia klientów, którzy oprócz chleba baltonowskiego 500g kubiak

w swoim koszyku posiadali również chleb na wagę. Przykładem ilościowej reguły

asocjacyjnej jest reguła:

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 30 −

− 30 −

* ! + �'�' , '� , '� … �'�' , '� , -�+ � �.�"�! + /+ �

��"*)�! + %01#� � �.�#%� 2.

Reguła ta jest wynikiem analiz danych transakcyjnych i stwierdza, że jeżeli jeśli to jest

styczeń (data z przedziału 01-31.01.2010) i produkty są z importu, to najczęściej

wybieranym produktem jest szynka parmeńska. Atrybut ‘data’ jest atrybutem ciągłym,

natomiast ‘import’ oraz ‘produkt’ są atrybutami kategorycznymi. Podczas procesu

poszukiwania ilościowych reguł asocjacyjnych, ciągłe atrybuty ulegają dyskretyzacji, tzn.

przedstawiają pewien przedział wartości.

Jednowymiarowe reguły asocjacyjne (ang. single-dimensional association rules) są to

takie reguły, w których występujące dane reprezentują tę samą dziedzinę wartości.

Natomiast wielowymiarowe reguły asocjacyjne (ang. multidimensional association rules)

przedstawiają dane reprezentujące różne dziedziny wartości. Pojęcie wymiaru pochodzi

z terminologii magazynów danych, gdzie występuje w kontekście pojęcia analizy

wielowymiarowej danych. Przykładem jednowymiarowej reguły jest reguła z chlebami

(„����� � �!"#"$%�� &''( �)�� � � ����� # $ (� �(”), natomiast regułą

wielowymiarową: * ! + �'�' , '� , '� … �'�' , '� , -�+ � �.�"�! + /+ �

��"*)�! + %01#� � �.�#%� 2, ponieważ możemy wyróżnić trzy wymiary: datę,

import oraz produkt.

Jednopoziomowe reguły asocjacyjne (ang. single-level association rules) są to takie

reguły, w których występujące dane przedstawiają ten sam poziom abstrakcji. Przykładem

takich danych są: konkretne produkty zakupione w supermarkecie, słowa kluczowe

występujące w dokumentach tekstowych, itd. W przeciwieństwie do jednopoziomowych

reguł, wielopoziomowe opisują asocjacje występujące między danymi reprezentującymi

różne poziomy abstrakcji. Przykładową jednopoziomową regułą asocjacyjną jest reguła:

„����%13 1% � � ��$"4�"��. �”. Przykładowa wielopoziomowa reguła

asocjacyjna jest następująca: „����%13 1% � � ��$"4�"��. � � # �"�� �”).

Określenie problemu poszukiwania silnych jednopoziomowych jednowymiarowych

binarnych reguł asocjacyjnych przedstawiane kilkukrotnie w przykładach tego rozdziału

abstrahuje od rzeczywistych sposobów przechowywania danych. Założenie, że źródłem

danych do eksploracji jest zerojedynkowa tablica obserwacji jest mało realistyczne

w praktyce. Częściej można się spotkać z poniższą definicją odkrywania binarnych reguł

asocjacyjnych:

„Binarną regułą asocjacyjną (krótko, regułą asocjacyjną) nazywamy relacje postaci:

� � �, gdzie � 5 6, � 5 6, i � 7 � 8.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 31 −

− 31 −

Reguła � � � posiada wsparcie sup w bazie danych D, ' � %)� � �, jeżeli sup%

transakcji w D wspiera zbiór � 9 �.

Reguła � � � posiada ufność conf w bazie danych D, ' � �"#� � �, jeżeli conf%

transakcji w D, które wspierają zbiór p, wspierają również zbiór q.”8

Wsparcie jest podstawową miarą reguł asocjacyjnych, określającą liczbę wystąpień

w danym zbiorze danych, np. w przypadku Delikatesów Alma wsparcie reguły będzie

pokazywało procent klientów zachowujących się zgodnie z daną regułą. Miara wsparcia jest

symetryczna względem zbiorów tworzących poprzednika i następnika reguły. Ufność reguły

opisuje z jakim prawdopodobieństwem znaleziona reguła asocjacyjna występuje. Gdy

reguły posiadają niewielki poziom ufności, są mało wiarygodne, natomiast te z wysokim

poziomem ufności pozwalają przypuszczać, że wystąpią ponownie. W odróżnieniu od

wsparcia, ufność jest miarą asymetryczną względem zbiorów stanowiących poprzednik

i następnik reguły. Analizując duże zbiory danych, odnalezionych reguł jest oczywiście

bardzo dużo i zdecydowanie nie wszystkie z nich muszą być dla badacza równie ciekawe.

Dlatego do określenia, które z reguł są interesujące, zostały wprowadzone dwie wartości

progowe: minimalne wsparcie i minimalna ufność. Wyznaczane są one przez badacza,

eksperta w danej dziedzinie, i są parametrami wejściowymi w procesie odkrywania reguł

asocjacyjnych dla danego zbioru danych. Uważa się, że silna reguła asocjacyjna to taka,

której wartość wsparcia jest większa lub równa minimalnemu progowi wsparcia oraz

wartość współczynnika ufności jest większa lub równa minimalnemu progowi ufności.

W przypadku poszukiwań reguł rzadkich wybór reguł jest odwrotny, tzn. jeśli współczynnik

wsparcia jest mniejszy lub równy minimalnemu progowi wsparcia oraz ufność jest mniejsza

lub równa minimalnemu progowi ufności.

2.3. Algorytmy poszukiwania reguł asocjacyjnych

W 1993 r. przedstawiony został pierwszy algorytm wyszukujący silne reguły asocjacyjne.

Wykorzystywał on w procesie odkrywania reguł operatorów relacyjnych. Rok później

R. Agrawal i R. Srikant przedstawili dwa zupełnie nowe algorytmy: algorytm Apriori oraz

jego rozszerzenie AprioriTID. Stały się one filarem wielu nowych algorytmów wykrywania

binarnych reguł asocjacyjnych. Wszystkie algorytmu poszukiwania silnych binarnych reguł

asocjacyjnych posiadają pewną cechę wspólną – taki sam ogólny schemat działania.

8 Morzy T. Eksploracja danych.(http://wazniak.mimuw.edu.pl/images/7/74/ED-4.2-m02-1.0-kolor.pdf,

kwiecień 2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Schemat 2.1. przedstawia ogólny algorytm odkrywania silnych binarnych reguł

asocjacyjnych.

Schemat 2.1. Ogólny schemat odkrywania silnych binarnych reguł asocjacyjnychŹródło: Opracowanie własne na podstawie

Krok pierwszy polega na

reprezentantami zbioru elementów wyst

wsparcia jest nie mniejsza ni

zbiory częste tworzone s

ufność jest większa lub równa zadanej warto

efektywności największe znaczenie ma etap odnajdywania zbiorów cz

Algorytm Apriori jest algorytmem iteracyjnym,

o rozmiarach {1, 2, …, k}

uporządkowany leksykograficznie, je

posortować dany zbiór. Na pocz

zbioru danych, wszystkie zbiory jednoelementowe i sprawdza który z nich jest zbiorem

częstym. W kolejnym kroku na podstawie zbiorów cz

(ang. candidate itemsets

danych lub zbiorze danych. W przypadku, gdy wsparcie kandydata jest wi

minimalnej wartości wsparcia, doł

kroku zostanie wzięty pod uwag

kolejnym kroku algorytm, na podstawie zbiorów cz

Wykorzystując algorytmzbiory częste, wygenerować

for each zbioru częstego L

for each podzbioru subL

if wsparcie(L

then

output

conf(subL

sup(subL

Znaleźć wszystkie zbiory elementów wsparcie (Li) minsup

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Schemat 2.1. przedstawia ogólny algorytm odkrywania silnych binarnych reguł

Schemat 2.1. Ogólny schemat odkrywania silnych binarnych reguł asocjacyjnychOpracowanie własne na podstawie http://wazniak.mimuw.edu.pl/images/f/f5/ED

Krok pierwszy polega na odnalezieniu wszystkich zbiorów cz

reprezentantami zbioru elementów występujących wspólnie w transakcjac

nie mniejsza niż minimalny zadany próg wsparcia. Nast

ste tworzone są wszystkie możliwe silne binarne reguły asocjacyjnej, których

ększa lub równa zadanej wartości progowej ufnoś

ększe znaczenie ma etap odnajdywania zbiorów czę

Algorytm Apriori jest algorytmem iteracyjnym, tzn. znajduje on zbiory cz

{1, 2, …, k} w kolejnych krokach działania. Zbiór danych powinien by

dkowany leksykograficznie, jeśli nie jest to w pierwszym kroku algorytm powinien

dany zbiór. Na początku algorytm wybiera z bazy danych, czy jakiego

zbioru danych, wszystkie zbiory jednoelementowe i sprawdza który z nich jest zbiorem

stym. W kolejnym kroku na podstawie zbiorów częstych tworzy si

candidate itemsets) oraz oblicza się dla każdego z nich jego wsparcie w całej bazie

danych lub zbiorze danych. W przypadku, gdy wsparcie kandydata jest wi

ści wsparcia, dołączany on jest do listy zbiorów cz

ęty pod uwagę przy generacji zbiorów kandyduj

kolejnym kroku algorytm, na podstawie zbiorów częstych odszukanych w poprzednim

algorytm z następnego kroku oraz odnalezionewygenerować wszystkie reguły asocjacyjne.

zbioru częstego Li do

podzbioru subLi zbioru Li do

wsparcie(Li) / wsparcie(subLi) ≥ minconf

then

output reguła subLi → (Li – subLi)

conf(subLi → (Li – subLi)) = support(Li) / support(subLi)

sup(subLi → (Li – subLi)) = support(Li)

Znaleźć wszystkie zbiory elementów Li={ii1, ii2, ..., iim}, Li I, których minsup. Zbiory Li nazywać się będą zbiorami częstymi.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 32 −

− 32 −

Schemat 2.1. przedstawia ogólny algorytm odkrywania silnych binarnych reguł

Schemat 2.1. Ogólny schemat odkrywania silnych binarnych reguł asocjacyjnych http://wazniak.mimuw.edu.pl/images/f/f5/ED-4.2-m01-1.0-kolor.pdf.

odnalezieniu wszystkich zbiorów częstych, które są

cych wspólnie w transakcjach, a ich wartość

minimalny zadany próg wsparcia. Następnie wykorzystując

liwe silne binarne reguły asocjacyjnej, których

ci progowej ufności. Z punktu widzenia

ksze znaczenie ma etap odnajdywania zbiorów częstych.

zn. znajduje on zbiory częste

w kolejnych krokach działania. Zbiór danych powinien być

li nie jest to w pierwszym kroku algorytm powinien

bazy danych, czy jakiegoś innego

zbioru danych, wszystkie zbiory jednoelementowe i sprawdza który z nich jest zbiorem

stych tworzy się zbiory kandydujące

go z nich jego wsparcie w całej bazie

danych lub zbiorze danych. W przypadku, gdy wsparcie kandydata jest większe lub równe

czany on jest do listy zbiorów częstych i w następnym

ji zbiorów kandydujących. W każdym

stych odszukanych w poprzednim

, których .

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 33 −

− 33 −

kroku, tworzy zbiory kandydujące o rozmiarze większym o 1. Algorytm przestaje działać

w momencie, gdy nie można utworzyć kolejnych zbiorów kandydujących. Schemat 2.2.

przedstawia algorytm Apriori.

Schemat 2.2. Algorytm Apriori

L1 = {zbiory cz ęste 1-elementowe}; for (k = 2; L k–1 ≠ Ø; k++) do begin C k = apriori_gen(L k-1 ); For each transakcji t :T do begin C t = subset(C k,t); For each zbioru kandydujacego c :Ct do c.count++; end ; L k = {c :Ck | c.count ; minsup} end ; Wynik = 9kL k;

Źródło: http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf.

„W opisie algorytmu zastosowano następującą notację: Ck oznacza rodzinę zbiorów

kandydujących k-elementowych, Lk oznacza rodzinę zbiorów częstych k-elementowych,

c.count oznacza licznik zliczający liczbę transakcji wspierających zbiór elementów c,

apriori_gen ( ) oznacza funkcję, która generuje zbiory kandydujące, natomiast subset ( )

oznacza funkcję, która dla danej transakcji t zwraca wszystkie zbiory kandydujące

wspierane przez t. W pierwszym kroku algorytm zlicza wystąpienia wszystkich elementów

w bazie danych D w celu wyodrębnienia zbiorów częstych 1-elementowych (L1). Każdy

kolejny k-ty krok algorytmu składa sie z dwóch faz. W pierwszej, funkcja apriori_gen ( ),

w oparciu o zbiory częste należące do L{k-1}, generuje zbiory kandydujące k-elementowe

(Ck). W drugiej fazie k-tego kroku jest realizowany odczyt bazy danych D i dla każdego

zbioru kandydującego c ze zbioru Ck jest obliczane wsparcie zbioru c w bazie danych D,

{wsparcie}(c). W celu zapewnienia odpowiedniej efektywności procedury obliczania

wsparcia zbiorów kandydujących, algorytm Apriori wykorzystuje strukturę danych postaci

drzewa haszowego, która służy do przechowywania zbiorów kandydujących. Procedura

subset ( ) zwraca te zbiory kandydujące należące do Ck, które są wspierane przez

transakcję t. Jeżeli zbiór kandydujący c spełnia warunek minimalnego wsparcia, to jest,

{wsparcie}(c) ; minsup, to zbiór ten jest dodawany do listy zbiorów częstych,

w przeciwnym razie zbiór ten jest usuwany z listy zbiorów kandydujących. Podstawowym

problemem efektywności działania algorytmu Apriori są dwie rzeczy: jak zapewnić

efektywność procedury generowania zbiorów kandydujących, oraz, jak zapewnić

efektywność procedury obliczania wsparcia dla tych zbiorów. Pierwszy z wymienionych

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 34 −

− 34 −

problemów dotyczy efektywności funkcji apriori_gen ( ).”9 Funkcja apriori_gen ( ) została

przedstawiona na schemacie 2.3.

Schemat 2.3. Funkcja apriori_gen ( )

function apriori_gen(C k) insert into C k select p.item 1, p.item 2, ..., p.item k-1 , q.item k-1 from L k-1 p, L k-1 q where p.item 1 = q.item 1, ...,p.item k-2 = q.item k-2 ,p.item k-1 < q.item k-1 ; forall itemsets c :Ck do forall (k-1) - subsets s of c do if ( s < L k-1 ) then delete c from C k; endfunction ;

Źródło: http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf.

„Funkcja apriori_gen ( ) jest realizowana w dwóch krokach: (1) kroku generacji zbiorów

kandydujących (ang. join step) oraz (2) kroku usuwania zbiorów kandydujących (ang. prune

step). W kroku pierwszym, zbiory kandydujące k-elementowe (Ck) są generowane poprzez

łączenie zbiorów częstych (k-1)-elementowych (Lk-1). W kroku drugim, ze zbioru Ck są

usuwane te zbiory kandydujące, których jakikolwiek podzbiór nie jest zbiorem częstym.

Złożoność pierwszego kroku funkcji apriori_gen ( ), dla i-tej iteracji, w najgorszym

przypadku, jest rzędu O(|Li|2). Wynika ona z konieczności znalezienia wszystkich par

zbiorów (ci, cj) należących do Lk-1, takich, że ich suma daje zbiór o rozmiarze i. Krok drugi

funkcji apriori_gen ( ) wymaga sprawdzenia, czy utworzony zbiór jest rzeczywiście

zbiorem kandydującym, to znaczy, wymaga sprawdzenia, czy każdy podzbiór tego zbioru

jest zbiorem częstym. Ta procedura wymaga sprawdzenia |Li| zbiorów. Stąd, złożoność

obliczeniowa funkcji apriori_gen ( ) jest rzędu O(Σi |Li|3). W praktyce, rzadko mamy do

czynienia z najgorszym przypadkiem, gdyż, najczęściej, niewiele zbiorów częstych posiada

k-1 wspólnych elementów, co pozwala na ich łączenie. Zauważmy również, że

przedstawiona złożoność obliczeniowa funkcji apriori_gen ( ) jest niezależna od liczby

transakcji n. Wynika to z faktu, że generowanie zbiorów kandydujących nie wymaga

dostępu do bazy danych, lecz wykorzystuje do tego celu odkryte wcześniej zbiory częste.

Drugi ze wspomnianych problemów dotyczy efektywności procedury obliczania wsparcia

dla wygenerowanych przez funkcje apriori_gen ( ) zbiorów kandydujących. Załóżmy, że

dany jest zbiór Ci, którego elementami są zbiory kandydujące o rozmiarze i. Obliczenie

wsparcia zbiorów kandydujących ze zbioru Ci wymaga tylko jednokrotnego odczytu bazy

danych D. Wystarczy bowiem dla każdego zbioru kandydującego c utworzyć licznik,

9Morzy T. Eksploracja danych. (http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf, kwiecień

2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 35 −

− 35 −

c.count, który będzie zliczał liczbę transakcji wspierających zbiór c. Złożoność

obliczeniowa przedstawionej procedury obliczania wsparcia dla zbioru Ci jest rzędu

O(|Ci|nq), gdzie n oznacza liczbą transakcji w bazie danych D, natomiast q oznacza

maksymalny rozmiar transakcji należącej do D. Algorytm Apriori wymaga k lub k+1

odczytów bazy danych D, gdzie k oznacza maksymalny rozmiar zbioru częstego.”10

Algorytm Apriori wykorzystuje własność monotoniczności w odniesieniu do wsparcia

zbioru elementów. Oznacza to, że jeśli jakiś zbiór jest zbiorem częstym, to wszystkie jego

podzbiory są także zbiorami częstymi. Wynika z tego również to, że każdy nadzbiór tego

zbioru nie jest zbiorem częstym. Z własności monotoniczności wynika również, że nie

trzeba obliczać wsparcia zbioru, którego podzbiór nie jest zbiorem częstym.

Monotoniczność miary wsparcia pozwala na redukcję ilości zbiorów częstych.

Sposób działania algorytmu zostanie przedstawiony na przykładnie kilku transakcji

supermarketu. W tabeli 2.2. znajdują się przykładowe dane transakcyjne.

Tabela 2.2. Przykładowe dane transakcyjne Id koszyka Produkty

1 bułka, jogurt, ser żółty 2 herbata, jogurt 3 bułka 4 bułka, jogurt, herbata 5 herbata, ser żółty, bułka

Źródło: Opracowanie własne.

Dla przykładu progowa wartość wsparcia wynosi minsup = 20%, a progowa wartość

ufności minconf = 70%. W tabelach 2.3., 2.4., 2.5. przedstawione zostały zbiory

kandydujące z kolejnych przebiegów algorytmu Apriori. Natomiast w tabelach 2.6., 2.7.,

2.8. przedstawione zostały zbiory częste.

Tabela 2.3. C1 – zbiory kandydujące Zbiór kandyduj ący Id Wsparcie (w %) bułka 1 80 jogurt 2 60 herbata 3 60 ser zółty 4 40

Źródło: Opracowanie własne.

Tabela 2.4. L1 – zbiory częste Zbiór cz ęsty Id Wsparcie (w %) bułka 1 80 jogurt 2 60 herbata 3 60 ser zółty 4 40

Źródło: Opracowanie własne.

10 Morzy T. Eksploracja danych. (http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf,

kwiecień 2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 36 −

− 36 −

Tabela 2.5. C2 – zbiory kandydujące Zbiór kandyduj ący Wsparcie (w %) 1 2 40 1 3 40 1 4 40 2 3 40 2 4 20 3 4 20

Źródło: Opracowanie własne.

Tabela 2.6. L2 – zbiory częste Zbiór cz ęsty Wsparcie (w %) 1 2 40 1 3 40 1 4 40 2 3 40 2 4 20 3 4 20

Źródło: Opracowanie własne.

Tabela 2.7. C3 – zbiory kandydujące Zbiór kandyduj ący Wsparcie (w %) 1 2 3 20 1 3 4 20 1 2 4 20

Źródło: Opracowanie własne.

Tabela 2.8. L3 – zbiory częste Zbiór cz ęsty Wsparcie (w %) 1 2 3 20 1 3 4 20 1 2 4 20

Źródło: Opracowanie własne.

Tabela 2.9. przedstawia wszystkie możliwe reguły utworzone ze zbiorów częstych wraz

z wartością ufności. Ostatecznie trzy reguły spełniają założenie minconf = 70%: reguła

„ jogurt, ser żółty => bułka”, „herbata, ser żółty => bułka” oraz „ser żółty => bułka”.

Reguły czytamy w następujący sposób: „W danym zbiorze danych 20% klientów

z prawdopodobieństwem większym lub równym 70% jeśli kupiło jogurt i ser żółty, kupiło

również bułkę.”11

Tabela 2.9. Ufność dla utworzonych reguł asocjacyjnych Reguła Ufno ść (w %) ser zółty --> bułka 100,00 jogurt, ser zółty --> bułka 100,00 herbata, ser zółty --> bułka 100,00 jogurt --> bułka 66,70 herbata --> bułka 66,70 jogurt --> herbata 66,70 herbata --> jogurt 66,70 bułka --> jogurt 50,00 bułka --> herbata 50,00 bułka --> ser zółty 50,00 ser zółty --> jogurt 50,00 ser zółty --> herbata 50,00 bułka, jogurt --> herbata 50,00 bułka, herbata --> jogurt 50,00 jogurt, herbata --> bułka 50,00 bułka, jogurt --> ser zółty 50,00 ser zółty --> bułka, jogurt 50,00 bułka, ser zółty --> jogurt 50,00

11 Morzy T. Eksploracja danych. (http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf,

kwiecień 2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 37 −

− 37 −

bułka, herbata --> ser zółty 50,00 ser zółty --> bułka, herbata 50,00 bułka, ser zółty --> herbata 50,00 jogurt --> ser zółty 33,30 herbata --> ser zółty 33,30 jogurt --> bułka, herbata 33,30 herbata --> bułka, jogurt 33,30 jogurt --> bułka, ser zółty 33,30 herbata --> bułka, ser zółty 33,30 bułka --> jogurt, herbata 25,00 bułka --> jogurt, ser zółty 25,00 bułka --> herbata, ser zółty 25,00

Źródło: Opracowanie własne.

Główną wadą algorytmów eksploracji danych jest bardzo długi czas oczekiwania na

odpowiedź zapytania eksploracyjnego. Algorytm Apriori potrzebuje k+1 pełnych odczytów

bazy danych do wyznaczenia wszystkich k-elementowych zbiorów częstych. Ponieważ czas

ten dla dużych zbiorów danych jest nie do zaakceptowania, poszukiwano sposobów

optymalizacji algorytmu i owocami tych prac są kolejne algorytmy eksploracyjne.

Algorytm AprioriTID jest rozszerzeniem algorytmu Apriori o tablice zliczająjące tzw.

counting_base. Tablica ta jest nową strukturą danych, która zmienia się z każdym krokiem

algorytmu. Wsparcie dla zbiorów kandydujących obliczane jest na podstawie tej tablicy,

a nie jak to miało miejsce w podstawowym algorytmie Apriori całego zbioru. Różnicę

w efektywności widać dopiero dla bardzo dużych zbiorów danych. Własność tego

algorytmu, jak i jego poprzednika, wykorzystano przy budowie nowego algorytmu

AprioriHybrid, przedstawionego w 1994 przez Agrawala i Srikanta. AprioriHybrid na

początku swojego działania wykonuje algorytm Apriori do momentu, aż tablicę

counting_base można zmieścić w pamięci, w tym momencie przełącza się na algorytm

AprioriTID. Minusem takiego działania jest wydłużony czas w początkowych fazach

działania algorytmu. Na schemacie 2.4. przedstawiony został algorytm AprioriTID.

Widoczna różnica w porównaniu do algorytmu z schematu 2.2. jest generowanie tablicy

counting_base i obliczanie wsparcia dla elementów tej tablicy, zamiast dla pojedynczych

zbiorów kandydujących. Tablica w algorytmie została oznaczona przez CBk.

Schemat 2.4. Algorytm AprioriTID

L1 = {zbiory cz ęste 1-elementowe}; for (k = 2; L k–1 ≠ Ø; k++) do C k = apriori_gen(L k-1 ); //generowanie nowych kandydatów CB k = Counting_base_generate (C k,CB k−1 ); Support_count(C k,CB k); L k := {c :Ck : support(c) ; min_sup} end for

Źródło: http://www.mimuw.edu.pl/~son/datamining/materials/w2-w3.pdf.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Tablica CB łączy każ

następującą strukturę CB

zawiera wszystkich kandydatów ze zbioru

Tablica CB jest wyznaczana

z tablicy CBk-1 zbudowanej

został przedstawiony na schemacie 2.5.

Schemat 2.5. Schemat postęŹródło: Opracowanie własne.

Przykładowe działanie algorytmu AprioriTID przedstawia rysunek 2.2. Zbiór danych

transakcyjnych oznaczony jest przez

50%, F1, …, F3 oznaczają

przebiega proces tworzenia tablicy

i kandydatów.

Rysunek 2.2. Działanie algorytmu AprioriTIDŹródło: http://www.mimuw.edu.pl/~son/datamining/materials/w2

Algorytm AprioriTID w pocz

więcej czasu. Związane jest to z tworzeniem tablicy

etapie tablica ta ulega znacznemu zmniejszeniu.

wynika z usunięcia z niej pozycji cz

i ufności.

Dla i=1

Dla i=k

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

ączy każdą transakcję z listą kandydatów tej transakcji.

CBk = {(id, Sk)}, gdzie id jest identyfikatorem transakcji, natomiast

zawiera wszystkich kandydatów ze zbioru Ck, występujące w transakcji o identyfikatorze

znaczana w sposób iteracyjny, tzn. w k-tej fazie

zbudowanej w fazie (k-1)-tej. Algorytm tworzący tablic

został przedstawiony na schemacie 2.5.

Schemat 2.5. Schemat postępowania w procesie tworzenia tablicy Counting BaseOpracowanie własne.

Przykładowe działanie algorytmu AprioriTID przedstawia rysunek 2.2. Zbiór danych

transakcyjnych oznaczony jest przez D, minimalne wsparcie przyję

oznaczają zbiory częste, C2 i C3 – zbiory kandydują

przebiega proces tworzenia tablicy Counting_base oraz generacji

. Działanie algorytmu AprioriTID http://www.mimuw.edu.pl/~son/datamining/materials/w2-w3.pdf.

Algorytm AprioriTID w początkowej fazie poszukiwania reguł potrzebuje znacznie

ązane jest to z tworzeniem tablicy counting_base

etapie tablica ta ulega znacznemu zmniejszeniu. Minimalizacja tablicy

ęcia z niej pozycji częstych nie spełniających założeń

•Tablica Counting Base1 = {(id, Sk)}, id - identyfikator transakcji, jednoelementowe występujące w Ck oraz transakcjach o identyfikatorze id.

Dla i=1

•Tablica Counting Basek powstaje przez łączenie Counting Basesamym, tzn. Counting Basek = {(id, Sk)} = {(id, Sk-1) (id, SDla i=k

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 38 −

− 38 −

kandydatów tej transakcji. Counting_base ma

jest identyfikatorem transakcji, natomiast Sk

ce w transakcji o identyfikatorze id.

tej fazie CB tworzona jest

ący tablicę Counting_base

powania w procesie tworzenia tablicy Counting Base

Przykładowe działanie algorytmu AprioriTID przedstawia rysunek 2.2. Zbiór danych

, minimalne wsparcie przyjęte zostało na poziomie

zbiory kandydujące. Strzałki pokazują jak

oraz generacji zbiorów częstych

tkowej fazie poszukiwania reguł potrzebuje znacznie

counting_base, natomiast w końcowym

Minimalizacja tablicy counting_base

żeń minimalnego wsparcia

identyfikator transakcji, S1 - zbiory oraz transakcjach o identyfikatorze

powstaje przez łączenie Counting Basek-1 z nim ) (id, Sk-1)}

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Algorytm FP-Growth wykorzystuje zupełnie inne po

zbiorów częstych. Zawiera ona dwa podstawowe kroki, które zostały przedstawione na

schemacie 2.6.

Schemat 2.6. Etapy algorytmu FPŹródło: Opracowanie własne na podstawie

kolor.pdf.

W pierwszym kroku algorytm przeszukuje baz

jednoelementowych zbiorów cz

elementów z transakcji

składający się wyłącznie z jednoelementowych zbiorów cz

jest sortowany maleją

transformowane do postaci FP

Rysunek 2.3. Przykładowe FPŹródło: http://wazniak.mimuw.edu.pl/images/3/3f/ED

Kompresja bazy danych

do FP-Drzewa

• Krok 1: znajdowanie wszystkich 1

• Krok 2: transformacja każdej transakcji Tusunięciu z T

• Krok 3: posortowanie transakcji wsparcia tworząc listę elementów.

• Krok 4: utworzenie FP

Eksploracja FP-Drzewa

• Dla każdego 1wierzchołek reprezentujacy zbiór α).

• Z każdą prefiksową scieżką wzorca wierzchołka końcowego scieżki reprezentującego zbiór wzorca).

• Warunkowa baza wzorca służy do konstrukcji tzw. warunkowego FP

• Warunkowe FPzbiór

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Growth wykorzystuje zupełnie inne podejście do sposobu odkrywania

stych. Zawiera ona dwa podstawowe kroki, które zostały przedstawione na

Schemat 2.6. Etapy algorytmu FP-Growth Opracowanie własne na podstawie http://wazniak.mimuw.edu.pl/images/3/3f/ED

W pierwszym kroku algorytm przeszukuje bazę danych w celu znalezienia wszystkich

jednoelementowych zbiorów częstych. Kolejnym krokiem jest usuni

elementów z transakcji Ti, co w efekcie daje zmodyfikowany zbiór transakcji

ę ącznie z jednoelementowych zbiorów częstych. Nast

jest sortowany malejąco wg wsparcia każdej transakcji. Po tym kroku transakcje s

postaci FP-Drzewa.

. Przykładowe FP-drzewo wraz z tablicą nagłówkową http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf.

Krok 1: znajdowanie wszystkich 1-elementowych zbiorów czestych w bazie danych.

Krok 2: transformacja każdej transakcji Ti należącej do bazy danych do postaci transakcji skompresowanej Trusunięciu z Ti wszystkich elementów, które nie są częste.

Krok 3: posortowanie transakcji - dla każdej transakcji Tri, elementy transakcji są sortowane według malejących wartości ich wsparcia tworząc listę elementów.

Krok 4: utworzenie FP-Drzewa z posortowanych transakcji Tr1, Tr2, ..., Trn.

Dla każdego 1-elementowego zbioru częstego α znajdujemy wszystkie scieżki w FP-drzewie, których końcowym wierzchołkiem jest wierzchołek reprezentujacy zbiór α (pojedyncza ścieżka, której końcowy wierzchołek jest α, nazywa się

).

Z każdą prefiksową scieżką wzorca α jest związany licznik częstości scieżki, którego wartość odpowiada wartości licznika transakcji wierzchołka końcowego scieżki reprezentującego zbiór α (Zbiór wszystkich scieżek prefiksowych wzorca tworzy warunkową bazę wzorca).

Warunkowa baza wzorca służy do konstrukcji tzw. warunkowego FP-drzewa wzorca α, oznaczanego Tree

Warunkowe FP-drzewo jest następnie rekursywnie eksplorowane w celu znalezienia wszystkich zbiorów częstych zawierających zbiór α.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 39 −

− 39 −

ście do sposobu odkrywania

stych. Zawiera ona dwa podstawowe kroki, które zostały przedstawione na

http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-

danych w celu znalezienia wszystkich

stych. Kolejnym krokiem jest usunięcie nie częstych

, co w efekcie daje zmodyfikowany zbiór transakcji T = T1, …, Tn,

ęstych. Następnie zbiór transakcji

dej transakcji. Po tym kroku transakcje są

należącej do bazy danych do postaci transakcji skompresowanej Tri, polegajaca na

, elementy transakcji są sortowane według malejących wartości ich

drzewie, których końcowym wierzchołkiem jest , nazywa się ścieżką prefiksową wzorca

jest związany licznik częstości scieżki, którego wartość odpowiada wartości licznika transakcji (Zbiór wszystkich scieżek prefiksowych wzorca tworzy warunkową bazę

, oznaczanego Tree-α.

drzewo jest następnie rekursywnie eksplorowane w celu znalezienia wszystkich zbiorów częstych zawierających

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 40 −

− 40 −

Czym jest FP-Drzewo? „FP- drzewo jest ukorzenionym, etykietowanym

w wierzchołkach, grafem acyklicznym. Korzeń grafu posiada etykietę 'null', pozostałe

wierzchołki grafu, zarówno wierzchołki wewnętrzne jak i liście, reprezentują 1-elementowe

zbiory częste. Z każdym wierzchołkiem grafu, za wyjątkiem korzenia, związana jest etykieta

reprezentująca 1-elementowy zbiór częsty oraz licznik transakcji, reprezentujący liczbę

transakcji wspierających dany zbiór.”12 Transformacja do FP-drzewa została przedstawiona

na schemacie 2.7. Przykładowe FP-drzewo wraz z tablicą nagłówkową przedstawia rysunek

2.3.

Schemat 2.7. Transformacja do FP-drzewa Źródło: Opracowanie własne na podstawie http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-

kolor.pdf.

12 Morzy T. Eksploracja danych. (http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf,

kwiecień 2010).

Utwórz korzeń FP-drzewa oraz przypisz mu etykietę 'null'

Odczytaj bazę danych (po kompresji) i dla pierwszej transakcji Tr1 należącej do bazy danych utwórz scieżkę w FP-drzewie, której początkiem jest korzeń drzewa

Dla kolejnej transakcji Tr2 należącej do bazy danych utwórz scieżkę

rozpoczynającą się od korzenia. Jeżeli lista elementów transakcji Tr2 posiada wspólny prefiks z listą elementów transakcji Tr1, wówczas, scieżka

reprezentująca Tr2 jest konstruowana w następujący sposób => Załóżmy, że wspólny prefiks transakcji Tr1 i Tr2 składa się z elementów: I1, I2, ..., Ik, gdzie Ii

należy do T1, Ii należy do T2, i = 1, ..., k.

Transformacja elementów transakcji Tr2 należących do wspólnego prefiksu I1,

I2, ..., Ik nie tworzy nowych wierzchołków drzewa, lecz współdzieli istniejącą w FP-drzewie ścieżkę I1, I2, ..., Ik utworzoną przy transformacji transakcji Tr1.

Pozostałe elementy transakcji Tr2, nie należące do wspólnego prefiksu, tworzą nowe wierzchołki połączone łukami - początkiem tej ścieżki jest wierzchołek Ik. Ogólnie, w przypadku transformacji transakcji Tj, która posiada wspólny prefiks z przetransformowaną wcześniej transakcją Ti, transakcja Tj, po transformacji, współdzieli podscieżkę reprezentującą wspólny prefiks z transakcją Ti. Innymi

słowy, pojedyncza scieżka w FP- drzewie, rozpoczynająca się w korzeniu drzewa, reprezentuje zbiór transakcji zawierających identyczne elementy. Licznik ostatniego wierzchołka danej scieżki zawiera informacje o liczbie

transakcji wspierających zbiór elementów reprezentowanych przez wierzchołki grafu należące do tej scieżki.

Dla każdego elementu FP-drzewa utwórz wskaźnik w tablicy nagłówkowej. Jeżeli dany element występuje wielokrotnie w FP- drzewie, to wskaźniki do

wierzchołków reprezentujących dany element tworzą listę wskaźników.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 41 −

− 41 −

Algorytm FP-Growth posiada dwa początkowe parametry: Tree = FP-drzewo oraz

α = null. W przypadku, gdy FP-drzewo posiada tylko pojedynczą ścieżkę p, wtedy dla

każdej kombinacji β wierzchołków ścieżki p tworzony jest zbiór = 9 > o wsparciu równym

minimalnemu wsparciu elementów należących do zbioru β. Jeśli FP-drzewo zawiera więcej

niż jedną ścieżkę, to każdy element α – i należący do tablicy nagłówków Tree tworzony jest

zbiór = > , � 9 > o wsparciu odpowiadającym wsparciu elementów α – i. Następnie

generowana jest warunkowa baza wzorca β i warunkowe FP-drzewo wzorca β, oznaczone

Tree-β. Po tym kroku sprawdzane jest, czy Tree-β jest niepuste, jeśli jest puste, przerywany

jest algorytm, w przeciwnym wypadku ponownie uruchamiana jest procedura FP-Growth

z parametrami Tree = Tree-β i α = β. Formalny opis procedury przedstawia schemat 2.8.

Schemat 2.8. Procedura FP-Growth

procedure FP-Growth (Tree, α) if Tree zawiera pojedyncz ą ście żkę P then for each kombinacji β wierzchołków ście żki P do generuj zbiór β 9 α o wsparciu równym minimalnemu wsparciu elementów

nale żących do β end do else for each α-i nale żącego do tablicy nagłówków elementów Tree do generuj zbiór β = α-i 9 α o wsparciu = wsparcie( α-i); utwórz warunkow ą baz ę wzorca β; utwórz warunkowe FP-drzewo wzorca β - Tree- β; if Tree- β ≠ Ø then FP-Growth(Tree- β, β); end procedure ;

Źródło: http://wazniak.mimuw.edu.pl/images/3/3f/ED-4.2-m03-1.0-kolor.pdf.

Rozdział ten miał na celu przedstawienie w niewielkim skrócie czym jest eksploracja

danych, a konkretniej czym są reguły asocjacyjne, w jaki sposób są wyszukiwane

w zbiorach danych oraz jak je interpretować. Opisane zostały rodzaje reguł asocjacyjnych,

podstawowy algorytm wyszukiwania reguł asocjacyjnych Apriori oraz jego późniejsze

modyfikacje, a także podstawowe parametry wykorzystywane przez większość tych

algorytmów i określane przez badacza, tzn. minimalny poziom wsparcia i ufności. Następnie

przedstawiony został algorytm FP-Growth, w którym niektóre elementy bazują na

pierwotnym algorytmie Apriori, jednak zastosowanie struktury drzewiastej do

przechowywania zbiorów częstych w znacznym stopniu przyspieszyło etap selekcji zbiorów

kandydujących do kolejnych interakcji algorytmu. W dalszej pracy zostanie wykorzystana

wiedza na temat jak powinny wyglądać dane transakcyjne, w jaki sposób są one

przetwarzane przez algorytm do wyszukiwania reguł asocjacyjnych, w jaki sposób

minimalny poziom wsparcia i ufności wpływa na ilość odnajdywanych reguł, i co

najważniejsze, jak interpretować otrzymane w wyniku eksploracji reguły asocjacyjne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

3. Wybór oraz przygotowanie

W tym rozdziale

przeprowadzonej na zbiorach Delikatesów Alma.

danych, w której zgromadzone zostan

magazynowego oraz systemu kasowego, zawieraj

pokażemy krok po kroku

przygotowanej bazy danych oraz w jaki sposób pobiera

wykorzystane następnie w procesie poszukiwania reguł asocjacyjnych. Rozdział

zakończymy opisem program

otrzymanych w plikach CSV i dalszej analizy, maj

asocjacyjnych w badanym zbiorze danych.

3.1. Wybór narztransakcjach Delikatesów Alma

Proces odkrywania wiedzy składa si

w pewien sposób przekształcane

Dzięki takim zabiegom po przej

wiedzę jak interpretować

wiedzy przedstawia schemat 3.1

Schemat 3.1. Proces odkrywania wiedzyŹródło: Opracowanie własne na podstawie

kolor.pdf.

Czyszczenie, konsolidacja i transformacja danych

Wybór metody (metod) i algorytmów eksploracji danych

Eksploracja danych

Interpretacja, analiza i ocena wyników wizualizacja, transformacja, usuwanie redundantnych wzorców, etc.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

oraz przygotowanie oprogramowania do badań

rozdziale przedstawimy oprogramowanie wykorzystane w eksploracji danych

przeprowadzonej na zbiorach Delikatesów Alma. Zaprojektujemy

której zgromadzone zostaną dane z dwóch systemów Delikatesów Alma: systemu

magazynowego oraz systemu kasowego, zawierającego transakcje klientów. Nast

krok po kroku jak zaimportować informacje z systemów Delikatesów

przygotowanej bazy danych oraz w jaki sposób pobierać z tej bazy odpowiednie dane

ępnie w procesie poszukiwania reguł asocjacyjnych. Rozdział

programu Rapid Miner, a dokładniej przygotowa

plikach CSV i dalszej analizy, mającej na celu odn

badanym zbiorze danych.

Wybór narzędzi do przeprowadzenia eksploracji danych na Delikatesów Alma

Proces odkrywania wiedzy składa się z siedmiu etapów. W

przekształcane tak aby można było je wykorzystać

ki takim zabiegom po przejściu całego procesu ekspert (osoba maj

jak interpretować wyniki) może wykorzystać pozyskaną wied

wiedzy przedstawia schemat 3.1.

Schemat 3.1. Proces odkrywania wiedzy Opracowanie własne na podstawie http://wazniak.mimuw.edu.pl/images/f/f5/ED

Czyszczenie, konsolidacja i transformacja danych

Wybór metody (metod) i algorytmów eksploracji

Eksploracja danych

Interpretacja, analiza i ocena wyników wizualizacja, transformacja, usuwanie redundantnych wzorców, etc.

Wykorzystanie pozyskanej wiedzy

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 42 −

− 42 −

oprogramowania do badań

oprogramowanie wykorzystane w eksploracji danych

Zaprojektujemy odpowiednią bazę

dane z dwóch systemów Delikatesów Alma: systemu

cego transakcje klientów. Następnie

informacje z systemów Delikatesów Alma do

ć z tej bazy odpowiednie dane

pnie w procesie poszukiwania reguł asocjacyjnych. Rozdział

, a dokładniej przygotowaniem go do danych

ącej na celu odnalezienie reguł

przeprowadzenia eksploracji danych na

apów. W każdym z nich dane są

na było je wykorzystać w kolejnych etapach.

ciu całego procesu ekspert (osoba mająca odpowiednią

ą wiedzę. Proces odkrywania

http://wazniak.mimuw.edu.pl/images/f/f5/ED-4.2-m01-1.0-

transformacja, usuwanie redundantnych wzorców, etc.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 43 −

− 43 −

W etapie czyszczenia, konsolidacji i transformacji danych wykorzystane zostanie

autorskie oprogramowanie napisane w języku AutoIt. Zadaniem skryptów będzie pobieranie

danych z serwera magazynowego (dane o produktach, grupach, działach i stoiskach)

i serwera kasowego (dane transakcyjne –koszyki), odpowiednie przekształcenie i zapisanie

do wspólnej bazy danych. Oprócz tego dane z bazy za pomocą odpowiedniego skryptu będą

pobierane i zapisywane do pliku CSV, który następnie zostanie wykorzystany w etapie

poszukiwania reguł. Dane wynikowe z programu Rapid Miner także zostaną przetworzone

przez skrypt, aby łatwiej można było je interpretować.

Baza danych wykorzystywana do przechowywania zbiorczych danych zarządzana jest

przez MySQL, który jest jednym z najszybszych systemów bazodanowych. Przy wyborze

RDBMS kierowaliśmy się szybkością serwera, gdyż sama struktura zaprojektowanej bazy

będzie dość prosta i nie potrzebne są jakieś bardziej zaawansowane rozwiązania. Aby

możliwa była komunikacja autorskiego programu, potrzebne jest zainstalowanie wcześniej

odpowiedniego sterownika ODBC zamieszczonego na nośniku dołączonym do tej pracy

magisterskiej.

Do wyszukiwania reguł asocjacyjnych w transakcjach Delikatesów Alma, wykorzystane

zostanie bardzo dobre i elastyczne oprogramowanie firmy Rapid-I o nazwie Rapid Miner.

Jest to prawdziwy kombajn do uczenia maszynowego. Posiada ponad 500 operatorów:

obsługa wejścia, wyjścia, przetwarzanie danych oraz wizualizację. Jednak najważniejszą

jego cechą jest interfejs użytkownika, który jest intuicyjnych i pozwala na szybkie

stworzenie interesującego nas procesu przetwarzania wiedzy. O jego marce świadczy

również wykorzystanie go przez takich potentatów światowych jak Cisco Systems, Ford,

Honda, IBM, HP13.

Proces przygotowania i implementacji oprogramowania został podzielony na kilka

etapów:

� etap implementacji bazy danych;

� etap przygotowania i obsługi autorskiego programu do wymiany informacji między

systemami sklepowymi, wspólną bazą danych, a programem Rapid Miner;

� etap przygotowania oprogramowania Rapid Miner do eksploracji danych.

13 Źródło: http://rapid-i.com/content/view/114/134/lang,en/

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 44 −

− 44 −

3.2. Etap implementacji bazy danych

Baza danych zarządzana jest przez serwer MySQL. Serwer MySQL dostępny jest dla

wszystkich popularnych platform systemowych i różnorakich architektur procesorów. Baza

danych składa się z tabel: KartotekaTowarowa, Grupy, Dzialy, Stoiska, TransakcjeKasowe

oraz TransInfoDodatkowe. W tabelach 3.1., 3.2., 3.3., 3.4. oraz 3.5. przedstawione zostały

odpowiednio struktury tabel bazy Alma.

Tabela 3.1. Specyfikacja tabeli KartotekaTowarowa Nazwa kolumny Typ danych PK (klucz podstawowy)

FK (klucz obcy) NULL Opis, komentarz

IdKartoteki Kod CenaDetal Nazwa Import Grupa

int(11) varchar(13) float(10,2) varchar(40) varchar(1) int(6)

PK NIE NIE NIE NIE NIE NIE

Id towaru Kod towaru Cena detaliczna towaru Nazwa towaru Import (T/N) Grupa towarowa

Źródło: Opracowanie własne.

Tabela 3.2. Specyfikacja tabeli Grupy Nazwa kolumny Typ danych PK (klucz podstawowy)

FK (klucz obcy) NULL Opis, komentarz

IdGrupy Grupa Dzial Stoisko NazwaGrupy

int(11) int(6) int(3) varchar(2) varchar(30)

PK NIE NIE NIE NIE NIE

Id grupy Grupa towarowa Dział towaru Stoisko Nazwa grupy towarowej

Źródło: Opracowanie własne.

Tabela 3.3. Specyfikacja tabeli Dzialy Nazwa kolumny Typ danych PK (klucz podstawowy)

FK (klucz obcy) NULL Opis, komentarz

IdDzialu Dzial NazwaDzialu

int(11) int(3) varchar(30)

PK NIE NIE NIE

Id działu Dział towaru Nazwa działu

Źródło: Opracowanie własne.

Tabela 3.4. Specyfikacja tabeli Stoiska Nazwa kolumny Typ danych PK (klucz podstawowy)

FK (klucz obcy) NULL Opis, komentarz

IdStoiska Stoisko NazwaStoiska

int(2) varchar(2) varchar(30)

PK NIE NIE NIE

Id stoiska Stoisko Nazwa stoiska

Źródło: Opracowanie własne.

Tabela 3.5. Specyfikacja tabeli TransakcjeKasowe Nazwa kolumny Typ danych PK (klucz podstawowy)

FK (klucz obcy) NULL Opis, komentarz

IdTransakcji IdParagonu Data Godzina NrKasy WartPar Przedzial IloscTow KartaLojal

int(11) int(10) date time int(2) float(8,2) int(4) int(4) varchar(13)

PK

NIE NIE NIE NIE NIE NIE NIE NIE NIE

Id transakcji Id paragonu Data (dd-mm-rrrr) Godzina (gg:mm:ss) Numer kasy Warto ść paragonu Przedział koszyka Ilo ść towarów na paragonie Karta lojalno ściowa

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 45 −

− 45 −

Tabela 3.6. Specyfikacja tabeli TransInfoDodatkowe Nazwa kolumny Typ danych PK (klucz podstawowy)

FK (klucz obcy) NULL Opis, komentarz

IdTransakcji Kod

int(11) varchar(13)

FK NIE NIE

Id transakcji Kod towaru

Źródło: Opracowanie własne.

Schemat 3.2. przedstawia kod SQL bazy Alma wraz z tabelami.

Schemat 3.2. Kod SQL bazy Alma -- Baza danych: `alma` -- ------------------------------------------------ -------- -- -- Struktura tabeli dla `dzialy` -- CREATE TABLE IF NOT EXISTS `dzialy` ( `IdDzialu` int(11) NOT NULL AUTO_INCREMENT COMMEN T 'Id działu', `Dzial` int(3) NOT NULL COMMENT 'Identyfikator nu meryczny działu', `NazwaDzialu` varchar(30) NOT NULL COMMENT 'Nazwa działu', PRIMARY KEY (`IdDzialu`), KEY `Dzial` (`Dzial`), KEY `NazwaDzialu` (`NazwaDzialu`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ------------------------------------------------ -------- -- -- Struktura tabeli dla `grupy` -- CREATE TABLE IF NOT EXISTS `grupy` ( `IdGrupy` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Id grupy', `Grupa` int(6) NOT NULL COMMENT 'Identyfikator nu meryczny grupy', `Dzial` int(3) NOT NULL COMMENT 'Identyfikator nu meryczny dzialu', `Stoisko` varchar(2) NOT NULL COMMENT 'Identyfika tor stoiska', `NazwaGrupy` varchar(30) NOT NULL COMMENT 'Nazwa grupy', PRIMARY KEY (`IdGrupy`), KEY `Grupa` (`Grupa`), KEY `Dzial` (`Dzial`), KEY `Stoisko` (`Stoisko`), KEY `NazwaGrupy` (`NazwaGrupy`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ------------------------------------------------ -------- -- -- Struktura tabeli dla `kartotekatowarowa` -- CREATE TABLE IF NOT EXISTS `kartotekatowarowa` ( `IdKartoteki` int(11) NOT NULL AUTO_INCREMENT COM MENT 'Id towaru', `Kod` varchar(13) NOT NULL COMMENT 'Kod towaru', `CenaDetal` float(10,2) NOT NULL COMMENT 'Cena de taliczna towaru', `Nazwa` varchar(40) NOT NULL COMMENT 'Nazwa towar u', `Import` varchar(1) NOT NULL COMMENT 'Towar z imp ortu', `Grupa` int(6) NOT NULL COMMENT 'Grupa towarowa', PRIMARY KEY (`IdKartoteki`), KEY `Kod` (`Kod`), KEY `Grupa` (`Grupa`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ------------------------------------------------ -------- -- -- Struktura tabeli dla `stoiska` -- CREATE TABLE IF NOT EXISTS `stoiska` ( `IdStoiska` int(2) NOT NULL AUTO_INCREMENT COMMEN T 'Id stoiska', `Stoisko` varchar(2) NOT NULL COMMENT 'Identyfika tor stoiska', `NazwaStoiska` varchar(30) NOT NULL COMMENT 'Nazw a stoiska', PRIMARY KEY (`IdStoiska`), KEY `Stoisko` (`Stoisko`), KEY `NazwaStoiska` (`NazwaStoiska`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ------------------------------------------------ --------

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 46 −

− 46 −

-- -- Struktura tabeli dla `transakcjeinfododatkowe` -- CREATE TABLE IF NOT EXISTS `transakcjeinfododatkowe ` ( `IdTransakcji` int(11) NOT NULL COMMENT 'Identyfi kator transakcji', `Kod` varchar(13) NOT NULL COMMENT 'Kod towaru', KEY `Kod` (`Kod`), KEY `IdTransakcji` (`IdTransakcji`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ------------------------------------------------ -------- -- -- Struktura tabeli dla `transakcjekasowe` -- CREATE TABLE IF NOT EXISTS `transakcjekasowe` ( `IdTransakcji` int(11) NOT NULL AUTO_INCREMENT CO MMENT 'Identyfikator

transakcji', `IdParagonu` int(10) NOT NULL COMMENT 'Id transak cji', `Data` date NOT NULL, `Godzina` time NOT NULL, `NrKasy` int(2) NOT NULL COMMENT 'Numer kasy', `WartPar` float(8,2) NOT NULL COMMENT 'Wart. para gonu', `Przedzial` int(4) NOT NULL COMMENT 'Przedział pa ragonu', `IloscTow` int(4) NOT NULL COMMENT 'Ilo ść towarów na paragonie', `KartaLojal` varchar(13) NOT NULL COMMENT 'Numer karta lokal.', PRIMARY KEY (`IdTransakcji`), KEY `KartaLojal` (`KartaLojal`), KEY `WartPar` (`WartPar`), KEY `Przedzial` (`Przedzial`), KEY `IloscTow` (`IloscTow`), KEY `IdParagonu` (`IdParagonu`), KEY `NrKasy` (`NrKasy`), KEY `Data` (`Data`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Źródło: Opracowanie własne.

Schemat 3.3. przedstawia tabele bazy Alma wraz z relacjami oraz kluczami

podstawowymi i obcymi.

Schemat 3.3. Schemat bazy Alma Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 47 −

− 47 −

3.3. Etap przygotowania i obsługi programu DM Cafe

Etap implementacji skryptów należy rozpocząć od przeanalizowania struktury plików

z danymi eksportowanymi do bazy danych. Plik z kartoteką towarową jest plikiem

tekstowym o budowie kolumnowej i kodowaniu DOS-852. Każdy kod towaru jest

opisany w czterech wierszach. Na rysunku 3.1. przedstawiony został wycinek z pliku

tekstowego z kartoteką towarową sklepu.

Rysunek 3.1. Plik tekstowy z kartoteką towarową sklepu Źródło: opracowanie własne.

W pierwszym wierszu znajdują się następujące informacje o kodzie:

� kod towaru (etykieta Kod towaru) – znaki od 1 do 13 – zakodowany w standardzie

EAN-13, EAN-8 lub GTIN-13;

� cena detaliczna (etykieta Cena det.) – znaki od 15 do 23 - znak dziesiętny to `.`, znak

tysięcy `,`;

� cena jednostkowa (etykieta Cena j.) – znaki od 24 do 33 - znak dziesiętny to `.`, znak

tysięcy `,`;

� przelicznik (etykieta Przelicznik)– znaki od 34 do 43 - część całości jednostki

z kolumny 5;

� jednostka (etykieta Jm)– znaki od 46 do 49 - jednostka miary;

� stawka podatku VAT (etykieta VAT) – znaki od 50 do 55;

� koszt gospodarowania odpadami (etykieta KGO) – znaki od 56 do 64;

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 48 −

− 48 −

� numer PKWiU (etykieta PKWiU) – znaki od 65 do 79 – identyfikator Polskiej

Klasyfikacji Wyrobów i Usług;

� stoisko (etykieta Stoisko) – znaki od 80 do 82 – numer stoiska;

� grupa towarowa (etykieta Grupa) – znaki od 89 do 95 – numer grupy towarowej.

Drugi wiersz rozpoczyna się od nazwy towaru, następnie numer działu oddzielony od

nazwy towaru `/` oraz nazwa działu rozdzielona `/` od działu towaru.

W trzecim wierszu znajdują się atrybuty kodu, tj.:

� „IMPORTOWANY” – oznakowane towary z importu;

� „POZA ASORTYMENTEM” – towary zablokowane do przyjęcia;

� „ZABLOKOWANY W KASIE” – oznakowane towary zablokowane w kasie;

� „CENTRALNY” – kod pobierany z Centralnej Kartoteki Towarowej;

� „LOKALNY” – kod utworzony dla celów sklepu.

Drugim rodzajem plików są pliki z danymi transakcyjnymi (paragonami) z serwera

kasowego. Pliki nazywane są wg następującego formatu: PAR_data.txt, gdzie data

zapisana jest jako rrrr-mm-dd (dd – dzień, mm – miesiąc, rrrr – rok). Na rysunku 3.2.

przedstawiony został wycinek jednego z plików.

Rysunek 3.2. Przykładowy plik tekstowy z transakcjami Źródło: opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 49 −

− 49 −

Każdy paragon opisany w pliku posiada następującą strukturę:

� początek paragonu – identyfikowany przez znacznik [PARAGON];

� informacje o transakcji – opisany przez znacznik TRN;

� pozycje paragonu – identyfikowane przez znaczniki POZ;

� zakończenie paragonu – identyfikowane przez znacznik PLT.

W wierszach ze znacznikami TRN, POZ oraz PLT poszczególne dane rozdzielane są

znakiem `|`. Schemat 3.4. przedstawia informacje o transakcji wg kolejności występującej

w linii.

Schemat 3.4. Informacje o transakcji Źródło: Opracowanie własne.

Schemat 3.5. przedstawia informacje o pozycjach paragonu wg kolejności

występującej w linii.

Schemat 3.5. Informacje o pozycji paragonu Źródło: Opracowanie własne.

PARAGON1.

Nr kasjera

2.

Nr kasy

3.

Identyfikator transakcji 4.

Numer karty lojalnościowej

5.

Data i godzina

PARAGON

1.

Kod towaru

2.

Ilośc pomnożona przez 1000

3.

Cena towaru pomnożona

przez 100

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 50 −

− 50 −

Paragon kończy się znacznikiem PLT i następującymi informacjami: formą oraz

wartością płatności.

Oprócz kartoteki towarowej oraz transakcjami kasowymi, do badań potrzebne są

jeszcze informacje o grupach towarowych, działach i stoiskach. Dane te pobierane

zostaną z plików tekstowych, które zostały przedstawione na rysunkach 3.3., 3.4. oraz

3.5.

Rysunek 3.3. Plik tekstowy z grupami towarowymi Źródło: opracowanie własne.

Plik tekstowy z grupami towarowymi posiada budowę kolumnową, którego

odpowiednia ilość znaków w danej linii odpowiada za daną komórkę w kolumnie.

Pierwszą kolumną jest grupa towarowa, która rozpoczyna się od 1 znaku i zawiera

6 znaków. Następnie znajduje się dział towaru (znaki od 9 do 12) oraz stoisko (znaki od

14 do 16). Kolejną kolumną jest numer magazynu, ilość towarów w grupie (znaki od 22

do 29) i nazwa grupy towarowej (znaki od 31 do końca linii).

Plik z działami towarowymi zawiera jedynie dwie informacje, tzn. identyfikator działu

oraz nazwę działu. Identyfikator w pliku znajduje się w pierwszych 3 znakach każdej

linii, natomiast nazwa rozpoczyna się od 5 znaku w linii.

W pliku ze stoiskami znajdują się również tylko dwa rodzaje informacji: identyfikator

stoiska oraz jego nazwa. Identyfikator stoiska są to dwa pierwsze znaki każdej linii,

natomiast nazwa rozpoczyna się od 4 znaku w linii.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 51 −

− 51 −

Rysunek 3.4. Plik tekstowy z działami Źródło: opracowanie własne.

Rysunek 3.5. Plik tekstowy z stoiskami Źródło: opracowanie własne.

Analiza struktury plików potrzebna była, aby możliwe było przygotowanie

odpowiednich algorytmów do importu informacji do bazy danych Alma. Najważniejsze

funkcje autorskiego programu do importu/eksportu danych zostaną przedstawione

w Dodatku B do niniejszej pracy, natomiast jego obsługa opisana będzie w kolejnych

akapitach tego podrozdziału.

DM Cafe jest niewielkim programem przygotowanych na potrzeby eksploracji danych

w Delikatesach Alma. Jego zadaniem jest zapis danych z plików systemu magazynowego

i kasowego sklepu, którego dane są wykorzystywane w badaniu, odczyt z bazy danych na

podstawie odpowiedniego zapytania SQL i zapis do plików CSV, które następnie są

przetwarzane w programie Rapid Miner., oraz przetwarzanie wyników z plików

tekstowych programu firmy Rapid I.

Przed przystąpieniem do badań, należy najpierw utworzyć bazę danych, której

struktura oraz kod SQL został przedstawiony w podrozdziale 3.2. Następnie w programie

DM Cafe otwieramy ustawienia programu i wypełniamy informacje dotyczące połączenia

z serwerem MySQL tj. nazwa użytkownika, hasło, nazwa bazy danych oraz adres IP

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 52 −

− 52 −

serwera (domyślnie ustawionym adresem jest adres lokalny komputera). Rysunek 3.6.

przedstawia okno z ustawieniami programu.

Rysunek 3.6. Okno ustawienia programu DM Cafe Źródło: opracowanie własne.

Po zapisaniu danych można przystąpić do importu danych z plików tekstowych.

W tym celu należy wybrać zakładkę IMPORT DANYCH i po kolei zaimportować

poszczególne dane do bazy. W przypadku danych transakcyjnych można zaznaczyć

większą ilość plików, które w odpowiedniej kolejności zostaną zaimportowane do bazy

danych. Rysunek 3.7. przedstawia okno programu z wybraną zakładką IMPORT

DANYCH.

Rysunek 3.7. Zakładka IMPORT DANYCH Źródło: opracowanie własne.

Kolejnym krokiem jest pobranie danych potrzebnych do przeprowadzenia analizy.

W tym celu należy ustawić się na zakładce ANALIZA, następnie w polu tekstowym

wpisać zapytanie w języku SQL, wybrać poziom hierarchii towaru i wcisnąć przycisk

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 53 −

− 53 −

POBIERZ DANE. Rysunek 3.8. przedstawia zakładkę ANALIZA wraz z zapytaniem

i wybranym poziomem hierarchii towaru.

Rysunek 3.8. Zakładka IMPORT DANYCH Źródło: opracowanie własne.

Po naciśnięciu przycisku POBIERZ DANE wyświetli się okno, w którym należy

wybrać miejsce zapisu pliku oraz podać jego nazwę. Rysunek 3.9. przedstawia okno

zapisu do pliku CSV z bazy danych.

Rysunek 3.9. Okno zapisu do pliku Źródło: opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Po zatwierdzenie program pobierze dane z bazy danych i zapisze w formacie

wymaganym przez projekt programu Rapid Miner. Nast

przeanalizować pod k

Rapid Miner w celu łatwiejszej dalszej analizy mo

należy wybrać zakładk

z wyborem plików do przetworzenia. Mo

oprogramowaniu firmy Rapid I.

3.4. Etap przygotowania oprogramowania Rapid Miner do eksploracji danych W programie Rapid Miner jakakolwiek analiza rozpoczyna si

wczytania przygotowanego wcze

z operatorów (tzw.

przez przeciągnięcie danego operatora na obszar procesu i poł

za pomocą odpowiednich gniazd. Wi

parametry, dzięki k

uruchomieniu programu u

znajduje się menu rozwijalne, w którym znajdziemy opcje dotycz

procesów, narzędzia, widok oraz pomoc do

został interfejs z ikonami szybkiego dost

Można tutaj znaleźć

� nowy plik (

� otwórz plik (

przykłady dołą

� zapisz plik (

� zapisz jako nowy plik (

nową nazwą;

� drukuj ( ) –

� cofnij ( );

� powtórz (

� uruchom proces (

� pauza ( ) –

� stop ( ) – zatrzymuje całkowicie działaj

� widok okna projektu (

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Po zatwierdzenie program pobierze dane z bazy danych i zapisze w formacie

wymaganym przez projekt programu Rapid Miner. Następnie plik CSV nale

ć pod kątem reguł asocjacyjnych. Zapisany plik tekstowy z

Rapid Miner w celu łatwiejszej dalszej analizy można przerobić w DM Cafe. W tym celu

ć zakładkę ANALIZA i kliknąć w przycisk PRZETWORZ

z wyborem plików do przetworzenia. Możliwa jest również analiza bezpo

ogramowaniu firmy Rapid I.

Etap przygotowania oprogramowania Rapid Miner do eksploracji

W programie Rapid Miner jakakolwiek analiza rozpoczyna si

wczytania przygotowanego wcześniej odpowiedniego procesu. Proces składa si

tzw. klocków), które są dostępne w oknie „Operators”. Buduje si

ą ęcie danego operatora na obszar procesu i połączenie z innymi modułami

ą odpowiednich gniazd. Większość operatorów posiada indywidualne

ęki którym można kontrolować ich zachowanie w

uruchomieniu programu użytkownik ujrzy okno jak na rysunku 3.

ę menu rozwijalne, w którym znajdziemy opcje dotycz

ędzia, widok oraz pomoc do programu. Poniżej tego menu ulokowany

został interfejs z ikonami szybkiego dostępu do najczęściej wykonywanych czynno

źć następujące ikony:

) – tworzy nowy projekt;

otwórz plik ( ) – otwiera zapisane projekty w prywatny

przykłady dołączone do programu;

) – zapisuje aktualnie otwarty projekt;

zapisz jako nowy plik ( ) – pozwala na zapis aktualnie otwartego projektu pod

ą ą;

– drukuje projekt na dowolnie wybranej drukarce;

);

uruchom proces ( ) – rozpoczyna działanie procesu;

– wstrzymuje chwilowo aktualnie działający proces;

zatrzymuje całkowicie działający proces;

widok okna projektu ( ) – przełącza na widok projektu;

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 54 −

− 54 −

Po zatwierdzenie program pobierze dane z bazy danych i zapisze w formacie

wymaganym przez projekt programu Rapid Miner. Następnie plik CSV należy

tem reguł asocjacyjnych. Zapisany plik tekstowy z programu

na przerobić w DM Cafe. W tym celu

PRZETWORZ. Otworzy się okno

ż analiza bezpośrednio w

Etap przygotowania oprogramowania Rapid Miner do eksploracji

W programie Rapid Miner jakakolwiek analiza rozpoczyna się od utworzenia lub

go procesu. Proces składa się

pne w oknie „Operators”. Buduje się go po

ączenie z innymi modułami

operatorów posiada indywidualne

ich zachowanie w procesie. Po

ytkownik ujrzy okno jak na rysunku 3.10. Na samej górze

menu rozwijalne, w którym znajdziemy opcje dotyczące plików, edycji,

programu. Poniżej tego menu ulokowany

ęściej wykonywanych czynności.

otwiera zapisane projekty w prywatny repozytorium lub

pozwala na zapis aktualnie otwartego projektu pod

drukuje projekt na dowolnie wybranej drukarce;

ący proces;

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

� widok okna w

� widok okna startowego (

Rysunek 3.10. Okno programu Rapid MinerŹródło: Opracowanie własne.

W centralnej częś

tzn. nowy projekt (

szablon ( ) oraz dost

otworzy się okno jak na rysunku 3.

chcemy zapisać projekt oraz nazw

Rysunek 3.11. Okno nowego projektu Źródło: Opracowanie własne.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

widok okna wyników ( ) – przełącza na widok rezultatów procesu;

widok okna startowego ( ) – przełącza na okno startowe.

. Okno programu Rapid Miner pracowanie własne.

W centralnej części okna startowego ulokowane zostały ikony zarz

tzn. nowy projekt ( ), otwórz ostatni projekt ( ), otwórz projekt

) oraz dostęp do szkoleń online ( ). Po wybraniu nowego projektu

ę okno jak na rysunku 3.11., w którym wybieramy repozytorium, gdzie

ć projekt oraz nazwę projektu.

. Okno nowego projektu – wybór repozytorium i nazwa pliku pracowanie własne.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 55 −

− 55 −

cza na widok rezultatów procesu;

cza na okno startowe.

startowego ulokowane zostały ikony zarządzania projektem,

), otwórz projekt ( ), otwórz

Po wybraniu nowego projektu

ym wybieramy repozytorium, gdzie

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Po uzupełnieniu odpowiednich danych, zatwierdzamy wybór, po czym zostanie

utworzony czysty projekt. Okno projektu podzielone jest najcz

proces, repozytoria, operatory i parametry. Ka

i ustawiać wg upodobania, dodatkowe okienka mo

(Widok) -> Show view (Poka

mamy utworzony nowy projekt, z prawej strony w okienku parametrów dobrze jest

ustawić kilka opcji, m.in. poziom inform

(all), plik rejestru zdarze

danych z/do plików (

Rysunek 3.12. Parametry projektuŹródło: Opracowanie własne.

Rysunek 3.13. Okno nowego projektuŹródło: Opracowanie własne.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Po uzupełnieniu odpowiednich danych, zatwierdzamy wybór, po czym zostanie

utworzony czysty projekt. Okno projektu podzielone jest najczęś

proces, repozytoria, operatory i parametry. Każdą z tych częś

dobania, dodatkowe okienka można aktywować

> Show view (Pokaż). Okno nowego projektu pokazuje rysunek 3.

mamy utworzony nowy projekt, z prawej strony w okienku parametrów dobrze jest

kilka opcji, m.in. poziom informacji rejestru zdarzeń (logverbosity

), plik rejestru zdarzeń oraz kodowanie znaków odczytywanych i

danych z/do plików (encoding). Okno parametrów pokazane zostało na rysunku 3.

. Parametry projektu pracowanie własne.

. Okno nowego projektu pracowanie własne.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 56 −

− 56 −

Po uzupełnieniu odpowiednich danych, zatwierdzamy wybór, po czym zostanie

utworzony czysty projekt. Okno projektu podzielone jest najczęściej na kilka części:

z tych części można przesuwać

na aktywować poprzez menu View

). Okno nowego projektu pokazuje rysunek 3.6. Gdy

mamy utworzony nowy projekt, z prawej strony w okienku parametrów dobrze jest

logverbosity) na wszystkie

odczytywanych i zapisywanych

Okno parametrów pokazane zostało na rysunku 3.12.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Po ustawieniu parametrów projektu mo

poszukiwania reguł. Proces

CSV. Moduły bardzo łatwo si

początkową (lub całą

odpowiadają treści podanej przez u

z wyszukanym modułem do odczytu pliku CSV przedstawia rysunek 3.

Rysunek 3.14. Okienko operatorów Źródło: Opracowanie własne.

Aby dodać dany operator do procesu, nale

czynności okno procesu wygl

Rysunek 3.15. Okno procesu po dodaniu operatora Read CSVŹródło: Opracowanie własne.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Po ustawieniu parametrów projektu można przystąpić to

poszukiwania reguł. Proces rozpocznie się wstawienia modułu odczytu danych z pliku

CSV. Moduły bardzo łatwo się wyszukuje, wystarczy wpisać w okienku filtra operatorów

ą (lub całą) nazwę danego klocka, aby wyświetliły się

ą ści podanej przez użytkownika. Widok okienka operatorów

wyszukanym modułem do odczytu pliku CSV przedstawia rysunek 3.

. Okienko operatorów – wyszukiwanie operatora Read CSV pracowanie własne.

ć dany operator do procesu, należy przeciągnąć go na okno procesu. Po tej

ci okno procesu wygląda tak jak na rysunku 3.15.

. Okno procesu po dodaniu operatora Read CSV pracowanie własne.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 57 −

− 57 −

ąpić to tworzenia procesu

wstawienia modułu odczytu danych z pliku

ć w okienku filtra operatorów

wietliły się tylko te operatory, które

ika. Widok okienka operatorów

wyszukanym modułem do odczytu pliku CSV przedstawia rysunek 3.14.

ą ąć go na okno procesu. Po tej

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Następnie potrzebne jest ustawienie kilku parametrów operatora: nazw

(file name), kodowanie znaków (

znak cytatów (quotes charakter

separators), znak dziesi

zaznaczenie opcji: uż

attribute names), uż

operatora Read CSV

Rysunek 3.16. Parametry operatora Read CSVŹródło: Opracowanie własne.

Rysunek 3.17. Parametry operatora Read CSV c.dŹródło: Opracowanie własne.

Kolejnym operatorem jest

można przypisać dan

tworzonym do wyszukiwania reguł asocjacyjnych przypisywane b

do identycznie nazwanych ról. Oczywi

jednak z pewnością

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

pnie potrzebne jest ustawienie kilku parametrów operatora: nazw

), kodowanie znaków (encoding), znaki komentarza (

quotes charakter), separator oddzielający kolumny od siebie (

), znak dziesiętny (decimal charakter) i format daty (

zaznaczenie opcji: użycia pierwszego wiersza z nazwami atrybutów (

), użycia cytatów (use quotes) i analiza liczb (parse number

Read CSV należy ustawić tak samo, jak na rysunku 3.16

. Parametry operatora Read CSV pracowanie własne.

. Parametry operatora Read CSV c.d pracowanie własne.

Kolejnym operatorem jest Set Role, który należy użyć dwukrotnie.

ć daną kolumnę do zdefiniowanych ról w programie. W procesie

tworzonym do wyszukiwania reguł asocjacyjnych przypisywane bę

do identycznie nazwanych ról. Oczywiście nazwy kolumn nie musz

ścią taka identyfikacja jest łatwiejsza w przedstawieniu. Rysunek 3.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 58 −

− 58 −

pnie potrzebne jest ustawienie kilku parametrów operatora: nazwę pliku

), znaki komentarza (characters comment),

ący kolumny od siebie (kolumn

) i format daty (date format) oraz

ycia pierwszego wiersza z nazwami atrybutów (use first row as

parse number). Parametry

16. oraz 3.17.

ż ć dwukrotnie. Dzięki niemu

do zdefiniowanych ról w programie. W procesie

tworzonym do wyszukiwania reguł asocjacyjnych przypisywane będą kolumny id i label

cie nazwy kolumn nie muszą być identyczne,

taka identyfikacja jest łatwiejsza w przedstawieniu. Rysunek 3.18.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

i 3.19 przedstawiają

wraz z odpowiednio ustawionymi parametrami.

Rysunek 3.18. Widok procesu i parametrów operatora Set RoleŹródło: Opracowanie własne.

Rysunek 3.19. Widok procesu i parametrów operatora Set Role(2)Źródło: Opracowanie własne.

Następnym operatorem jest

znaku podanego w parametrach. Mo

rozdzielone (parametr

podziału. Oprócz tego wyst

selection) oraz dołą

prezentuje proces po dodaniu operatora Split oraz jego parametry.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

przedstawiają widok procesu po dodaniu kolejnych dwóch operatorów

wraz z odpowiednio ustawionymi parametrami.

. Widok procesu i parametrów operatora Set Role pracowanie własne.

. Widok procesu i parametrów operatora Set Role(2) pracowanie własne.

pnym operatorem jest Split, którego zadaniem jest rozdzielenie kolumn wg

znaku podanego w parametrach. Możliwe jest wybranie, które z kolumn maj

rozdzielone (parametr attribute filter type), wzorzec podziału (

Oprócz tego występują jeszcze dwie opcje: zaznaczenie odwrotne (

) oraz dołącz specjalne atrybuty (include special attributes

prezentuje proces po dodaniu operatora Split oraz jego parametry.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 59 −

− 59 −

widok procesu po dodaniu kolejnych dwóch operatorów Set Role

, którego zadaniem jest rozdzielenie kolumn wg

liwe jest wybranie, które z kolumn mają zostać

), wzorzec podziału (split pattern) oraz tryb

jeszcze dwie opcje: zaznaczenie odwrotne (invert

include special attributes). Rysunek 3.20.

prezentuje proces po dodaniu operatora Split oraz jego parametry.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Rysunek 3.20. Widok procesu i parametrów operatora SplitŹródło: Opracowanie własne.

Kolejnym krokiem procesu jest zamiana danych nominalnych na dwumianowe (zero

jedynkowe). Odbywa si

posiada następujące parametry: utwórz widok (

typu (attribute filter type

transformacja dwumianowa (

underscore in name

przedstawia rysunek 3.

Rysunek 3.21. Widok procesu i parametrów operatora Nominal to BinominalŹródło: Opracowanie własne.

Po zamianie danych przyszedł czas na wstawienie operatora generuj

częste FP-Growth. Jak sama nazwa wskazuje, korzysta on z algorytmu FP

Operator ten posiada nast

minimalne wsparcie

mają zawierać pozycje (

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Widok procesu i parametrów operatora Split pracowanie własne.

Kolejnym krokiem procesu jest zamiana danych nominalnych na dwumianowe (zero

jedynkowe). Odbywa się to za pomocą operatora Nominal to Binominal

ę ące parametry: utwórz widok (create view), filtrowanie atrybutów wg

attribute filter type), zaznaczenie odwrotne, dołącz specjalne atrybuty,

transformacja dwumianowa (transform binominal) oraz użyć podkre

underscore in name). Proces oraz parametry operatora Nominal to Binominal

przedstawia rysunek 3.21.

. Widok procesu i parametrów operatora Nominal to Binominalpracowanie własne.

Po zamianie danych przyszedł czas na wstawienie operatora generuj

. Jak sama nazwa wskazuje, korzysta on z algorytmu FP

Operator ten posiada następujące parametry: pozytywne warto

minimalne wsparcie (min support), maksymalną ilość pozycji (max items

ć pozycje (must contain) oraz opcję znajdującą minimaln

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 60 −

− 60 −

Kolejnym krokiem procesu jest zamiana danych nominalnych na dwumianowe (zero-

Nominal to Binominal. Operator ten

), filtrowanie atrybutów wg

), zaznaczenie odwrotne, dołącz specjalne atrybuty,

ż ć podkreślenia w nazwie (use

Nominal to Binominal

. Widok procesu i parametrów operatora Nominal to Binominal

Po zamianie danych przyszedł czas na wstawienie operatora generującego zbiory

. Jak sama nazwa wskazuje, korzysta on z algorytmu FP-Growth.

ce parametry: pozytywne wartości (positive value),

max items), wzorzec, jaki

minimalną ilość wzorców.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

W procesie poszukiwania reguł asocjacyjnych parametr

w ciągłym użyciu,

przedstawia proces z dodanym operatorem wraz z jego parametrami.

Rysunek 3.22. Widok procesu i parametrów operatora Źródło: Opracowanie własne.

Następnie trzeba doda

źródeł. Służy do tego operator

FP-Growth z tym operatorem, a Multiply z Create Association Rules i wyj

(res). Przedstawia to rysunek 3.

Rysunek 3.23. Widok procesu i odpowiednich połŹródło: Opracowanie własne.

Operator Create Association Rules

asocjacyjnych ze zbiorów cz

można ustawić to: kryterium wyboru reguł (

(min confidence), moc parametru Theta (

Laplace. Dwa ostatnie parametry w tym procesie badawczym pozostawiamy domy

Kryterium wyboru reguł ustawiamy na ufno

minimalnej ufności w zale

zostały na rysunku 3.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

W procesie poszukiwania reguł asocjacyjnych parametr minimalne wsparcie

życiu, modyfikowany w zależności od badanego zbioru. Rysunek 3.

przedstawia proces z dodanym operatorem wraz z jego parametrami.

. Widok procesu i parametrów operatora FP-Growth pracowanie własne.

pnie trzeba dodać moduł rozdzielający równocześnie te same wyniki na kilka

ży do tego operator Multiply. Łączymy wyjś

Growth z tym operatorem, a Multiply z Create Association Rules i wyj

(res). Przedstawia to rysunek 3.23.

. Widok procesu i odpowiednich połączeń po dodaniu Multiply i Create Association Rulespracowanie własne.

Create Association Rules odpowiedzialny jest za utworzenie reguł

asocjacyjnych ze zbiorów częstych otrzymanych z modułu FP-Growth. Parametry, które

ć to: kryterium wyboru reguł (criterion

), moc parametru Theta (gain theta), wartość p

Laplace. Dwa ostatnie parametry w tym procesie badawczym pozostawiamy domy

Kryterium wyboru reguł ustawiamy na ufność (confidence) oraz dopieramy warto

ści w zależności od badanego zbioru. Parametry operatora prze

zostały na rysunku 3.24.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 61 −

− 61 −

minimalne wsparcie będzie

ci od badanego zbioru. Rysunek 3.22.

przedstawia proces z dodanym operatorem wraz z jego parametrami.

śnie te same wyniki na kilka

czymy wyjście zbiorów częstych

Growth z tym operatorem, a Multiply z Create Association Rules i wyjściem procesu

po dodaniu Multiply i Create Association Rules

odpowiedzialny jest za utworzenie reguł

Growth. Parametry, które

criterion), minimalna ufność

ść parametru k w funkcji

Laplace. Dwa ostatnie parametry w tym procesie badawczym pozostawiamy domyślne.

) oraz dopieramy wartość

ci od badanego zbioru. Parametry operatora przedstawione

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Rysunek 3.24. Parametry operatora Create Association RulesŹródło: Opracowanie własne.

Na końcu procesu nale

do pliku Write as Text

(wyjście zbiorów czę

należy w nim ustawić

Dodatkowo moduł

pokazane zostały parametry operatora

asocjacyjnych.

Rysunek 3.25. Widok całego procesu i parametry operatora Write as TextŹródło: Opracowanie własne.

Gdy został utworzony cały proces, pozostaje jedynie sprawdzi

Dane przykładowego pliku CSV z transakcjami przedstawione zostały na rysunku 3.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

. Parametry operatora Create Association Rules pracowanie własne.

cu procesu należy dodać jeszcze operator podziału wyjś

Write as Text. Do operatora Write as Text podpinamy wyj

cie zbiorów częstych) i Multiply(2) (wyjście reguł asocjacyjnych). Parametry, które

y w nim ustawić to plik wynikowy (result file) oraz kodowanie znaków (

Dodatkowo moduł Multiply(2) łączymy z wyjściem procesu (res). Na rysunku 3.

pokazane zostały parametry operatora Write as Text oraz cały proces odkrywania reguł

Widok całego procesu i parametry operatora Write as Text pracowanie własne.

Gdy został utworzony cały proces, pozostaje jedynie sprawdzi

Dane przykładowego pliku CSV z transakcjami przedstawione zostały na rysunku 3.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 62 −

− 62 −

jeszcze operator podziału wyjścia Multiply oraz zapis

podpinamy wyjście z Multiply

cie reguł asocjacyjnych). Parametry, które

) oraz kodowanie znaków (encoding).

ciem procesu (res). Na rysunku 3.25.

oraz cały proces odkrywania reguł

Gdy został utworzony cały proces, pozostaje jedynie sprawdzić, czy dobrze działa.

Dane przykładowego pliku CSV z transakcjami przedstawione zostały na rysunku 3.26.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Rysunek 3.26. Plik CSV z danymi transakcyjnymiŹródło: Opracowanie własne.

Dane z pliku pobierane s

i wyszukaniu pozycji cz

Rapid Miner przełącza si

reguły asocjacyjne, ale równie

Rysunek 3.27. przedstawia widok znalezionych reguł asoc

wszystkie możliwe pozycje cz

Rysunek 3.27. Widok znalezionych reguł asocjacyjnychŹródło: Opracowanie własne.

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Plik CSV z danymi transakcyjnymi pracowanie własne.

Dane z pliku pobierane są automatycznie przez operator Read CSV

i wyszukaniu pozycji częstych, tworzone są reguły asocjacyjne. Po zako

Rapid Miner przełącza się automatycznie na widok rezultatów. Wynikiem s

reguły asocjacyjne, ale również otrzymujemy wszystkie znalezione pozycje cz

. przedstawia widok znalezionych reguł asocjacyjnych

żliwe pozycje częste.

Widok znalezionych reguł asocjacyjnych pracowanie własne.

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 63 −

− 63 −

Read CSV. Po przetworzeniu

asocjacyjne. Po zakończeniu procesu

automatycznie na widok rezultatów. Wynikiem są oczywiście

otrzymujemy wszystkie znalezione pozycje częste.

jacyjnych, natomiast 3.28.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

Rysunek 3.28. Widok odszukanych pozycji czŹródło: Opracowanie własne.

Listę można sortowa

możliwe jest wyświetlanie w zale

również widok reguł w post

identycznego jak ten zapisywany do pliku przez operator

oraz 3.30. przedstawiaj

Rysunek 3.29. Widok znalezionych reguł asocjacyjnych w postaci grafuŹródło: Opracowanie własne.

Rysunek 3.30. Widok znalezionych reguł asocjacyjnych w postaci tesktuŹródło: Opracowanie własne.

W badaniach przeprowadzonych w Del

stopniu wykorzystywane, poniewa

będzie odpowiednio przetwarzał dane zapisane przez moduł procesu. B

szybsze i wygodniejsze rozwi

ń klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych

odszukanych pozycji częstych pracowanie własne.

żna sortować wg kolumn, klikając na nagłówek danej kolumny. Oprócz tego

świetlanie w zależności od kryterium (min criterion

widok reguł w postaci grafu (opcja Graph View), jak równie

identycznego jak ten zapisywany do pliku przez operator Write as Text

. przedstawiają reguły asocjacyjne w postaci tekstowej i grafu.

. Widok znalezionych reguł asocjacyjnych w postaci grafu pracowanie własne.

. Widok znalezionych reguł asocjacyjnych w postaci tesktu pracowanie własne.

W badaniach przeprowadzonych w Delikatesach Alma te widoki b

stopniu wykorzystywane, ponieważ do interpretacji i importu reguł posłu

dzie odpowiednio przetwarzał dane zapisane przez moduł procesu. B

szybsze i wygodniejsze rozwiązanie, ponieważ badania przeprowadzane b

klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 64 −

− 64 −

c na nagłówek danej kolumny. Oprócz tego

min criterion). Dostępny jest

), jak również w postaci tekstu,

Write as Text. Rysunki 3.29.

reguły asocjacyjne w postaci tekstowej i grafu.

ikatesach Alma te widoki będą w mniejszym

do interpretacji i importu reguł posłuży skrypt, który

dzie odpowiednio przetwarzał dane zapisane przez moduł procesu. Będzie to znacznie

badania przeprowadzane będą na ponad

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 65 −

− 65 −

50 zbiorach danych i przepisywanie poszczególnych reguł asocjacyjnych byłoby bardzo

żmudne i bezsensowne. Plik z zapisanymi regułami asocjacyjnymi oraz pozycjami

częstymi został przedstawiony na rysunku 3.31.

Rysunek 3.31. Plik wynikowy z pozycjami częstymi i regułami asocjacyjnymi Źródło: Opracowanie własne.

Plik podzielony jest na dwie części. W pierwszej zapisywane są wszystkie odnalezione

reguły asocjacyjne spełniające warunek progowej ufności. Sekcja ta rozpoczyna się o

daty i godziny oraz wyrażenia „Association Rules” (Reguły asocjacyjne). Następnie

zapisywane są reguły asocjacyjne. Druga sekcja zaczyna się w drugim wierszu po

wszystkich regułach od daty, godziny oraz wyrażenia „Frequent Items Sets” (zbiory

częste) wraz z ilością zbiorów.

Rozdział trzeci miał na celu przygotowanie oprogramowania do badań, których

rezultatem będą odnalezione reguły asocjacyjne, oraz opisanie poszczególnych opcji

programów wykorzystywanych w projekcie. W pierwszej części rozdziału

zaprezentowana została baza danych wykorzystywana do wymiany informacji pomiędzy

systemami sklepowymi a oprogramowaniem Rapid Miner. Druga część rozdziału

przeznaczona została na opis specyfikacji plików zawierających takie dane jak kartotekę

towarową sklepu, dane transakcyjne, informacje o grupach towarowych, działach, czy

stoiskach. Oprócz tego opisany został autorski program DM Cafe, za pomocą którego

informacje są wymieniane z bazą danych oraz przetwarzane są wyniki z oprogramowania

firmy Rapid I. W trzeciej części opisany został program Rapid Miner, jego główne opcje

oraz w jaki sposób stworzyć proces, który będzie analizował dane transakcyjne i w

wyniku zapisywał zbiory kandydujące oraz odnalezione reguły asocjacyjne. Mając tak

przygotowane oprogramowanie można przystąpić do właściwej analizy, a jej wyniki

zostały zaprezentowane w następnym rozdziale.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 66 −

− 66 −

4. Eksploracja danych na zbiorze transakcji Delikatesów Alma

4.1. Informacje ogólne na temat przeprowadzonych badań

Eksploracja danych w Delikatesach Alma przeprowadzona została na zbiorze transakcji

z okresu sierpień 2009 r. – styczeń 2010 r. Ilość transakcji (paragonów) w tym okresie

wyniosła ponad 121 000 oraz 1 215 980 towarów na paragonach. Badania przeprowadzone

zostały na dwóch komputerach, ponieważ część z nich nie była możliwa do wykonania na

podstawowej jednostce badawczej, ze względu na ograniczenia pamięci maszyny. Pierwszy

z komputerów posiadał procesor dwurdzeniowy Intel Dual-Core T2300 oraz 2 GB pamięci

RAM, drugi komputer wyposażony było w jednostkę Intel i3-350M i 4GB pamięci RAM.

Badania zostały podzielone z uwagi na kilka czynników:

� taksonomię towarów (poziom stoiska, działu, grupy, kodu towaru);

� wartość koszyka zakupów;

� kartę Klubu Konesera (kartę lojalnościową);

� okres zwiększonej sprzedaży (weekendy i dni przed świętami);

� kombinacji powyższych czynników łącznie (taksonomii, okres zwiększonej sprzedaży,

karty Klubu Konesera oraz wartości koszyka zakupów);

� wartość koszyka zakupów dla sklepu internetowego Alma24.

Eksploracja danych w Delikatesach Alma z uwagi na taksonomię towarów została

podzielona na cztery odrębne badania. Każde z nich ma na celu odnalezienie zależności

występujących na danym poziomie abstrakcji towaru. Kolejna grupa badań dzieli

dotychczasowe cztery poziomy hierarchii towarów według następujących przedziałów

wartości koszyka zakupów: koszyki do 20 zł, od 20 do 50 zł, od 50 do 100 zł, od 100 do 200

zł oraz powyżej 200 zł. Taki podział funkcjonuje w Delikatesach Alma od kilku lat

i wykorzystywany jest w różnego rodzaju analizach i raportach, dlatego został on

wykorzystany do badań w niniejszej pracy magisterskiej. Celem takiego pogrupowania jest

zebranie w poszczególnych przedziałach transakcji klientów z podobnymi wartościowo

koszykami, a dzięki temu sprawdzić, z jakich stoisk, działów i grup wybierane są towary

łącznie przez te osoby. W tej grupie badań zostało przeprowadzonych 15 analiz. Trzeci

czynnik, tzn. karta lojalnościowa, dzieli zbiór transakcji na dwie części: paragony klientów

z kartą Klubu Konesera oraz osób nie posiadających tej karty. Celem badania jest analiza

wyboru produktów przez klientów z kartą lojalnościową lub bez niej na poziomie stoisk,

działów i grup towarowych. W tej grupie badań przeprowadzonych zostanie 6 analiz.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 67 −

− 67 −

Kolejnym czynnikiem badań jest okres zwiększonej sprzedaży. W handlu najczęściej

wyróżnia się dwa takie okresy: weekendy oraz dni przedświąteczne. Przez weekendy

w badaniach przeprowadzonych w Delikatesach Alma rozumieć należy piątek i sobotę

każdego tygodnia z okresu sześciomiesięcznej sprzedaży od sierpnia 2009 do stycznia 2010.

Taki wybór może się wydawać nielogiczny, ponieważ na ogół weekendem określa się

sobotę i niedzielę, jednak analiza sprzedaży z tego okresu wykazała, że zwiększony obrót

sklep odnotowywał właśnie w przyjęte do badań dni tygodnia. Dniami przedświątecznymi,

w przypadku eksploracji danych przeprowadzanej w Delikatesach Alma, są najczęściej

jeden lub dwa dni znajdujące się bezpośrednio przed danym świętem kalendarzowym.

Dokładny wybór dni został również w tym przypadku poprzedzony wcześniejszą analizą

sprzedaży. Badania w tej grupie przeprowadzone zostały na poziomie grup towarowych

i kodów, w przypadku weekendów, oraz wyłącznie grup towarowych, dla dni

przedświątecznych. Celem tej grupy badań jest pokazanie bardziej szczegółowych

zachowań klientów robiących zakupy w weekendy oraz w dni przedświąteczne. W tej grupie

zostały przeprowadzone 3 badania. Następna grupa badań oparta jest na bardzo

szczegółowych zbiorach transakcji. Zbiory te są wynikiem kombinacji wyżej wymienionych

czynników, tzn. taksonomii produktów, karty lojalnościowej, wartości koszyka zakupów

oraz okresu zwiększonej sprzedaży. Dla tej grupy przeprowadzono 60 analizy. Celem tych

badań jest porównanie zachowań klientów z uwagi na kilka czynników łącznie. Ostatnią

grupą badań są analizy zachowań klientów w sklepie internetowym w różnych przedziałach

koszyka zakupów. Eksplorację przeprowadzono na poziomie kodów towarów. Celem badań

tej grupy jest zbadanie wyboru produktów przez klientów Delikatesów Internetowych.

Do przeprowadzenia eksploracji danych, pod kątem poszukiwania reguł asocjacyjnych,

potrzebne jest dokładne określenie dwóch parametrów: minimalnego poziomu wsparcia oraz

minimalnego poziomu ufności. Odpowiednie dobranie tych parametrów ma ogromny wpływ

na końcowy wynik odnalezionych reguł, a konkretniej na ich ilość. Poziom wsparcia służy

do regulacji ilości zbiorów częstych, z których następnie tworzone są reguły asocjacyjne.

Poziomem ufności natomiast reguluje się, które z reguł są wystarczająco wiarygodne, tzn.

z jakim minimalnym prawdopodobieństwem dana reguła występuje w badanym zbiorze

danych. Zwiększanie wartości poziomu wsparcia zmniejsza ilość wybieranych zbiorów

częstych, a poziom ufności zmniejsza ilość odnajdywanych reguł asocjacyjnych.

Zmniejszanie obydwu wartości odpowiednio zwiększa ilość zbiorów częstych i reguł

asocjacyjnych. Ważne jest, aby wybór poziomu tych parametrów miał odniesienie do

rzeczywistości, np. naturalną rzeczą jest to, że poziom wsparcia dla stoisk będzie

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 68 −

− 68 −

zdecydowanie wyższy niż dla grup towarowych. Wynika to z ilości pozycji występujących

w danych zbiorach, tzn. w Delikatesach Alma jest tylko 7 stoisk, natomiast grup

towarowych jest 850. Minimalne wartości dla poszczególnej grupy badań zostały ustalone w

konsultacji z kierownictwem Delikatesów Alma, których dane są wykorzystywane do

odkrywania reguł asocjacyjnych w tej pracy magisterskiej. Tabela 4.1 przedstawia

minimalne wartości ufności i wsparcia.

Tabela 4.1. Minimalne wartości wsparcia i ufności do badań w Delikatesach Alma Poziom Minimalna warto ść

wsparcia ufno ści stoisko 0,05 0,80 dział 0,03 0,80 grupa towarowa 0,01 0,70 kod towaru 0,01 0,70

Źródło: Opracowanie własne.

4.2. Analiza otrzymanych reguł asocjacyjnych

Proces eksploracji danych dla taksonomii towarów został podzielony na cztery części,

ponieważ tyle poziomów jest identyfikowalnych w Delikatesach Alma, tzn. stoiska, działy,

grupy towarowe i kody produktów. Odnalezione reguły asocjacyjne dla każdego badania

zostały umieszczone w tabelach w Dodatku A, ze względu na ich liczbę i zajmowaną

objętość, dzięki temu zwiększyła się czytelność analiz. Każda tabela, oprócz reguł, zawiera

informacje o ilości zbiorów kandydujących i ilości odszukanych reguł asocjacyjnych,

a także wartość minimalnego wsparcia i ufności wprowadzaną do programu Rapid Miner.

Tabela A.1. przedstawia wyniki analizy stoisk dla minimalnego wsparcia równego 5%

oraz minimalnej wartości ufności wynoszącej 80%. Algorytm FP-Growth odnalazł 54 zbiory

kandydujące, z których utworzono 47 silnych reguł asocjacyjnych. W tabeli A.1.

przedstawiono pierwsze 30 reguł. Reguły czytamy w następujący sposób:

„Co najmniej 5% klientów, którzy kupili produkty ze stoiska nabiał-pieczywo, mięso-

wędliny, owoce-warzywa oraz agd-chemia, kupili również produkty ze stoiska

ogólnospożywczego z prawdopodobieństwem 96,5%”;

„Co najmniej 5% klientów, którzy kupili produkty ze stoiska mięso-wędliny, owoce-

warzywa oraz agd-chemia, kupili również produkty ze stoiska ogólnospożywczego i nabiał-

pieczywo z prawdopodobieństwem 92,6%”.

Tabela A.2. Przedstawia wyniki analizy działów dla minimalnego wsparcia równego 3%

oraz minimalnej wartości ufności wynoszącej 80%. Algorytm FP-Growth odnalazł 502

zbiory kandydujące, z których utworzono 10 silnych reguł asocjacyjnych. Reguły czytamy

w następujący sposób:

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 69 −

− 69 −

„Co najmniej 3% klientów, którzy kupili produkty z działu chemia gospodarcza oraz

tłuszcze, kupili również produkty z działu produkty mleczne z prawdopodobieństwem

84%”.

Tabela A.3. Przedstawia wyniki analizy grup dla minimalnego wsparcia równego 1% oraz

minimalnej wartości ufności wynoszącej 70%. Algorytm FP-Growth odnalazł 1324 zbiory

kandydujące, z których utworzono 42 silnych reguł asocjacyjnych. Reguły czytamy

w następujący sposób:

„Co najmniej 1% klientów, którzy kupili produkty z grupy owoce luzem, warzywa

paczkowane, drób i podroby drobiowe, kupili również produkty z grupy warzywa luzem

z prawdopodobieństwem 82,5%”.

Ze względu na ograniczenia sprzętowe przeprowadzenie procesu wyszukiwania reguł

asocjacyjnych na poziomie kodu dla całego sześciomiesięcznego okresu było niemożliwe.

Eksploracja danych według koszyków przeprowadzona została dla stoisk, działów oraz

grup towarowych.

Tabele A.4 – A.7. przedstawiają wyniki analizy stoisk według wartości koszyka

zakupów. Dla klientów z koszykiem do 20 zł dla minimalnych wartości wsparcia i ufności

nie odnaleziono żadnych reguł asocjacyjnych. Pozostałe analizy wykazały, że klienci

kupowali produkty z różnych stoisk w kombinacji ze stoiskiem ogólnospożywczym, nabiał-

pieczywo lub jednym i drugim. Przyglądając się planu sklepu, można dojść do wniosku, że

odnalezione reguły asocjacyjne są wynikiem rozmieszczenia stoisk w sklepie.

W tabelach A.8. – A.10. umieszczone zostały wyniki analizy działów według koszyków.

Dla klientów z koszykiem do 20 zł odnaleziono jedną, trywialną regułę, natomiast dla

koszyków 20-50 zł oraz 50-100 zł wynikiem był brak reguł asocjacyjnych. Dla koszyków

100-200 zł oraz powyżej 200 zł produktami kupowanymi również były produkty z działów

produkty mleczne, sery oraz warzywa.

W tabelach A.11. – A.13. przedstawione zostały wyniki analizy grup według koszyków.

Z badania dla koszyków do 20 zł można wywnioskować, że reguły asocjacyjne mogą

przedstawiać klientów robiących codzienne drobne zakupy na śniadanie. W koszykach od

20 zł do 50 zł oraz od 50 zł do 100 zł nie odnaleziono ani jednej reguły. Dla koszyków

powyżej 200 zł klienci kupowali z innymi towarami produkty z grupy warzywa luzem.

Ze względu na ograniczenia sprzętowe przeprowadzenie procesu wyszukiwania reguł

asocjacyjnych na poziomie kodu dla poszczególnych koszyków było niemożliwe.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 70 −

− 70 −

Kolejna analiza sprawdza sposób postępowania klientów z kartą i bez karty Klubu

Konesera. Jak się okazuje, klienci z kartą lojalnościową wybierają produkty zbliżone do

siebie pod względem asortymentu, dlatego łatwiej jest odnaleźć wśród nich reguły

asocjacyjne.

Tabele A.14. oraz A.15. przedstawiają wyniki analizy stoisk ze względu na posiadanie

karty lojalnościowej. Z badań wynika, że większa część klientów z kartą Klubu Konesera

zachowuje się wg pewnych reguł, bo aż 10%. Analiza wyszukała 56 reguł asocjacyjnych dla

osób z kartą, natomiast 35 bez niej. W tabelach A.14. i A.15. widać podobne zachowanie,

tzn. klienci kupowali poza określonymi w regułach produktami z danych stoisk towary ze

stoiska ogólnospożywczego, nabiał-pieczywo lub jednym i drugim.

Analizując transakcje na poziomie działów dla klientów z kartą lub bez niej okazało się,

że koszyki są bardzo różnorodne pod względem produktów, stąd tak niewielka ilość

odnalezionych reguł oraz brak reguł asocjacyjnych wśród klientów bez karty lojalnościowej.

Tabele A.17. i A.18. prezentują wyniki analizy grup towarowych. Z tabel można

odczytać, że większość grup tworzących odnalezione reguły asocjacyjne należą do stoiska

owoce-warzywa oraz nabiał-pieczywo. Rezultat dla grup bez karty Klubu Konesera

pokazuje, że 1% klientów zachowuje się według pięciu odnalezionych reguł

z prawdopodobieństwem powyżej 70%.

Ze względu na ograniczenia sprzętowe przeprowadzenie procesu wyszukiwania reguł

asocjacyjnych na poziomie kodu dla poszczególnych koszyków było niemożliwe.

Z uwagi na okres zwiększonej sprzedaży wyróżnione zostały dwa okresy: weekendy oraz

dni przed świąteczne. W badanym okresie, tzn. od sierpnia 2009 r. do stycznia 2010 r.,

wystąpiło 5 okresów przed świątecznych oraz 25 weekendów. Analiza dni przed

świątecznych przeprowadzona została dla grup i kodów towarów, natomiast weekendów

wyłącznie dla grup. W badanych zbiorach odnaleziono 19 reguł asocjacyjnych w przypadku

grup oraz 3 w przypadku kodów dla dni przedświątecznych. Analizując reguły można

wysunąć wniosek, że klienci którzy kupili jakiś owoc, warzywo w paczce, śmietanę, masło,

ser lub jaja kupili również jakieś warzywo. Z punktu widzenia kodów towarów, co najmniej

1% klientów kierował się trzema regułami:

„jeśli kupili marchew i seler, kupili także pietruszkę w 91,4%”

„jeśli kupili seler kupili także pietruszkę w 78,6%”

„jeśli kupili pietruszkę i seler, kupili również marchew w 72,7 %”.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 71 −

− 71 −

Wynik analizy grup dla weekendów został przedstawiony w tabeli A.21. W sumie

odnaleziono 34 reguły asocjacyjne o ufności równej lub większej niż 80%. Najbardziej

wiarygodną regułą okazała się reguła: „co najmniej 1% klientów, którzy zakupili jakieś sery

żółte, owoce, warzywa paczkowane, drób, kupili również warzywa luzem w 87%

przypadków”. Kolejne reguły składają się głównie z grup z pierwszej reguły asocjacyjnej,

tzn. serów żółty, owoców, itd.

Następna analiza ma na celu sprawdzenie, czy wśród klientów z kartą Klubu Konesera

lub bez niej, z zakupami należącymi do różnych koszyków występują takie same lub

podobne zależności jak miało to miejsce w badaniach wcześniejszych w tym rozdziale.

Badanie zostało przeprowadzone tylko na poziomie grup, ponieważ ograniczenie sprzętowe

(za mała ilość pamięci RAM) nie pozwoliło na sprawdzenie jakie reguły występują na

poziomie kodów towarów, natomiast analiza działów i stoisk byłaby zbyt ogólna

w interpretacji. Minimalne wsparcie zostało ustalone na poziomie 1%, minimalna ufność

wynosiła 70%.

Eksploracja transakcji klientów z kartą lojalnościową oraz koszykiem do 20 zł wykazała,

że te osoby kierowały się w badanym okresie dwoma silnymi regułami asocjacyjnymi:

„jeśli kupili jakąś konserwę lub pasztet, kupili również pieczywo świeże w 76%”

„jeśli kupili papierosy oraz coś z grilla (gorącej lady), kupili również pieczywo świeże

w 73,9%”.

Możemy przyjąć, że większa część klientów w tej grupie należy do osób pracujących

w okolicy Delikatesów Alma, jak również pracowników tego sklepu, i wyciągnąć

następujący wniosek:

„Co najmniej 1% klientów posiadający kartę Klubu Konesera z koszykiem do 20%

kupuje na drobny posiłek pieczywo świeże oraz konserwę lub pasztet, albo papierosy i coś

z grilla”.

Grupa klientów z kartą lojalnościową oraz koszykiem od 20 zł do 50 zł z zadanymi

minimalnymi parametrami nie posiadała żadnych reguł asocjacyjnych. Kolejne badanie

poszukiwało reguł wśród klientów z kartą Klubu Konesera i koszykiem z przedziału 50-100

zł. Algorytm odnalazł 4 reguły asocjacyjne spełniające założenia badania:

„Co najmniej 1% klientów z badanej grupy jeśli kupi jakieś owoce luzem oraz grzyby

świeże, zakupi również warzywa luzem w 76%”;

„Co najmniej 1% klientów z badanej grupy jeśli kupi jakieś sery żółte oraz pasztety,

zakupi również wędliny w 73%”;

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 72 −

− 72 −

„Co najmniej 1% klientów z badanej grupy jeśli kupi jakieś pasztety, zakupi również

wędliny w 73%”;

„Co najmniej 1% klientów z badanej grupy jeśli kupi jakieś warzywa paczkowane oraz

grzyby świeże, zakupi również warzywa luzem w 71%”.

Kolejne badanie poszukiwało reguł wśród klientów z kartą Klubu Konesera i koszykiem

z przedziału 100-200 zł. Przeprowadzając analizę, okazało się, że przy minimalnym

wsparciu na poziomie 1% jest zbyt wiele reguł, dlatego wartość ta została podniesiona 3%.

W tym zbiorze algorytm odnalazł zdecydowanie więcej reguł asocjacyjnych, łącznie 57,

z czego cztery z nich występowały w ponad 80% przypadków wśród 1% klientów badanej

grupy. Są to następujące reguły asocjacyjne:

„Co najmniej 1% klientów jeśli kupi jakieś owoce luzem, jogurty oraz drób, zakupi

również warzywa luzem w 81,7% przypadków”;

„Co najmniej 1% klientów jeśli kupi jakieś owoce luzem oraz warzywa w puszkach,

zakupi również warzywa luzem w 81,4% przypadków”;

„Co najmniej 1% klientów jeśli kupi jakieś owoce luzem, warzywa paczkowane oraz

drób, zakupi również warzywa luzem w 81% przypadków”;

„Co najmniej 1% klientów jeśli kupi jakieś owoce luzem, warzywa paczkowane oraz

jogurty, zakupi również warzywa luzem w 80,4% przypadków”.

Można zauważyć w tych regułach pewną zależność, tzn. że w wielu występują owoce

luzem oraz warzywa luzem, jednak nie występuje reguła „owoce luzem => warzywa

luzem”.

Następną grupą klientów są osoby posiadające kartę Klubu Konesera i z koszykiem

powyżej 200 zł. W tej grupie klientów również została zmieniona wartość minimalnego

wsparcia. W tym przypadku zmiana okazała się zdecydowanie wyższa, ponieważ dopiero

10% wparcie dawało zadawalające wyniki analizy. Eksploracja danych wykazała,

że w zbiorze występuje 107 reguł asocjacyjnych, a wyróżniająca się występuje w 86%

przypadków pośród 10% klientów. Ta reguła to:

„Co najmniej 1% klientów kupujący owoce luzem, warzywa paczkowane oraz drób,

kupują również warzywa luzem”. Widzimy tutaj identyczną zależność, jak w tabeli A.24.

dotyczącej klientów z kartą lojalnościową i koszykiem z przedziału 100-200 zł, jednak

w tamtym przypadku reguła ta występowała w 81% przypadków.

Identyczną analizę przeprowadzono dla klientów bez karty Klubu Konesera i różnymi

koszykami zakupów. Minimalna wartość wsparcia została ustalona na 1%, natomiast ufność

na 70%. Eksploracja danych wśród osób bez karty lojalnościowej i koszykiem z przedziału

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 73 −

− 73 −

20-50 zł oraz 50-100 zł nie odnalazła żadnych reguł, natomiast w pozostałych przypadkach

wyniki prezentują się w tabelach A.26., A.27. oraz A.28.

Podobnie, jak w przypadków osób z kartą lojalnościową, zbiór transakcji do 20 zł

prezentuje reguły asocjacyjne najprawdopodobniej dotyczące drobnych posiłków typu

śniadanie lub kolacja. Algorytm w tej grupie odnalazł 8 reguł, z czego 7 z nich przedstawia

modele zakupów produktów na śniadanie, drugie śniadanie lub kolację. Najczęściej jest to

kombinacja produktów z grilla (gorącej lady) oraz jakiegoś dodatku (soku, surówki –

wyrobu garmażeryjnego z warzyw, innego napoju) ze świeżym pieczywem.

Wśród klientów z koszykami od 100 do 200 zł bez karty Klubu Konesera tylko jedna

reguła posiada ufność powyżej 80%, tzn. „co najmniej 2% klientów kupując owoce luzem,

warzywa paczkowane oraz drób, kupili również warzywa luzem”. Identyczna reguła

występowała wśród klientów z kartą lojalnościową z koszykiem od 100 do 200 zł i powyżej

200 zł. Okazuje się, że tą regułę można zastosować dla całego zbioru klientów z koszykiem

od 100 do 200 zł, ponieważ eksploracja wykazała tą zależność również w tym przypadku

w tabeli A.17.

Eksploracja danych odkryła 31 reguł asocjacyjnych wśród klientów bez karty

lojalnościowej z koszykiem powyżej 200 zł. Wartość minimalnego wsparcia została

zmieniona i ustalona na poziomie 10%. Wynik badania pokazuje, że ta grup jest mniej

jednorodna, dlatego odnaleziono zdecydowanie mniejszą liczbę reguł. Mniej jest również

ilość reguł z ufnością powyżej 80%, ponieważ występują tylko cztery, a nie siedemnaście

jak to miało miejsce z koszykami powyżej 200 zł wśród osób z kartą Klubu Konesera.

Wyróżnione cztery reguły asocjacyjne brzmią następująco:

„Co najmniej 10% klientów kupując owoce luzem oraz drób, kupią warzywa luzem

z prawdopodobieństwem 84,3%”;

„Co najmniej 10% klientów kupując sery żółte, owoce luzem oraz warzywa paczkowane,

kupią warzywa luzem z prawdopodobieństwem 83,5%”;

„Co najmniej 10% klientów kupując owoce luzem oraz warzywa paczkowane, kupią

warzywa luzem z prawdopodobieństwem 80,9%”;

„Co najmniej 10% klientów kupując owoce luzem oraz masło, kupią warzywa luzem

z prawdopodobieństwem 80,9%”.

Reguła „owoce luzem, drób_podroby drob. => warzywa luzem” występuje również

wśród klientów z kartą Klubu Konesera (ufność = 82%), a także wśród wszystkich klientów

z koszykami powyżej 200 zł (ufność = 83,1%).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 74 −

− 74 −

Reguła „sery żółte, owoce luzem, warzywa paczkowane => warzywa luzem” występuje

również wśród klientów z kartą Klubu Konesera (ufność = 82,2%), a także wśród

wszystkich klientów z koszykami powyżej 200 zł (ufność = 82,7%).

Reguła „owoce luzem, warzywa paczkowane => warzywa luzem” występuje również

wśród klientów z kartą Klubu Konesera (ufność = 80,5%), a także wśród wszystkich

klientów z koszykami powyżej 200 zł (ufność = 80,7%).

Kolejna analiza ma na celu sprawdzenie jakie reguły występują na poziomie kodów

kreskowych wśród klientów z kartą Klubu Konesera lub bez niej, z zakupami należącymi do

różnych koszyków i okres czasu. Minimalna wartość wsparcia została ustalona na poziomie

1%, natomiast ufność na poziomie 70%.

Eksploracja danych dla zbioru danych z koszykiem do 20 zł i kartą lojalnościową

odnalazła 60 reguł asocjacyjnych. W tabeli A.29. przedstawione zostały 30 z nich

posiadające ufność na poziomie 100%, tzn. każda z reguł zawsze się sprawdza dla 1%

klientów z badanego zbioru. Większość reguł dotyczy drobnych posiłków, np. „1% klientów

którzy kupili napój muller mleczny czekoladowy kupiło bułkę”. Poza tym występują

również reguły, które wynikają prawdopodobnie z bezpośredniego ułożenia produktów, np.

„osoby które kupiły pietruszkę kupiło również cytrynę”. Analizując pozostałe reguły

odnaleziono kilka zależności, których nie sposób jest w prosty i jedno znaczny sposób

z interpretować dlaczego mają miejsce, np.: „1% klientów kupując chleb żytni z Litwy

kupują zawsze natkę pietruszki pęczek”.

W tabeli A.30. przedstawiony został wynik analizy zbioru transakcji dla klientów z kartą

lojalnościową i koszykami od 50 zł do 100 zł. Algorytm odnalazł jedynie jedną regułę

asocjacyjną, tzn.: „co najmniej 1% klientów kupując marchew oraz seler kupili również

pietruszkę z prawdopodobieństwem 72,4%”. Reguła ta wynika prawdopodobnie z ułożenia

tych towarów w badanym okresie sprzedaży gdzieś blisko siebie.

Kolejna analiza przeprowadzona została dla klientów z kartą Klubu Konesera oraz

koszykiem z przedziału 100-200 zł. Dla tej grupy zmieniona została minimalna wartość

wsparcia i ustalona na poziomie 3%. Wynikiem eksploracji danych jest 17 reguł

asocjacyjnych przedstawionych w tabeli A.31. Składają się one tak naprawdę z czterech

produktów zestawionych w różne kombinacje (reguły). Są to: marchew, seler, pietruszka

i por. Najsilniejsza reguła występuje w ponad 95% w tych 3% klientów i brzmi

w następujący sposób: „jeśli klient kupił marchew kg, seler kg oraz por szt. kupił również

pietruszkę”.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 75 −

− 75 −

W następnej analizie parametry dla algorytmu poszukującego reguły asocjacyjne zostały

ustalone poziomie 8% dla minimalnego wsparcia oraz 70% dla minimalnej wartości ufności.

Eksploracja danych wykazała, że w badanym zbiorze występują wyłącznie dwie silne reguły

asocjacyjne tzn.:

„Co najmniej 8% klientów, którzy kupią marchew oraz seler wybiorą również pietruszkę

w 91,9% przypadków”;

„Co najmniej 8% klientów, którzy kupią seler wybiorą również pietruszkę w 85,2%

przypadków”.

Identyczne reguły występowały w tabelach A.30. oraz A.31., różnica dotyczyła procentu

klientów oraz poziomu wiarygodności (ufności). Występowanie tej reguły wśród kilku

badanych grup może oznaczać, że te towary znajdowały się w sklepie obok siebie, dlatego

praktycznie każda z grup klientów zachowywała się wg wspólnego schematu.

Tabela A.33. przedstawia wynik eksploracji danych dla klientów bez karty lojalnościowej

z koszykiem do 20 zł. Zawiera trzy odnalezione reguły, które tak naprawdę są bardzo

oczywiste, tzn.: ogólna reguła brzmi „jeśli ktoś kupił piwo w butelce wybrał również kaucję

za tę butelkę”. Produkt „butelka” oznacza butelkę z kaucją zwrotną i z reguły doliczany jest

razem z towarem w tej butelce. Dlatego tak naprawdę w badanym zbiorze nie odnaleziono

interesujących reguł asocjacyjnych.

Tabele A.34. – A.37. przedstawią wyniki eksploracji danych dla klientów bez karty

lojalnościowej i koszykami w różnych przedziałach. Odnalezione reguły są analogiczne jak

w przypadku grup klientów z kartą Klubu Konesera, różnią się wyłącznie wartością ufności.

Kolejna analiza ma na celu sprawdzenie jakie reguły występują na poziomie kodów

kreskowych wśród klientów z kartą Klubu Konesera lub bez niej, z zakupami należącymi do

różnych koszyków dla dni przedświątecznych. Minimalna wartość wsparcia została ustalona

na poziomie 1%, natomiast ufność na poziomie 70%.

Eksploracja danych dla zbioru danych z koszykiem do 20 zł i kartą lojalnościową

odnalazła 12 reguł asocjacyjnych. Minimalna wartość wsparcia dla badanego zbioru została

zmieniona na 5%, ponieważ przy mniejszym poziomie tego parametru występowało zbyt

wiele reguł asocjacyjnych. Badanie wykazało, że każda z reguł sprawdza się w 100% dla

5% klientów. Przyglądając się bliżej tym regułom, można zauważyć, że większość z nich

jest kombinacją 3 produktów: „ciastka hiestand pizzeria z bekonem”, „chałwa odra sezam”

oraz „jogurt zott jogobella maxi”. Oprócz reguł z którymś z tych produktów możemy

wyróżnić następujące reguły:

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 76 −

− 76 −

„Co najmniej 5% klientów kupujący papierowy rgd sea kupują również bułkę szt.

z prawdopodobieństwem 100%”;

„Co najmniej 5% klientów kupujący ciastko hiestand pączek kupują również pizzerinka

szt. Kubiak szpinak z prawdopodobieństwem 100%”;

„Co najmniej 5% klientów kupujący ananas kostka 567g kupują również k. parówki

z indyka z serem 215g z prawdopodobieństwem 100%”.

Kolejnym zbiorem są transakcje z kartą Klubu Konesera i koszykiem od 20 zł do 50 zł.

Badanie wykryło 65 reguł asocjacyjnych, a 30 z nich przedstawionych zostało w tabeli

A.45. Przyglądając się bliżej regułom okazuje się, że każda z tych 30 reguł sprawdza się

w 100% dla 1% klientów. Analizując odnalezione reguły większość z nich można w prosty

sposób zinterpretować, dlaczego akurat występują w takiej formie, np. „klienci którzy kupili

parówki kawaleryjskie kupili również bagietkę 200g” lub „klienci którzy kupili oliwę

salvadori sansa 1l kupili również ćwiartkę z kurczaka”. Przykład pierwszy można

zinterpretować jak zakupy na kolację w przypadku 1% klientów, natomiast drugi jako

podstawowe składniki obiadu u 1% klientów. Wśród tej grupy są również reguły, które

wynikają najprawdopodobniej z ułożenia produktów blisko siebie, np. „klienci którzy kupili

napój caprio kupili również napój coca cola”. W tabeli A.39. można znaleźć regułę

asocjacyjną, którą nie sposób jednoznacznie określić, dlaczego występuje:

„Co najmniej 1% klientów, którzy kupili rzeżuchę bio pak, kupili również chleb na wagę

z prawdopodobieństwem 100%”.

Następnym zbiorem do analizy jest zbiór transakcji dla klientów z koszykiem od 50 zł do

100 zł oraz kartą lojalnościową. W wyniku przeprowadzonej eksploracji danych zostało

odnalezionych 5 reguł asocjacyjnych, ale tylko dwie z nich posiadają ufność na poziomie

100%. Przyglądając się tym dwóm regułom okazuje się, że są przekazują one identyczne

informacje, tzn. klient do swojego koszyka w ostateczności włoży takie same produkty:

marchew, por oraz pietruszkę. Pozostałe reguły są również interesujące, ponieważ nie

wiadomo dlaczego:

„Co najmniej 1% klientów kupujących buraki kupuje również pietruszkę w 71,4%

przypadków” oraz

„Co najmniej 1% klientów kupujących pietruszkę i cebulę kupuje również marchew

w 80% przypadków”.

Tabela A.41. przedstawia 8 odnalezionych reguł wśród transakcji z kartą lojalnościową

i koszykiem z przedziały 100-200 zł. Minimalna wartość wsparcia została zmieniona do

poziomu 3%. Wśród wszystkich reguł tylko jedna z nich ma zawsze zastosowanie, tzn. „3%

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 77 −

− 77 −

klientów kupujących bagietkę 200g hiestand oraz pietruszkę kg kupuje również marchew

kg”. Wyróżniającą się regułą jest również reguła „co najmniej 3% klientów, którzy kupili

szynkę teściowej Morliny, kupili również kark bez kości w 70% przypadków”.

Tabela A.42. przedstawia 13 odnalezionych reguł wśród transakcji z kartą lojalnościową

i koszykiem powyżej 200 zł. Minimalna wartość wsparcia została zmieniona do poziomu

8%. Wśród wszystkich reguł tylko jedna z nich występuje zawsze, tzn. „co najmniej 8%

klientów kupujących cytrynę kg oraz seler kg kupuje również pietruszkę kg”. Pozostałe

reguły są kombinacją następujących produktów: marchwi, selera, pietruszki, cytryny oraz

kilku innych pojedynczych towarów.

Eksploracja danych dla zbioru danych z koszykiem do 20 zł bez karty lojalnościową

odnalazła tylko 2 reguły asocjacyjne, które można opisać wg wspólnego wzorca „co

najmniej 1% klientów kupujących piwo w butelce kupują również butelkę (płacą za

kaucję)”. Reguła ta jest oczywiście bardzo trywialna i nic nie znacząca, ponieważ każdy

wie, że piwa w butelce sprzedawane są z kaucję i dlatego te reguły wystąpiły. W zbiorze

transakcji klientów z koszykiem z przedziału 20-50 zł bez karty Klubu Konesera nie zostały

odnalezione żadne reguły. Kolejna analiza została przeprowadzona wśród klientów bez

karty lojalnościowej z koszykiem od 50 zł do 100 zł. Wykryto łącznie 5 reguł, z czego jedna

występowała w 100% przypadków wśród 1% klientów, a brzmiała ona następująco: „co

najmniej 1% klientów, którzy kupili marchew oraz seler kupili również pietruszkę”.

Identyczne reguły można było już spotkać we wcześniejszych analizach, jak chociażby

wśród klientów z kartą Klubu Konesera i koszykami od 100 zł do 200 zł i powyżej 200 zł.

Przeglądając kolejne, tzn. tabele A.44. i A.45., ta sama reguła asocjacyjna również

występuje z takim samym poziomem ufności lub minimalnie mniejszym. Takie zachowanie

klientów można np. tłumaczy tym, że w naszym kraju bardzo popularne jest

przygotowywanie sałatki jarzynowej w okresach świątecznych, do której przygotowania

potrzebne są głównie właśnie marchew, seler, pietruszka, ale także kilka innych warzyw jak

ziemniaki, cebula, groszek konserwowy oraz ogórki kiszone.

Ostatnią grupą badań są analizy dotyczące preferencji klientów sklepu internetowego

Alma24. Podczas przeprowadzania eksploracji danych okazało się, że klienci Delikatesów

Internetowych kupują często bardzo podobne produkty, dlatego parametry minimalne

wsparcia i ufności musiały być wielokrotnie modyfikowane, aby możliwe było uzyskanie

zadawalających wyników. Pierwsze analizy zostały przeprowadzone z uwagi na wartość

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 78 −

− 78 −

koszyka zakupów. Minimalna wartość wsparcia została ustalona na poziomie 1%, natomiast

minimalna wartość ufności ustalono na poziomie 80%.

Analizę rozpoczęto dla klientów z koszykiem do 20 zł. Eksploracja danych wyszukała 39

reguł asocjacyjnych przy minimalnym wsparciu na poziomie 3%. Przeglądając tabelę A.47.

okazało się, że 29 reguł asocjacyjnych występuje w 100% przypadków wśród 3% klientów

Almy24 z koszykiem do 20 zł. Większość reguł składa się z kombinacji warzyw, jednak

kilka z nich należy wyróżnić, ponieważ należałoby sprawdzić, dlaczego właśnie te produkty

są wybierane razem przez klientów badanego zbioru. Są to następujące reguły:

„Co najmniej 3% klientów kupujący masło Hajnówka 200g extra kupują również cytrynę

kg”;

„Co najmniej 3% klientów kupujący ziemniak kg oraz jogurt Danone biszkoptowy

kupują również filet z kurczaka”;

„Co najmniej 3% klientów kupujący chleb wieloziarnisty hiestand kupują również

pietruszkę kg oraz marchew kg”.

Kolejną grupą są klienci z koszykiem od 20 zł do 50 zł. W wyniku eksploracji danych

odnaleziono 6 reguł asocjacyjnych przy minimalnym wsparciu na poziomie 5%, należy

jednak dodać, że każda z reguł występuje zawsze dla minimalnych wartości parametrów.

Ciekawą regułą asocjacyjną jest reguła: „co najmniej 5% klientów kupujący napój Tymbark

owoce świata banan 1l kupują również mleko łaciate 2% 1l”.

Następną grupą są klienci z koszykiem od 50 zł do 100 zł. W wyniku eksploracji danych

odnaleziono 45 reguł asocjacyjnych przy minimalnym wsparciu na poziomie 8%.

Przeglądając reguły z tej grupy można zauważyć, że większość z nich składa się

z kombinacji następujących owoców: pomarańczy, mandarynki, jabłka, grejpfruta oraz

banana. Wyjątkiem jest reguła „co najmniej 8% klientów, którzy kupili pietruszkę kg kupili

również marchew kg z prawdopodobieństwem 80%”.

Tabela A.50. przedstawia wyniki eksploracji danych dla klientów z koszykiem zakupów

z przedziału 100-200 zł. Zostało odnalezionych 17 reguł przy 1% minimalnym wsparciu.

Reguły asocjacyjne, które należałoby wyróżnić są następujące:

„Co najmniej 1% klientów kupujący jabłka oraz pietruszkę kupują również marchew

z prawdopodobieństwem 88%”;

„Co najmniej 1% klientów kupujący pomidor oraz pietruszkę kupują również marchew

z prawdopodobieństwem 83,8%”;

„Co najmniej 1% klientów kupujący banany chiquita oraz pietruszkę kupują również

marchew z prawdopodobieństwem 81,5%”.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 79 −

− 79 −

Tabela A.51. przedstawia wyniki eksploracji danych dla klientów z koszykiem zakupów

powyżej 200 zł. Zostało odnalezionych 7 reguł przy 2% minimalnym wsparciu.

4.3. Podsumowanie wyników badań

Eksploracja danych została przeprowadzona dla sześciomiesięcznego okresu sprzedaży

od sierpnia 2009 do stycznia 2010 r. W tym czasie średnia sprzedaż miesięczna wynosiła

1 358 000 zł, natomiast średnia ilość klientów miesięcznie wyniosła 121 300. Delikatesy

Internetowe Alma24 w tym czasie odnotowały sprzedaż w wysokości 726 900 zł oraz 3 917

klientów. Badania zostały przeprowadzone na zbiorach danych z uwagi na takie czynniki jak

wartość koszyka zakupów, posiadanie karty lojalnościowej, okres czasu (weekendy i dni

przedświąteczne) oraz taksonomię towaru. Dodatkowo zbadane zostało zachowanie

klientów Almy24 z uwagi na wartość koszyka zakupów na poziomie kodu towaru.

Eksploracja danych odnalazła bardzo wiele reguł asocjacyjnych różniących się w mniejszym

lub większym stopniu w zależności od badanego zbioru transakcji. W większości

przypadków wyniki badania na poziomie stoisk i działów towarów są mało interesujące,

ponieważ są zbyt ogólne i bardzo podobne do siebie. Część z nich można oczywiście

wykorzystać do sprawdzenia np. drogi zakupów klientów i na tej podstawie zmodyfikować

ułożenie towarów z danej grupy towarów w innym miejscu sklepu, aby klient pozostał na

terenie Delikatesów Alma jak najdłużej. Zdecydowanie bardziej interesujące są wyniki na

poziomie grup towarowych oraz kodów towarów. Reguły asocjacyjne na poziomie grup

towarowych można wykorzystać do przygotowywania bardziej trafionych gazetek

promocyjnych, tzn. ułożeniu w odpowiedni sposób towarów z grup występujących

w danych regułach na stronach gazetek, np. owoce luzem, warzywa luzem oraz paczkowane

mogłyby znaleźć się na jednej stronie, natomiast na drugiej sery żółte oraz drób i podroby

drobiowe (dane z tabeli A.27). Innym przykładem może być ułożenie towarów z grup

towarowych należących do tego samego działu i występujących wspólnie w różnych

regułach asocjacyjnych obok siebie. Ciekawym rozwiązaniem byłoby wdrożenie

oprogramowania na kasach, aby po zakończeniu kasowania za paragonem drukował się

specjalny kupon z propozycją towaru wybranego według reguł asocjacyjnych, np. reguła

asocjacyjna „3% klientów kupujących bagietkę 200g hiestand oraz pietruszkę kg kupuje

również marchew kg” można wykorzystać proponując klientowi zakup 3 bagietek w zamian

za 10% zniżkę na zakup pietruszki i marchwi, lub „1% klientów kupujących sok fortuna

multiwitamina kupują również baton corny big orzechowy” można użyć proponując

klientowi zakup dwóch soków fortuna w zamian za gratisowe 2 batony corny big.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 80 −

− 80 −

Przeglądając wyszukane reguły można dojść do wniosku, że w większości reguł znajdują się

towary ze stoiska owoce-warzywa, z przewagą warzyw. Bardzo często występowały takie

produkty jak marchew, pietruszka, seler, czy por. Reguły asocjacyjne można oczywiście

wykorzystać w tzw. sprzedaży wiązanej, tzn. klient kupujący dwa różne produkty łącznie,

otrzyma je taniej, niż jakby kupował je osobno. Mechanizm ten przedstawia poniższy

przykład.

Przykład:

W Delikatesach Alma odnaleziona została następująca reguła asocjacyjna: „jeśli klient

kupi mandarynki oraz pietruszkę, kupi także marchew”. Dzięki tej informacji można

stworzyć model sprzedaży wiązanej, tzn. zaoferować promocyjną cenę na pakiet 1 kg

pietruszki i 1 kg marchwi, przy jednoczesnym wzroście ceny mandarynek. Pakiet dwóch

produktów razem zostanie w tym przypadku wykorzystany jako zachęta klienta do zakupu,

a zwiększona cena mandarynek zrekompensuje w pewien sposób obniżoną cenę tych dwóch

towarów.

Eksploracja danych przeprowadzona według wybranych kryteriów jest tylko niewielką

cząstką tego, co można osiągnąć poszukując reguły asocjacyjne na poziomie kodów, jednak

przeprowadzanych na poszczególnych stoiskach, dla dni odpowiadających sprzedaży

podobnej do siebie, np. poniedziałki z wtorkami, środy z czwartkami, piątki i soboty, oraz

niedziele. Takie rozdrobnienie zbiorów pozwoliłoby uniknąć występowania produktów

wyłącznie z jednego ze stoisk w większości reguł, dzięki czemu można byłoby lepiej

dostosować ułożenie produktów, gazetek promocyjnych, czy poprawę chociażby obsługi

klienta na stoiskach tradycyjnych jak sery, czy mięso-wędliny. Pracownicy mający wiedzę

na temat wyboru jakie produkty są wybierane razem, mogliby polecać dodatkowo inne

towary podobne do tych wybieranych przez klientów.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 81 −

− 81 −

Zakończenie

Praca magisterska została podzielona na dwie części. Rozdział pierwszy i drugi

reprezentuje część teoretyczną, natomiast pozostałe dwa część praktyczną. W pierwszym

rozdziale przedstawione zostały podstawowe informacje o Delikatesach Alma oraz opisany

został podział strukturalnym towarów funkcjonujący wewnątrz tej sieci marketów. Drugi

rozdział jest zdecydowanie bardziej teoretyczny, ponieważ wprowadza do tematyki

eksploracji danych, wyjaśnione zostało czym są reguły asocjacyjne oraz przedstawiono kilka

algorytmów wyszukujących reguły w zbiorach danych. Rozdział ten kończy pierwszą część

pracy magisterskiej. Trzeci rozdział jest przygotowaniem oprogramowania do eksploracji

danych. W tym miejscu stworzyliśmy odpowiednią bazę danych oraz program DM Cafe,

opracowaliśmy proces do wyszukiwania reguł asocjacyjnych w programie Rapid Miner,

a także przedstawiliśmy jak posługiwać się poszczególnym oprogramowaniem

wykorzystywanym podczas badań. Ostatni rozdział zawiera wyniki badań

przeprowadzonych na wybiórczych zbiorach transakcji Delikatesów Alma. Przedstawione

zostały najciekawsze reguły asocjacyjne oraz zauważone zależności.

Na potrzeby tej pracy przygotowane zostało oprogramowanie do importu danych

z systemu magazynowego i kasowego do bazy danych oraz do eksportu z tej bazy

potrzebnych informacji do badań i zapisu w postaci plików CSV. Przygotowana została baza

danych w oparciu o system bazodanowy MySQL. Oprócz tego należało opracować

odpowiedni proces w programie Rapid Miner, aby można było wyszukiwać reguły

asocjacyjne w zbiorach transakcji Delikatesów Alma. Takie połączenie oprogramowania

pozwoliło na przeprowadzenie około 100 analiz dla różnych grup klientów. Dla każdej

analizy dane pobierane były z plików CSV, które należało wcześniej przygotować na

podstawie odpowiednich zapytań, w większości przypadków bardzo złożonych, tzn.

zapytania zawierały kilka tabel oraz ograniczenia w postaci koszyka zakupów, posiadania

karty lojalnościowej, dni tygodnia oraz warunki złączeń tabel. Każda analiza wymagała

wprowadzenia odpowiedniej wartości ufności i wsparcia, które mają ogromny wypływ na

ilość odnalezionych reguł. W niektórych badaniach początkowe wartości ufności musiały

zostać skorygowane, ponieważ program odnajdywał zbyt dużo reguł asocjacyjnych.

Eksploracja danych w Delikatesach Alma pokazała, że często reguły asocjacyjne są

zależne od wyboru próby badanej, np. inne reguły zostały odnalezione wśród transakcji

klientów z koszykami do 20 zł, a zupełnie inne dla klientów z koszykami powyżej 200 zł.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 82 −

− 82 −

Badanie wykazało również, że do wyszukiwania reguł należy przyjąć poziom minimalnego

wsparcia z przedziału od 1% do 8-10%. Odnalezione reguły asocjacyjne są w mniejszym lub

większym stopniu interesujące. Zdecydowanie bardziej pomocne okazują się reguły na

poziomie grup towarowych oraz kodów produktów, ponieważ można dzięki nim

przygotowywać indywidualne promocje dla klientów, dostosowywać miejsce w gazetkach

pod kątem sprzedaży wiązanej, czy proponować produkty na stoiskach sprzedaży

tradycyjnej jeszcze lepiej dostosowane do preferencji klientów.

Zadaniem pracy było odnalezienie nieznanych do tej pory reguł asocjacyjnych, które

można by było wykorzystać do zwiększenia wielkości sprzedaży. Badania przeprowadzono

tylko na niewielkiej części danych, jakie są zgromadzone w Delikatesach Alma, dlatego

otrzymane wyniki mogą się wydawać niesatysfakcjonujące. Uważamy jednak, że wybór

bardziej reprezentatywnych zbiorów danych, dałoby zdecydowanie lepsze efekty w postaci

większej ilości reguł mogących bezpośrednio wdrożyć w życie. Odnalezione reguły

asocjacyjne zostały zdominowane przez produkty ze stoiska owoce-warzywa, ponieważ

najprawdopodobniej jest to wynik umiejscowienia tego stoiska na wejściu do sklepu.

Należałoby sprawdzić, czy ustawienie innego stoiska w tym miejscu dałoby efekty w postaci

zwiększonej sprzedaży. Produkty z tego stoiska w pewien sposób wpłynęły niekorzystnie na

wynik całego procesu eksploracji danych, dlatego badania powinny zostać przeprowadzone

dla każdego ze stoisk, tzn. np. najpierw paragony zawierające towary ze stoiska nabiał-

pieczywo, następnie z mięsa-wędliny, itd.

Delikatesy Alma powinny spróbować przeprowadzić rozszerzone badania w celu

poszukiwania reguł asocjacyjnych, ponieważ w tej pracy magisterskiej pokazaliśmy,

że można odnaleźć wzorce, które nie sposób odnaleźć w normalnych analizach. Nie

wszystkie z wybranych zbiorów do badań są trafne i interesujące, jednak lepiej dobierając

parametry algorytmów i zwiększając liczbę transakcji można wyszukać reguły, dzięki

którym będzie można w pewien sposób nakierowywać klientów na towary których tak

naprawdę poszukują i kupowali do tej pory, przygotowywać dla nich bardziej trafne

promocje, proponować substytuty towarów wybieranych do tej pory, aby klient mógł

spróbować czegoś nowego. W ten sposób firma może dynamicznie aktualizować swoją

wiedzę na temat zachowań klientów, a także zorientować swoją strategię sprzedaży na grupę

swoich klientów, posiadających świadomość tego, że Delikatesy Alma znają ich potrzeby

i wiedzą czego tak naprawdę potrzebują.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 83 −

− 83 −

Bibliografia

BERETA M. Data Mining z wykorzystaniem programu RapidMiner. (http://michalbereta.pl/dydaktyka/ZSI/Lab%20Data%20Mining%201.pdf, czerwiec 2010), (http://michalbereta.pl/dydaktyka/ZSI/Lab%20Data%20Mining%202.pdf, czerwiec 2010).

FLESNER A. 2007. AutoIt v3: Your Quick Guide. O'Reilly Media.

HAND D., MANNILA H., SMYTH P. 2005. Eksploracja danych. Wydawnictwo Naukowo-Techniczne WNT.

JĘDRZEJEC B. Pozyskiwanie wiedzy z dużych zbiorów danych z zastosowaniem adaptacyjnych procedur generowania zapytań. (http://winntbg.bg.agh.edu.pl/rozprawy2/10079/full10079.pdf, czerwiec 2010).

LASEK M., NOWAK E., PĘCZKOWSKI M. Zastosowanie reguł asocjacji i sekwencji zdarzeń do analizy działalności inwestycyjnej gospodarstw agroturystycznych. (http://turyzm.pl/artykuly/lasek_nowak.pdf, sierpień 2010).

ŁAPCZYŃSKI M. Analiza koszykowa i analiza sekwencji – wielki brat czuwa. (http://www.statsoft.pl/czytelnia/artykuly/Analiza_koszykowa_i_sekwencji.pdf, czerwiec 2010).

MORZY M., WOJCIECHOWSKI M. Mechanizm perspektyw materializowanych w eksploracji danych. (http://www.cs.put.poznan.pl/mmorzy/papers/pti02.pdf, czerwiec 2010).

MORZY T. Eksploracja danych. (http://www.portalwiedzy.pan.pl/images/stories/pliki/publikacje/nauka/2007/03/N_307_06_Morzy.pdf, czerwiec 2010).

MORZY T. Eksploracja danych: problemy i rozwiązania. (http://www.ploug.org.pl/konf_99/pdf/7.pdf, czerwiec 2010).

MORZY T., MORZY M., LEŚNIEWSKA A. Eksploracja danych. (http://wazniak.mimuw.edu.pl/index.php?title=Eksploracja_danych, kwiecień 2010).

NYCZ M. Techniki pozyskiwania wiedzy w hurtowni danych. (http://www.ptzp.org.pl/files/konferencje/kzz/artyk_pdf_2009/089_Nycz.pdf, lipiec 2010).

PASZTYŁA A. Analiza koszykowa danych transakcyjnych – cele i metody. (http://www.statsoft.pl/pdf/artykuly/basket.pdf, czerwiec 2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 84 −

− 84 −

PASZTYŁA A. Przykład badania wzorców zachowań klientów za pomocą analizy koszykowej. (http://www.statsoft.pl/czytelnia/8_2007/Pasztyla05.pdf, lipiec 2010).

RapidMiner 4.3. User Guide. Operator Reference. Developer Tutorial. (http://docs.huihoo.com/rapidminer/rapidminer-4.3-tutorial.pdf, czerwiec 2010).

RESSE G. 2007. MySQL. Leksykon kieszonkowy. II wydanie. Wydawnictwo Helion.

SON HUNG N. Reguły asocjacyjne. (http://www.mimuw.edu.pl/~son/datamining/materials/w2-w3.pdf, kwiecień 2010).

SON HUNG N. Wprowadzenie do KDD i Data Mining. (http://www.mimuw.edu.pl/~son/datamining/DM2008/W01.pdf, maj 2010).

SRIKANT R., VU Q., AGRAWAL R. Mining Association Rules with Item Constraints. (http://rakesh.agrawal-family.com/papers/kdd97const.pdf, sierpień 2010).

SZCZĘCH I. Wielokryterialna ocena atrakcyjności reguł decyzyjnych i asocjacyjnych. (http://www.cs.put.poznan.pl/iszczech/publications/phd_thesis/streszczenie_PL.pdf, sierpień 2010).

The RapidMiner GUI Manual (http://www.is.informatik.uni-duisburg.de/courses/im_ss09/uebung/rapidminer-4.4-guimanual.pdf, czerwiec 2010).

Wykłady na temat data miningu. (http://data-mining.wyklady.org/, kwiecień 2010).

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 85 −

− 85 −

Spis tabel

TABELA 1.1. ŚREDNIA SPRZEDAŻ DZIENNA ORAZ MIESIĘCZNA W ZŁ W BADANYCH DELIKATESACH ALMA OD SIERPNIA 2009 DO STYCZNIA

2010 ................................................................................................................................................................... 10 TABELA 1.2. ZATWIERDZONE SYSTEMY NUMEROWE KODU EAN-13 ........................................................................................... 18 TABELA 1.3. ROZKŁAD NUMERACJI KODU WYTWÓRCY ............................................................................................................. 19 TABELA 1.4. KOD, PRZYDZIELONE PARZYSTOŚCI DLA POSZCZEGÓLNYCH CYFR KODU ORAZ CZĘŚCIOWE OBLICZENIA ................................ 20 TABELA 1.5. ZNAKOWANIE NUMEREM WEWNĘTRZNYM WG CENY .............................................................................................. 22 TABELA 1.6. ZNAKOWANIE NUMEREM WEWNĘTRZNYM WG MASY ............................................................................................. 22 TABELA 1.7. ZNAKOWANIE NUMEREM WEWNĘTRZNYM WG ILOŚCI ............................................................................................ 22 TABELA 1.8. KOD, PRZYDZIELONE PARZYSTOŚCI DLA CYFR KODU ORAZ CZĘŚCIOWE OBLICZENIA. – EAN-8 .......................................... 23 TABELA 2.1. PRZYKŁADOWA TABLICA OBSERWACJI .................................................................................................................. 28 TABELA 2.2. PRZYKŁADOWE DANE TRANSAKCYJNE .................................................................................................................. 35 TABELA 2.3. C1 – ZBIORY KANDYDUJĄCE ............................................................................................................................... 35 TABELA 2.4. L1 – ZBIORY CZĘSTE ......................................................................................................................................... 35 TABELA 2.5. C2 – ZBIORY KANDYDUJĄCE ............................................................................................................................... 36 TABELA 2.6. L2 – ZBIORY CZĘSTE ......................................................................................................................................... 36 TABELA 2.7. C3 – ZBIORY KANDYDUJĄCE ............................................................................................................................... 36 TABELA 2.8. L3 – ZBIORY CZĘSTE ......................................................................................................................................... 36 TABELA 2.9. UFNOŚĆ DLA UTWORZONYCH REGUŁ ASOCJACYJNYCH............................................................................................. 36 TABELA 3.1. SPECYFIKACJA TABELI KARTOTEKATOWAROWA ..................................................................................................... 44 TABELA 3.2. SPECYFIKACJA TABELI GRUPY ............................................................................................................................ 44 TABELA 3.3. SPECYFIKACJA TABELI DZIALY .......................................................................................................................... 44 TABELA 3.4. SPECYFIKACJA TABELI STOISKA ........................................................................................................................ 44 TABELA 3.5. SPECYFIKACJA TABELI TRANSAKCJEKASOWE ....................................................................................................... 44 TABELA 3.6. SPECYFIKACJA TABELI TRANSINFODODATKOWE ................................................................................................... 45 TABELA 4.1. MINIMALNE WARTOŚCI WSPARCIA I UFNOŚCI DO BADAŃ W DELIKATESACH ALMA ........................................................ 68 TABELA A.1. WYNIK ANALIZY STOISK DLA WSZYSTKICH KLIENTÓW .............................................................................................. 88 TABELA A.2. WYNIK ANALIZY DZIAŁÓW DLA WSZYSTKICH KLIENTÓW ........................................................................................... 88 TABELA A.3. WYNIK ANALIZY GRUP DLA WSZYSTKICH KLIENTÓW ................................................................................................ 89 TABELA A.4. WYNIK ANALIZY STOISK DLA KLIENTÓW Z KOSZYKIEM DO 20 ZŁ DO 50 ZŁ ................................................................... 89 TABELA A.5. WYNIK ANALIZY STOISK DLA KLIENTÓW Z KOSZYKIEM OD 50 ZŁ DO 100 ZŁ ................................................................. 89 TABELA A.6. WYNIK ANALIZY STOISK DLA KLIENTÓW Z KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ............................................................... 90 TABELA A.7. WYNIK ANALIZY STOISK DLA KLIENTÓW Z KOSZYKIEM POWYŻEJ 200 ZŁ ...................................................................... 91 TABELA A.8. WYNIK ANALIZY DZIAŁÓW DLA KLIENTÓW Z KOSZYKIEM DO 20 ZŁ ............................................................................. 91 TABELA A.9. WYNIK ANALIZY DZIAŁÓW DLA KLIENTÓW Z KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ............................................................ 92 TABELA A.10. WYNIK ANALIZY DZIAŁÓW DLA KLIENTÓW Z KOSZYKIEM POWYŻEJ 200 ZŁ ................................................................. 92 TABELA A.11. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KOSZYKIEM DO 20 ZŁ ................................................................................ 93 TABELA A.12. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ............................................................... 93 TABELA A.13. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KOSZYKIEM POWYŻEJ 200 ZŁ ...................................................................... 94 TABELA A.14. WYNIK ANALIZY STOISK DLA KLIENTÓW Z KARTĄ KLUBU KONESERA ......................................................................... 94 TABELA A.15. WYNIK ANALIZY STOISK DLA KLIENTÓW BEZ KARTY KLUBU KONESERA ...................................................................... 95 TABELA A.16. WYNIK ANALIZY DZIAŁÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA ...................................................................... 96 TABELA A.17. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KARTĄ KLUBU KONESERA........................................................................... 96 TABELA A.18. WYNIK ANALIZY GRUP DLA KLIENTÓW BEZ KARTY KLUBU KONESERA ........................................................................ 96 TABELA A.19. WYNIK ANALIZY GRUP DLA DNI PRZED ŚWIĄTECZNYCH .......................................................................................... 96 TABELA A.20. WYNIK ANALIZY KODÓW DLA DNI PRZED ŚWIĄTECZNYCH ....................................................................................... 97 TABELA A.21. WYNIK ANALIZY GRUP DLA WEEKENDÓW ........................................................................................................... 97 TABELA A.22. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM DO 20 ZŁ ............................................ 98 TABELA A.23. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM OD 50 ZŁ DO 100 ZŁ ............................. 98 TABELA A.24. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ........................... 98 TABELA A.25. WYNIK ANALIZY GRUP DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM POWYŻEJ 200 ZŁ .................................. 98 TABELA A.26. WYNIK ANALIZY GRUP DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM DO 20 ZŁ ......................................... 99 TABELA A.27. WYNIK ANALIZY GRUP DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ........................ 99 TABELA A.28. WYNIK ANALIZY GRUP DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM POWYŻEJ 200 ZŁ ............................. 100 TABELA A.29. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM DO 20 ZŁ ....................................... 100

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 86 −

− 86 −

TABELA A.30. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM OD 50 ZŁ DO 100 ZŁ ........................ 101 TABELA A.31. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ...................... 101 TABELA A.32. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM POWYŻEJ 200 ZŁ ............................. 101 TABELA A.33. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM DO 20 ZŁ .................................... 102 TABELA A.34. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM OD 20 ZŁ DO 50 ZŁ ....................... 102 TABELA A.35. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM OD 50 ZŁ DO 100 ZŁ ..................... 102 TABELA A.36. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ................... 102 TABELA A.37. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM POWYŻEJ 200 ZŁ .......................... 102 TABELA A.38. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM DO 20 ZŁ ....................................... 102 TABELA A.39. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM OD 20 ZŁ DO 50 ZŁ .......................... 103 TABELA A.40. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM OD 50 ZŁ DO 100 ZŁ ........................ 104 TABELA A.41. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ...................... 104 TABELA A.42. WYNIK ANALIZY KODÓW DLA KLIENTÓW Z KARTĄ KLUBU KONESERA I KOSZYKIEM POWYŻEJ 200 ZŁ ............................. 104 TABELA A.43. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM DO 20 ZŁ .................................... 104 TABELA A.44. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM OD 50 ZŁ DO 100 ZŁ ..................... 104 TABELA A.45. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ................... 105 TABELA A.46. WYNIK ANALIZY KODÓW DLA KLIENTÓW BEZ KARTY KLUBU KONESERA I KOSZYKIEM POWYŻEJ 200 ZŁ .......................... 105 TABELA A.47. WYNIK ANALIZY KODÓW DLA KLIENTÓW ALMY24 Z KOSZYKIEM DO 20 ZŁ .............................................................. 105 TABELA A.48. WYNIK ANALIZY KODÓW DLA KLIENTÓW ALMY24 Z KOSZYKIEM OD 20 ZŁ DO 50 ZŁ ................................................. 106 TABELA A.49. WYNIK ANALIZY KODÓW DLA KLIENTÓW ALMY24 Z KOSZYKIEM OD 50 ZŁ DO 100 ZŁ ............................................... 106 TABELA A.50. WYNIK ANALIZY KODÓW DLA KLIENTÓW ALMY24 Z KOSZYKIEM OD 100 ZŁ DO 200 ZŁ ............................................. 107 TABELA A.51. WYNIK ANALIZY KODÓW DLA KLIENTÓW ALMY24 Z KOSZYKIEM POWYŻEJ 200 ZŁ .................................................... 107

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 87 −

− 87 −

Spis ilustracji

RYSUNEK 1.1. SCHEMAT PODZIAŁU STRUKTURALNEGO TOWARÓW ............................................................................................. 10 RYSUNEK 1.2. PLAN SKLEPU Z PODZIAŁEM NA STOISKA ............................................................................................................. 11 RYSUNEK 1.3. DZIAŁY TOWAROWE PRZYPORZĄDKOWANE DO ODPOWIEDNICH STOISK .................................................................... 13 RYSUNEK 1.4. DZIAŁY TOWAROWE PRZYPORZĄDKOWANE DO ODPOWIEDNICH STOISK .................................................................... 14 RYSUNEK 1.5. PRZYKŁADOWE ETYKIETY WYKORZYSTYWANE W DELIKATESACH ALMA ..................................................................... 16 RYSUNEK 1.6. TEN SAM KOD W STANDARDZIE UPC-A I EAN-13 .............................................................................................. 17 RYSUNEK 1.7. TYPOWY KOD EAN-13. ................................................................................................................................. 18 RYSUNEK 2.1. PRZYKŁADOWE DANE Z DELIKATESÓW ALMA ...................................................................................................... 26 RYSUNEK 2.2. DZIAŁANIE ALGORYTMU APRIORITID ................................................................................................................ 38 RYSUNEK 2.3. PRZYKŁADOWE FP-DRZEWO WRAZ Z TABLICĄ NAGŁÓWKOWĄ ................................................................................ 39 RYSUNEK 3.1. PLIK TEKSTOWY Z KARTOTEKĄ TOWAROWĄ SKLEPU .............................................................................................. 47 RYSUNEK 3.2. PRZYKŁADOWY PLIK TEKSTOWY Z TRANSAKCJAMI ................................................................................................. 48 RYSUNEK 3.3. PLIK TEKSTOWY Z GRUPAMI TOWAROWYMI ........................................................................................................ 50 RYSUNEK 3.4. PLIK TEKSTOWY Z DZIAŁAMI ............................................................................................................................ 51 RYSUNEK 3.5. PLIK TEKSTOWY Z STOISKAMI ........................................................................................................................... 51 RYSUNEK 3.6. OKNO USTAWIENIA PROGRAMU DM CAFE ........................................................................................................ 52 RYSUNEK 3.7. ZAKŁADKA IMPORT DANYCH ...................................................................................................................... 52 RYSUNEK 3.8. ZAKŁADKA IMPORT DANYCH ...................................................................................................................... 53 RYSUNEK 3.9. OKNO ZAPISU DO PLIKU.................................................................................................................................. 53 RYSUNEK 3.10. OKNO PROGRAMU RAPID MINER ................................................................................................................... 55 RYSUNEK 3.11. OKNO NOWEGO PROJEKTU – WYBÓR REPOZYTORIUM I NAZWA PLIKU .................................................................... 55 RYSUNEK 3.12. PARAMETRY PROJEKTU ................................................................................................................................ 56 RYSUNEK 3.13. OKNO NOWEGO PROJEKTU ........................................................................................................................... 56 RYSUNEK 3.14. OKIENKO OPERATORÓW – WYSZUKIWANIE OPERATORA READ CSV ...................................................................... 57 RYSUNEK 3.15. OKNO PROCESU PO DODANIU OPERATORA READ CSV ........................................................................................ 57 RYSUNEK 3.16. PARAMETRY OPERATORA READ CSV .............................................................................................................. 58 RYSUNEK 3.17. PARAMETRY OPERATORA READ CSV C.D ......................................................................................................... 58 RYSUNEK 3.18. WIDOK PROCESU I PARAMETRÓW OPERATORA SET ROLE .................................................................................... 59 RYSUNEK 3.19. WIDOK PROCESU I PARAMETRÓW OPERATORA SET ROLE(2) ............................................................................... 59 RYSUNEK 3.20. WIDOK PROCESU I PARAMETRÓW OPERATORA SPLIT.......................................................................................... 60 RYSUNEK 3.21. WIDOK PROCESU I PARAMETRÓW OPERATORA NOMINAL TO BINOMINAL .............................................................. 60 RYSUNEK 3.22. WIDOK PROCESU I PARAMETRÓW OPERATORA FP-GROWTH ............................................................................... 61 RYSUNEK 3.23. WIDOK PROCESU I ODPOWIEDNICH POŁĄCZEŃ PO DODANIU MULTIPLY I CREATE ASSOCIATION RULES ......................... 61 RYSUNEK 3.24. PARAMETRY OPERATORA CREATE ASSOCIATION RULES ...................................................................................... 62 RYSUNEK 3.25. WIDOK CAŁEGO PROCESU I PARAMETRY OPERATORA WRITE AS TEXT .................................................................... 62 RYSUNEK 3.26. PLIK CSV Z DANYMI TRANSAKCYJNYMI ............................................................................................................ 63 RYSUNEK 3.27. WIDOK ZNALEZIONYCH REGUŁ ASOCJACYJNYCH ................................................................................................. 63 RYSUNEK 3.28. WIDOK ODSZUKANYCH POZYCJI CZĘSTYCH ........................................................................................................ 64 RYSUNEK 3.29. WIDOK ZNALEZIONYCH REGUŁ ASOCJACYJNYCH W POSTACI GRAFU ....................................................................... 64 RYSUNEK 3.30. WIDOK ZNALEZIONYCH REGUŁ ASOCJACYJNYCH W POSTACI TESKTU ....................................................................... 64 RYSUNEK 3.31. PLIK WYNIKOWY Z POZYCJAMI CZĘSTYMI I REGUŁAMI ASOCJACYJNYMI ................................................................... 65

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 88 −

− 88 −

A. Dodatek – tabele z wynikami badania

Załącznik pierwszy zawiera tabele z wynikami przeprowadzonych badań w postaci reguł

asocjacyjnych oraz dla każdego zbioru następujące informacje: ilość zbiorów

kandydujących, ilość reguł asocjacyjnych, minimalne wparcie i ufność.

Tabela A.1. Wynik analizy stoisk dla wszystkich klientów Ilo ść zbiorów kandyduj ących: 54 Ilo ść reguł asocjacyjnych: 47 Minimalne wsparcie: 5% Minimalna ufno ść: 80% Reguła Ufno ść nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,965 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 964 mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,96 mięso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 959 nabiał-pieczywo, owoce-warzywa, agd-chemia ogólnosp ożywcze 0,956 nabiał-pieczywo, mi ęso-w ędliny, agd-chemia ogólnospo żywcze 0,951 nabiał-pieczywo, mi ęso-w ędliny, alkohole ogólnospo żywcze 0,948 owoce-warzywa, alkohole ogólnospo żywcze 0,944 mięso-w ędliny, agd-chemia ogólnospo żywcze 0,943 owoce-warzywa, agd-chemia ogólnospo żywcze 0,942 ogólnospo żywcze, mi ęso-w ędliny, agd-chemia nabiał-pieczywo 0,942 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa nabiał-pieczywo 0,938 nabiał-pieczywo, agd-chemia ogólnospo żywcze 0,934 mięso-w ędliny, agd-chemia nabiał-pieczywo 0,934 mięso-w ędliny, owoce-warzywa nabiał-pieczywo 0,926

mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,926

ogólnospo żywcze, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 925 nabiał-pieczywo, alkohole ogólnospo żywcze 0,915 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa ogólnospo żywcze 0,915 owoce-warzywa, agd-chemia nabiał-pieczywo 0,912 ogólnospo żywcze, mi ęso-w ędliny, kasy-papierosy nabiał-pieczywo 0,911 mięso-w ędliny, kasy-papierosy nabiał-pieczywo 0,904 mięso-w ędliny, owoce-warzywa ogólnospo żywcze 0,903 ogólnospo żywcze, mi ęso-w ędliny, alkohole nabiał-pieczywo 0,901 nabiał-pieczywo, owoce-warzywa, kasy-papierosy ogól nospo żywcze 0,898 ogólnospo żywcze, mi ęso-w ędliny nabiał-pieczywo 0,896 nabiał-pieczywo, owoce-warzywa ogólnospo żywcze 0,89

mięso-w ędliny, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,888

agd-chemia ogólnospo żywcze 0,883 owoce-warzywa, kasy-papierosy ogólnospo żywcze 0,876

Źródło: Opracowanie własne.

Tabela A.2. Wynik analizy działów dla wszystkich klientów Ilo ść zbiorów kandyduj ących: 502 Ilo ść reguł asocjacyjnych: 10 Minimalne wsparcie: 3% Minimalna ufno ść: 80% Reguła Ufno ść chemia gospodarcza, tłuszcze produkty mleczne 0,84 sery, warzywa, tłuszcze produkty mleczne 0,837 wędliny, warzywa, tłuszcze produkty mleczne 0,829 owoce, tłuszcze produkty mleczne 0,822 wędliny, warzywa, tłuszcze sery 0,813 warzywa, tłuszcze produkty mleczne 0,809 produkty mleczne, w ędliny, warzywa, owoce sery 0,807 pieczywo świe że, produkty mleczne, w ędliny, warzywa sery 0,802 sery, w ędliny, tłuszcze produkty mleczne 0,802 pieczywo trwałe, tłuszcze produkty mleczne 0,8

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 89 −

− 89 −

Tabela A.3. Wynik analizy grup dla wszystkich klientów Ilo ść zbiorów kandyduj ących: 1324 Ilo ść reguł asocjacyjnych: 42 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, warzywa paczkowane, drób_ podroby drob . warzywa luzem 0,825 owoce luzem, warzywa paczkowane, masło warzywa luze m 0,796 owoce luzem, warzywa paczkowane, sery białe warzywa luzem 0,793 owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,79 sery żółte, owoce luzem, drób_ podroby drob. warzywa luze m 0,789 owoce luzem, jogurty, warzywa paczkowane warzywa lu zem 0,786 owoce luzem, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,785 sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,771 owoce luzem, chleb (bochenek), warzywa paczkowane w arzywa luzem 0,769 owoce luzem, warzywa konserw.pusz warzywa luzem 0,7 67 sery żółte, owoce luzem, jaja warzywa luzem 0,758 wędliny, owoce luzem, warzywa paczkowane warzywa luze m 0,756 owoce luzem, wieprzowina warzywa luzem 0,753 sery żółte, owoce luzem, sery białe warzywa luzem 0,751 warzywa paczkowane, smietana swie ża warzywa luzem 0,75 sery żółte, jogurty, warzywa paczkowane warzywa luzem 0,7 49 owoce luzem, smietana swie ża warzywa luzem 0,745 owoce luzem, drób_ podroby drob. warzywa luzem 0,745 sery żółte, warzywa paczkowane, sery białe warzywa luzem 0,738 sery żółte, owoce luzem, masło warzywa luzem 0,735 pieczyw-swie że bułka, owoce luzem, warzywa paczkowane warzywa lu zem 0,733 warzywa paczkowane, wieprzowina warzywa luzem 0,731 sery żółte, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,73 sery żółte, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,73 warzywa paczkowane, drób_ podroby drob. warzywa luz em 0,729 owoce luzem, warzywa paczkowane warzywa luzem 0,723 owoce luzem, makarony warzywa luzem 0,722 sery żółte, owoce luzem, jogurty warzywa luzem 0,721 warzywa paczkowane, warzywa konserw.pusz warzywa lu zem 0,72 warzywa paczkowane, jaja warzywa luzem 0,72

Źródło: Opracowanie własne.

Tabela A.4. Wynik analizy stoisk dla klientów z koszykiem do 20 zł do 50 zł Ilo ść zbiorów kandyduj ących: 34 Ilo ść reguł asocjacyjnych: 8 Minimalne wsparcie: 10% Minimalna ufno ść: 80% Reguła Ufno ść ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa nabiał-pieczywo 0,825 nabiał-pieczywo, kasy-papierosy ogólnospo żywcze 0,822 mięso-w ędliny, owoce-warzywa nabiał-pieczywo 0,819 nabiał-pieczywo ogólnospo żywcze 0,809 ogólnospo żywcze, mi ęso-w ędliny nabiał-pieczywo 0,807 nabiał-pieczywo, agd-chemia ogólnospo żywcze 0,805 nabiał-pieczywo, owoce-warzywa ogólnospo żywcze 0,802 owoce-warzywa ogólnospo żywcze 0,801

Źródło: Opracowanie własne.

Tabela A.5. Wynik analizy stoisk dla klientów z koszykiem od 50 zł do 100 zł Ilo ść zbiorów kandyduj ących: 41 Ilo ść reguł asocjacyjnych: 44 Minimalne wsparcie: 10% Minimalna ufno ść: 80% Reguła Ufno ść ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 934 nabiał-pieczywo, owoce-warzywa, agd-chemia ogólnosp ożywcze 0,934 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,932 nabiał-pieczywo, agd-chemia ogólnospo żywcze 0,93 mięso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 93 nabiał-pieczywo, owoce-warzywa ogólnospo żywcze 0,929 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa nabiał-pieczywo 0,928 mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,928 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa ogólnospo żywcze 0,926 mięso-w ędliny, owoce-warzywa nabiał-pieczywo 0,924 nabiał-pieczywo, mi ęso-w ędliny, agd-chemia ogólnospo żywcze 0,924

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 90 −

− 90 −

owoce-warzywa, agd-chemia ogólnospo żywcze 0,922 mięso-w ędliny, owoce-warzywa ogólnospo żywcze 0,922 owoce-warzywa ogólnospo żywcze 0,921 mięso-w ędliny, agd-chemia ogólnospo żywcze 0,919 nabiał-pieczywo ogólnospo żywcze 0,919 nabiał-pieczywo, mi ęso-w ędliny ogólnospo żywcze 0,913 ogólnospo żywcze, mi ęso-w ędliny, agd-chemia nabiał-pieczywo 0,912 mięso-w ędliny, agd-chemia nabiał-pieczywo 0,907 ogólnospo żywcze, mi ęso-w ędliny nabiał-pieczywo 0,907 agd-chemia ogólnospo żywcze 0,905 nabiał-pieczywo, kasy-papierosy ogólnospo żywcze 0,899 mięso-w ędliny ogólnospo żywcze 0,899 mięso-w ędliny, kasy-papierosy ogólnospo żywcze 0,897 mięso-w ędliny, kasy-papierosy nabiał-pieczywo 0,897 ogólnospo żywcze, owoce-warzywa nabiał-pieczywo 0,897 ogólnospo żywcze, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 893 mięso-w ędliny nabiał-pieczywo 0,893 ogólnospo żywcze, mi ęso-w ędliny, kasy-papierosy nabiał-pieczywo 0,893 nabiał-pieczywo, mi ęso-w ędliny, kasy-papierosy ogólnospo żywcze 0,893

Źródło: Opracowanie własne.

Tabela A.6. Wynik analizy stoisk dla klientów z koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 35 Ilo ść reguł asocjacyjnych: 52 Minimalne wsparcie: 20% Minimalna ufno ść: 80% Reguła Ufno ść nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,981 nabiał-pieczywo, owoce-warzywa, agd-chemia ogólnosp ożywcze 0,981 owoce-warzywa, agd-chemia ogólnospo żywcze 0,979 mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,979 nabiał-pieczywo, mi ęso-w ędliny, agd-chemia ogólnospo żywcze 0,978 nabiał-pieczywo, owoce-warzywa ogólnospo żywcze 0,976 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa ogólnospo żywcze 0,976 nabiał-pieczywo, agd-chemia ogólnospo żywcze 0,976 mięso-w ędliny, owoce-warzywa ogólnospo żywcze 0,975 mięso-w ędliny, agd-chemia ogólnospo żywcze 0,975 owoce-warzywa ogólnospo żywcze 0,974 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa nabiał-pieczywo 0,974 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 973 nabiał-pieczywo, mi ęso-w ędliny ogólnospo żywcze 0,972 mięso-w ędliny, owoce-warzywa nabiał-pieczywo 0,972 mięso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 971 nabiał-pieczywo ogólnospo żywcze 0,97 agd-chemia ogólnospo żywcze 0,966 mięso-w ędliny ogólnospo żywcze 0,964 kasy-papierosy ogólnospo żywcze 0,961 ogólnospo żywcze, mi ęso-w ędliny, agd-chemia nabiał-pieczywo 0,961 ogólnospo żywcze, owoce-warzywa nabiał-pieczywo 0,96 ogólnospo żywcze, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 959 mięso-w ędliny, agd-chemia nabiał-pieczywo 0,959 owoce-warzywa nabiał-pieczywo 0,958 owoce-warzywa, agd-chemia nabiał-pieczywo 0,957 ogólnospo żywcze, mi ęso-w ędliny nabiał-pieczywo 0,955

mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,953

mięso-w ędliny, owoce-warzywa ogólnospo żywcze, nabiał-pieczywo 0,949

mięso-w ędliny nabiał-pieczywo 0,947

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 91 −

− 91 −

Tabela A.7. Wynik analizy stoisk dla klientów z koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 3 4 Ilo ść reguł asocjacyjnych: 100 Minimalne wsparcie: 40% Minimalna ufno ść: 80% Reguła Ufno ść owoce-warzywa, agd-chemia ogólnospo żywcze 0,997 mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,997 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,997 nabiał-pieczywo, owoce-warzywa, agd-chemia ogólnosp ożywcze 0,997 owoce-warzywa ogólnospo żywcze 0,996 nabiał-pieczywo, owoce-warzywa ogólnospo żywcze 0,996 mięso-w ędliny, owoce-warzywa ogólnospo żywcze 0,996 nabiał-pieczywo, agd-chemia ogólnospo żywcze 0,996 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa ogólnospo żywcze 0,996 mięso-w ędliny, agd-chemia ogólnospo żywcze 0,996 nabiał-pieczywo, mi ęso-w ędliny, agd-chemia ogólnospo żywcze 0,996 nabiał-pieczywo, mi ęso-w ędliny ogólnospo żywcze 0,995 nabiał-pieczywo ogólnospo żywcze 0,994 agd-chemia ogólnospo żywcze 0,991 mięso-w ędliny ogólnospo żywcze 0,989 mięso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 989 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 989 mięso-w ędliny, owoce-warzywa nabiał-pieczywo 0,988 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa nabiał-pieczywo 0,988

mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,986

mięso-w ędliny, agd-chemia nabiał-pieczywo 0,984 ogólnospo żywcze, mi ęso-w ędliny, agd-chemia nabiał-pieczywo 0,984

mięso-w ędliny, owoce-warzywa ogólnospo żywcze, nabiał-pieczywo 0,984

owoce-warzywa, agd-chemia nabiał-pieczywo 0,983 ogólnospo żywcze, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 983 owoce-warzywa nabiał-pieczywo 0,981 ogólnospo żywcze, owoce-warzywa nabiał-pieczywo 0,981

owoce-warzywa, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,98

mięso-w ędliny, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,98

owoce-warzywa ogólnospo żywcze, nabiał-pieczywo 0,977

Źródło: Opracowanie własne.

Tabela A.8. Wynik analizy działów dla klientów z koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 106 Ilo ść reguł asocjacyjnych: 1 Minimalne wsparcie: 3% Minimalna ufno ść: 80% Reguła Ufno ść opak. zwrot. za kauc piwo 0,901

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 92 −

− 92 −

Tabela A.9. Wynik analizy działów dla klientów z koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 461 Ilo ść reguł asocjacyjnych: 24 Minimalne wsparcie: 8% Minimalna ufno ść: 80% Reguła Ufno ść pieczywo trwałe, tłuszcze produkty mleczne 0,835 wędliny, warzywa, tłuszcze sery 0,829 sery, warzywa, tłuszcze produkty mleczne 0,828 wędliny, warzywa, tłuszcze produkty mleczne 0,827 owoce, tłuszcze produkty mleczne 0,822 produkty mleczne, w ędliny, warzywa, pieczywo świe że sery 0,821 produkty mleczne, w ędliny, tłuszcze sery 0,82 chemia gospodarcza, tłuszcze produkty mleczne 0,818 warzywa, tłuszcze produkty mleczne 0,817 produkty mleczne, w ędliny, pieczywo trwałe sery 0,813 sery, pieczywo świe że, tłuszcze produkty mleczne 0,812 wędliny, tłuszcze sery 0,812 sery, w ędliny, tłuszcze produkty mleczne 0,81 sery, jaja produkty mleczne 0,81 sery, tłuszcze produkty mleczne 0,81 wędliny, warzywa, pieczywo trwałe sery 0,805 produkty mleczne, w ędliny, pieczywo świe że sery 0,804 produkty mleczne, w ędliny, warzywa, owoce sery 0,804 produkty mleczne, w ędliny, soki syropy nektary sery 0,803 produkty mleczne, warzywa, pieczywo trwałe sery 0,8 03 wędliny, tłuszcze produkty mleczne 0,802 pieczywo świe że, tłuszcze produkty mleczne 0,801 warzywa, jaja produkty mleczne 0,801 produkty mleczne, w ędliny, wody mineral.stołowe sery 0,8

Źródło: Opracowanie własne.

Tabela A.10. Wynik analizy działów dla klientów z koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 275 Ilo ść reguł asocjacyjnych: 144 Minimalne wsparcie: 40% Minimalna ufno ść: 80% Reguła Ufno ść chemia gospodarcza, tłuszcze produkty mleczne 0,914 owoce, tłuszcze produkty mleczne 0,913 sery, warzywa, tłuszcze produkty mleczne 0,91 sery, tłuszcze produkty mleczne 0,906 pieczywo świe że, tłuszcze produkty mleczne 0,906 wędliny, tłuszcze produkty mleczne 0,905 warzywa, tłuszcze produkty mleczne 0,903 tłuszcze produkty mleczne 0,899 jaja produkty mleczne 0,88 owoce, tłuszcze warzywa 0,878 sery, chemia gospodarcza, owoce produkty mleczne 0,871 sery, warzywa, pieczywo trwałe produkty mleczne 0,866 owoce, produkty sypkie warzywa 0,866 sery, w ędliny, owoce produkty mleczne 0,865 sery, w ędliny, chemia gospodarcza produkty mleczne 0,865 sery, w ędliny, owoce warzywa 0,864 owoce, pieczywo świe że warzywa 0,861 sery, warzywa, chemia gospodarcza produkty mleczne 0,861 sery, produkty mleczne, owoce warzywa 0,86 sery, soki syropy nektary produkty mleczne 0,86 sery, pieczywo trwałe produkty mleczne 0,859 produkty mleczne, w ędliny, owoce warzywa 0,858 owoce, pieczywo trwałe produkty mleczne 0,857 sery, owoce warzywa 0,857 sery, wody mineral.stołowe produkty mleczne 0,856 owoce, ryby warzywa 0,855 sery, produkty sypkie produkty mleczne 0,855 owoce, pieczywo trwałe warzywa 0,855 produkty mleczne, warzywa, ryby sery 0,854 wędliny, owoce warzywa 0,854

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 93 −

− 93 −

Tabela A.11. Wynik analizy grup dla klientów z koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 218 Ilo ść reguł asocjacyjnych: 4 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść soki syr.nekt-butel., gor ąca lada pieczyw-swie że bułka 0,844 butelki piwo butelki 0,815 napoje butelka, gor ąca lada pieczyw-swie że bułka 0,791 wędliny, zupy pieczyw-swie że bułka 0,765

Źródło: Opracowanie własne.

Tabela A.12. Wynik analizy grup dla klientów z koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 2018 Ilo ść reguł asocjacyjnych: 86 Minimalne wsparcie: 2% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, grzyby świe że warzywa luzem 0,814 owoce luzem, warzywa paczkowane, drób_ podroby drob . warzywa luzem 0,806 warzywa paczkowane, grzyby świe że warzywa luzem 0,794 owoce luzem, jogurty, drób_ podroby drob. warzywa l uzem 0,793 owoce luzem, warzywa paczkowane, pieczywo chleb pak ow warzywa luzem 0,792 owoce luzem, warzywa paczkowane, jaja warzywa luzem 0,789 owoce luzem, sery twaro żkowe, drób_ podroby drob. warzywa luzem 0,788 owoce luzem, warzywa paczkowane, masło warzywa luze m 0,781 warzywa paczkowane, jogurty, chleb (bochenek) warzy wa luzem 0,781 sery żółte, grzyby świe że warzywa luzem 0,776 owoce luzem, warzywa paczkowane, jogurty warzywa lu zem 0,776 sery żółte, owoce luzem, drób_ podroby drob. warzywa luze m 0,774 warzywa paczkowane, smietana swie ża warzywa luzem 0,772 owoce luzem, wieprzowina warzywa luzem 0,77 warzywa paczkowane, jogurty, drób_ podroby drob. wa rzywa luzem 0,77 owoce luzem, warzywa konserw.pusz warzywa luzem 0,7 69 owoce luzem, warzywa paczkowane, sery białe warzywa luzem 0,768 owoce luzem, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,767 owoce luzem, mleko śmietan.trwała, drób_ podroby drob. warzywa luzem 0, 765 sery żółte, owoce luzem, smietana swie ża warzywa luzem 0,765 owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,765 owoce luzem, warzywa paczkowane, wody mineralne nie g. warzywa luzem 0,763 owoce luzem, warzywa paczkowane, chleb (bochenek) w arzywa luzem 0,763 owoce luzem, smietana swie ża warzywa luzem 0,76 sery żółte, warzywa paczkowane, drób_ podroby drob. warzy wa luzem 0,76 grzyby świe że warzywa luzem 0,76 wędliny, owoce luzem, warzywa paczkowane warzywa luze m 0,757 sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,754 wędliny, owoce luzem, drób_ podroby drob. warzywa luz em 0,75 owoce luzem, drób_ podroby drob. warzywa luzem 0,74 8

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 94 −

− 94 −

Tabela A.13. Wynik analizy grup dla klientów z koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 408 Ilo ść reguł asocjacyjnych: 58 Minimalne wsparcie: 10% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, warzywa paczkowane, jogurty warzywa lu zem 0,836 owoce luzem, drób_ podroby drob. warzywa luzem 0,83 1 owoce luzem, mleko śmietan.trwała, warzywa paczkowane warzywa luzem 0,8 28 sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,827 owoce luzem, warzywa paczkowane warzywa luzem 0,807 warzywa paczkowane, drób_ podroby drob. warzywa luz em 0,807 owoce luzem, sery białe warzywa luzem 0,788 owoce luzem, masło warzywa luzem 0,787 sery żółte, owoce luzem, mleko śmietan.trwała warzywa luzem 0,782 owoce luzem, jaja warzywa luzem 0,781 sery żółte, owoce luzem, jogurty warzywa luzem 0,781 sery żółte, owoce luzem, sery twaro żkowe warzywa luzem 0,777 warzywa paczkowane, jaja warzywa luzem 0,773 owoce luzem, chleb (bochenek) warzywa luzem 0,77 warzywa paczkowane, masło warzywa luzem 0,77 warzywa paczkowane, jogurty warzywa luzem 0,768 owoce luzem, w ędliny warzywa luzem 0,767 warzywa paczkowane, sery białe warzywa luzem 0,765 sery żółte, owoce luzem warzywa luzem 0,764 warzywa paczkowane, chleb (bochenek) warzywa luzem 0,762 owoce luzem, pieczywo chleb pakow warzywa luzem 0,7 62 warzywa paczkowane, w ędliny warzywa luzem 0,761 owoce luzem, soki syr.nekt-karton warzywa luzem 0,7 56 owoce luzem, mleko śmietan.trwała warzywa luzem 0,756 owoce luzem, jogurty warzywa luzem 0,755 sery żółte, warzywa paczkowane warzywa luzem 0,755 owoce luzem, sery twaro żkowe warzywa luzem 0,752 warzywa paczkowane, sery twaro żkowe warzywa luzem 0,751 owoce luzem, pieczyw-swie że bułka warzywa luzem 0,748 mleko śmietan.trwała, warzywa paczkowane warzywa luzem 0,7 48

Źródło: Opracowanie własne.

Tabela A.14. Wynik analizy stoisk dla klientów z kart ą Klubu Konesera Ilo ść zbiorów kandyduj ących: 49 Ilo ść reguł asocjacyjnych: 56 Minimalne wsparcie: 10% Minimalna ufno ść: 80% Reguła Ufno ść nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,973 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 972 mięso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 969 mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,969 nabiał-pieczywo, owoce-warzywa, agd-chemia ogólnosp ożywcze 0,966 nabiał-pieczywo, mi ęso-w ędliny, agd-chemia ogólnospo żywcze 0,962 owoce-warzywa, agd-chemia ogólnospo żywcze 0,961 ogólnospo żywcze, mi ęso-w ędliny, agd-chemia nabiał-pieczywo 0,959 mięso-w ędliny, agd-chemia ogólnospo żywcze 0,958 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa nabiał-pieczywo 0,956 mięso-w ędliny, agd-chemia nabiał-pieczywo 0,955 nabiał-pieczywo, agd-chemia ogólnospo żywcze 0,951 mięso-w ędliny, owoce-warzywa nabiał-pieczywo 0,95 ogólnospo żywcze, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 948 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa ogólnospo żywcze 0,943 owoce-warzywa, agd-chemia nabiał-pieczywo 0,942

mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,942

mięso-w ędliny, owoce-warzywa ogólnospo żywcze 0,937 ogólnospo żywcze, mi ęso-w ędliny nabiał-pieczywo 0,933 agd-chemia ogólnospo żywcze 0,933 nabiał-pieczywo, owoce-warzywa ogólnospo żywcze 0,932 ogólnospo żywcze, owoce-warzywa nabiał-pieczywo 0,924 owoce-warzywa ogólnospo żywcze 0,923 nabiał-pieczywo, alkohole ogólnospo żywcze 0,92

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 95 −

− 95 −

mięso-w ędliny, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,919

nabiał-pieczywo, mi ęso-w ędliny ogólnospo żywcze 0,919 ogólnospo żywcze, mi ęso-w ędliny, kasy-papierosy nabiał-pieczywo 0,918 mięso-w ędliny nabiał-pieczywo 0,917 owoce-warzywa nabiał-pieczywo 0,915 mięso-w ędliny, kasy-papierosy nabiał-pieczywo 0,915

Źródło: Opracowanie własne.

Tabela A.15. Wynik analizy stoisk dla klientów bez karty Klubu Konesera Ilo ść zbiorów kandyduj ących: 45 Ilo ść reguł asocjacyjnych: 35 Minimalne wsparcie: 5% Minimalna ufno ść: 80% Reguła Ufno ść nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,959 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 958 mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze 0,953 mięso-w ędliny, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 952 nabiał-pieczywo, owoce-warzywa, agd-chemia ogólnosp ożywcze 0,947 nabiał-pieczywo, mi ęso-w ędliny, agd-chemia ogólnospo żywcze 0,942 mięso-w ędliny, agd-chemia ogólnospo żywcze 0,932 ogólnospo żywcze, mi ęso-w ędliny, agd-chemia nabiał-pieczywo 0,93 owoce-warzywa, agd-chemia ogólnospo żywcze 0,928 ogólnospo żywcze, mi ęso-w ędliny, owoce-warzywa nabiał-pieczywo 0,926 nabiał-pieczywo, agd-chemia ogólnospo żywcze 0,923 mięso-w ędliny, agd-chemia nabiał-pieczywo 0,92

mięso-w ędliny, owoce-warzywa, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,913

nabiał-pieczywo, alkohole ogólnospo żywcze 0,912 mięso-w ędliny, owoce-warzywa nabiał-pieczywo 0,91 ogólnospo żywcze, owoce-warzywa, agd-chemia nabiał-pieczywo 0, 909 ogólnospo żywcze, mi ęso-w ędliny, kasy-papierosy nabiał-pieczywo 0,907 mięso-w ędliny, kasy-papierosy nabiał-pieczywo 0,899 nabiał-pieczywo, mi ęso-w ędliny, owoce-warzywa ogólnospo żywcze 0,897 owoce-warzywa, agd-chemia nabiał-pieczywo 0,89 mięso-w ędliny, owoce-warzywa ogólnospo żywcze 0,882 ogólnospo żywcze, mi ęso-w ędliny nabiał-pieczywo 0,878

mięso-w ędliny, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,867

nabiał-pieczywo, owoce-warzywa ogólnospo żywcze 0,866 agd-chemia ogólnospo żywcze 0,856 ogólnospo żywcze, owoce-warzywa nabiał-pieczywo 0,844

owoce-warzywa, agd-chemia ogólnospo żywcze, nabiał-pieczywo 0,843

mięso-w ędliny nabiał-pieczywo 0,84 nabiał-pieczywo, mi ęso-w ędliny, kasy-papierosy ogólnospo żywcze 0,829 nabiał-pieczywo, mi ęso-w ędliny ogólnospo żywcze 0,827

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 96 −

− 96 −

Tabela A.16. Wynik analizy działów dla klientów z kartą Klubu Konesera Ilo ść zbiorów kandyduj ących: 266 Ilo ść reguł asocjacyjnych: 11 Minimalne wsparcie: 8% Minimalna ufno ść: 80% Reguła Ufno ść sery, warzywa, tłuszcze produkty mleczne 0,865 owoce, tłuszcze produkty mleczne 0,859 warzywa, tłuszcze produkty mleczne 0,85 sery, tłuszcze produkty mleczne 0,836 wędliny, tłuszcze produkty mleczne 0,828 pieczywo świe że, tłuszcze produkty mleczne 0,82 produkty mleczne, w ędliny, owoce sery 0,813 sery, warzywa, chemia gospodarcza produkty mleczne 0,807 tłuszcze produkty mleczne 0,804 sery, produkty mleczne, owoce warzywa 0,802 produkty mleczne, w ędliny, owoce warzywa 0,801

Źródło: Opracowanie własne.

Tabela A.17. Wynik analizy grup dla klientów z kartą Klubu Konesera Ilo ść zbiorów kandyduj ących: 581 Ilo ść reguł asocjacyjnych: 20 Minimalne wsparcie: 3% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, warzywa paczkowane, jogurty warzywa lu zem 0,794 wędliny, owoce luzem, warzywa paczkowane warzywa luze m 0,784 sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,78 owoce luzem, drób_ podroby drob. warzywa luzem 0,762 grzyby świe że warzywa luzem 0,754 owoce luzem, smietana swie ża warzywa luzem 0,748 owoce luzem, warzywa paczkowane warzywa luzem 0,745 warzywa paczkowane, drób_ podroby drob. warzywa luz em 0,745 owoce luzem, przyprawy sypkie warzywa luzem 0,743 warzywa paczkowane, jaja warzywa luzem 0,737 sery żółte, owoce luzem, mleko śmietan.trwała warzywa luzem 0,73 owoce luzem, sery białe warzywa luzem 0,727 sery żółte, owoce luzem, jogurty warzywa luzem 0,727 owoce luzem, jaja warzywa luzem 0,727 warzywa paczkowane, jogurty warzywa luzem 0,726 warzywa paczkowane, sery białe warzywa luzem 0,724 sery żółte, owoce luzem, sery twaro żkowe warzywa luzem 0,722 warzywa paczkowane, masło warzywa luzem 0,712 warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,704 owoce luzem, masło warzywa luzem 0,704

Źródło: Opracowanie własne.

Tabela A.18. Wynik analizy grup dla klientów bez karty Klubu Konesera Ilo ść zbiorów kandyduj ących: 592 Ilo ść reguł asocjacyjnych: 5 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,763 owoce luzem, drób_ podroby drob. warzywa luzem 0,73 warzywa paczkowane, drób_ podroby drob. warzywa luz em 0,713 warzywa paczkowane, jaja warzywa luzem 0,704 owoce luzem, warzywa paczkowane warzywa luzem 0,703

Źródło: Opracowanie własne.

Tabela A.19. Wynik analizy grup dla dni przed świątecznych Ilo ść zbiorów kandyduj ących: 2068 Ilo ść reguł asocjacyjnych: 19 Minimalne wsparcie: 1% Minimalna ufno ść: 80% Reguła Ufno ść owoce luzem, warzywa paczkowane, przyprawy sypkie w arzywa luzem 0,877 owoce luzem, warzywa paczkowane, smietana swie ża warzywa luzem 0,872 owoce luzem, warzywa paczkowane, masło warzywa luze m 0,849 sery żółte, warzywa paczkowane, smietana swie ża warzywa luzem 0,843 owoce luzem, warzywa paczkowane, jaja warzywa luzem 0,83 sery żółte, owoce luzem, smietana swie ża warzywa luzem 0,828 warzywa paczkowane, smietana swie ża warzywa luzem 0,828 owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,822

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 97 −

− 97 −

owoce luzem, warzywa paczkowane, sery białe warzywa luzem 0,821 owoce luzem, mleko śmietan.trwała, drób_ podroby drob. warzywa luzem 0, 819 warzywa paczkowane, masło, jaja warzywa luzem 0,818 warzywa paczkowane, grzyby świe że warzywa luzem 0,817 owoce luzem, grzyby świe że warzywa luzem 0,813 owoce luzem, masło, jaja warzywa luzem 0,812 sery żółte, owoce luzem, przyprawy sypkie warzywa luzem 0 ,808 owoce luzem, warzywa paczkowane, drób_ podroby drob . warzywa luzem 0,804 napoje butelka, owoce luzem, przyprawy sypkie warzy wa luzem 0,802 warzywa paczkowane, jogurty, masło warzywa luzem 0, 801 owoce luzem, mleko śmietan.trwała, smietana swie ża warzywa luzem 0,8

Źródło: Opracowanie własne.

Tabela A.20. Wynik analizy kodów dla dni przed świątecznych Ilo ść zbiorów kandyduj ących: 218 Ilo ść reguł asocjacyjnych: 3 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg pietruszka kg 0,914 seler kg pietruszka kg 0,786 pietruszka kg, seler kg marchew kg 0,727

Źródło: Opracowanie własne.

Tabela A.21. Wynik analizy grup dla weekendów Ilo ść zbiorów kandyduj ących: 2499 Ilo ść reguł asocjacyjnych: 34 Minimalne wsparcie: 1% Minimalna ufno ść: 80% Reguła Ufno ść sery żółte, owoce luzem, warzywa paczkowane, drób_ podrob y drob. warzywa luzem 0,874 owoce luzem, warzywa paczkowane, drób_ podroby drob . warzywa luzem 0,845 owoce luzem, warzywa paczkowane, przyprawy sypkie w arzywa luzem 0,842 owoce luzem, warzywa paczkowane, wieprzowina warzyw a luzem 0,835 owoce luzem, drób_ podroby drob., sery białe warzyw a luzem 0,832 sery żółte, owoce luzem, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,829 owoce luzem, drób_ podroby drob., jaja warzywa luze m 0,824 sery żółte, owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,823 sery żółte, owoce luzem, warzywa paczkowane, jogurty warz ywa luzem 0,823 owoce luzem, warzywa paczkowane, smietana swie ża warzywa luzem 0,821 owoce luzem, drób_ podroby drob., masło warzywa luz em 0,821 sery żółte, owoce luzem, warzywa paczkowane, sery białe w arzywa luzem 0,82 owoce luzem, grzyby świe że warzywa luzem 0,82 owoce luzem, warzywa paczkowane, jaja warzywa luzem 0,818 wędliny, sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,818 warzywa paczkowane, drób_ podroby drob., sery białe warzywa luzem 0,817 owoce luzem, wody mineralne nieg., drób_ podroby dr ob. warzywa luzem 0,817 owoce luzem, sery twaro żkowe, drób_ podroby drob. warzywa luzem 0,817 owoce luzem, jogurty, drób_ podroby drob. warzywa l uzem 0,814 owoce luzem, chleb (bochenek), drób_ podroby drob. warzywa luzem 0,813 pieczyw-swie że bułka, sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,813 sery żółte, owoce luzem, wieprzowina warzywa luzem 0,812 warzywa paczkowane, sery twaro żkowe, drób_ podroby drob. warzywa luzem 0,812 warzywa paczkowane, drób_ podroby drob., masło warz ywa luzem 0,811 owoce luzem, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,81 owoce luzem, warzywa paczkowane, sery białe warzywa luzem 0,81 sery żółte, warzywa paczkowane, drób_ podroby drob. warzy wa luzem 0,808 owoce luzem, warzywa paczkowane, wody mineralne nie g. warzywa luzem 0,807 owoce luzem, warzywa paczkowane, soki syr.nekt-kart on warzywa luzem 0,806 sery żółte, warzywa paczkowane, smietana swie ża warzywa luzem 0,806 owoce luzem, warzywa paczkowane, masło warzywa luze m 0,805 owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,803 owoce luzem, mleko śmietan.trwała, drób_ podroby drob. warzywa luzem 0, 803 warzywa paczkowane, jogurty, drób_ podroby drob. wa rzywa luzem 0,801

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 98 −

− 98 −

Tabela A.22. Wynik analizy grup dla klientów z kartą Klubu Konesera i koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 234 Ilo ść reguł asocjacyjnych: 2 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść konserwy pasztety pieczyw-swie że bułka 0,76 papierosy, gor ąca lada pieczyw-swie że bułka 0,739

Źródło: Opracowanie własne.

Tabela A.23. Wynik analizy grup dla klientów z kartą Klubu Konesera i koszykiem od 50 zł do 100 zł Ilo ść zbiorów kandyduj ących: 1272 Ilo ść reguł asocjacyjnych: 4 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, grzyby świe że warzywa luzem 0,761 sery żółte, pasztety inne wędliny 0,732 pasztety inne wędliny 0,731 warzywa paczkowane, grzyby świe że warzywa luzem 0,713

Źródło: Opracowanie własne.

Tabela A.24. Wynik analizy grup dla klientów z kartą Klubu Konesera i koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 1169 Ilo ść reguł asocjacyjnych: 57 Minimalne wsparcie: 3% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, jogurty, drób_ podroby drob. warzywa l uzem 0,817 owoce luzem, warzywa konserw.pusz warzywa luzem 0,8 14 owoce luzem, warzywa paczkowane, drób_ podroby drob . warzywa luzem 0,81 owoce luzem, warzywa paczkowane, jogurty warzywa lu zem 0,804 owoce luzem, warzywa paczkowane, sery białe warzywa luzem 0,8 sery żółte, owoce luzem, drób_ podroby drob. warzywa luze m 0,789 wędliny, owoce luzem, warzywa paczkowane warzywa luze m 0,786 owoce luzem, wieprzowina warzywa luzem 0,783 grzyby świe że warzywa luzem 0,782 wędliny, owoce luzem, drób_ podroby drob. warzywa luz em 0,776 owoce luzem, warzywa paczkowane, chleb (bochenek) w arzywa luzem 0,775 owoce luzem, drób_ podroby drob. warzywa luzem 0,77 warzywa paczkowane, warzywa konserw.pusz warzywa lu zem 0,769 sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,769 owoce luzem, makarony warzywa luzem 0,764 sery żółte, owoce luzem, jaja warzywa luzem 0,763 owoce luzem, warzywa paczkowane warzywa luzem 0,76 warzywa paczkowane, smietana swie ża warzywa luzem 0,759 owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,759 wędliny, warzywa paczkowane, drób_ podroby drob. warz ywa luzem 0,757 wędliny, owoce luzem, jogurty warzywa luzem 0,756 wędliny, warzywa paczkowane, jogurty warzywa luzem 0, 755 owoce luzem, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,752 owoce luzem, smietana swie ża warzywa luzem 0,751 sery żółte, owoce luzem, masło warzywa luzem 0,749 sery żółte, warzywa paczkowane, drób_ podroby drob. warzy wa luzem 0,748 owoce luzem, pieczyw-swie że bułka, warzywa paczkowane warzywa luzem 0,744 owoce luzem, jaja warzywa luzem 0,743 owoce luzem, jogurty, mleko śmietan.trwała warzywa luzem 0,742 sery żółte, owoce luzem, chleb (bochenek) warzywa luzem 0 ,741

Źródło: Opracowanie własne.

Tabela A.25. Wynik analizy grup dla klientów z kartą Klubu Konesera i koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 591 Ilo ść reguł asocjacyjnych: 107 Minimalne wsparcie: 10% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, warzywa paczkowane, drób_ podroby drob . warzywa luzem 0,86 grzyby świe że warzywa luzem 0,838 owoce luzem, warzywa paczkowane, masło warzywa luze m 0,837 owoce luzem, warzywa paczkowane, jogurty warzywa lu zem 0,827 owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,823 sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,822 owoce luzem, drób_ podroby drob. warzywa luzem 0,82 owoce luzem, warzywa paczkowane, pieczyw-swie że bułka warzywa luzem 0,819

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 99 −

− 99 −

owoce luzem, warzywa paczkowane, sery białe warzywa luzem 0,814 owoce luzem, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,808 warzywa paczkowane, przyprawy sypkie warzywa luzem 0,806 owoce luzem, warzywa paczkowane warzywa luzem 0,805 owoce luzem, smietana swie ża warzywa luzem 0,805 warzywa paczkowane, smietana swie ża warzywa luzem 0,804 owoce luzem, przyprawy sypkie warzywa luzem 0,801 sery żółte, owoce luzem, sery białe warzywa luzem 0,801 sery żółte, owoce luzem, masło warzywa luzem 0,801 warzywa paczkowane, drób_ podroby drob. warzywa luz em 0,8 sery żółte, warzywa paczkowane, jogurty warzywa luzem 0,7 98 warzywa paczkowane, jaja warzywa luzem 0,786 sery żółte, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,782 owoce luzem, sery białe warzywa luzem 0,781 warzywa paczkowane, w ędliny warzywa luzem 0,78 sery żółte, owoce luzem, w ędliny warzywa luzem 0,78 warzywa paczkowane, jogurty warzywa luzem 0,778 sery żółte, owoce luzem, sery twaro żkowe warzywa luzem 0,778 warzywa paczkowane, masło warzywa luzem 0,774 sery żółte, warzywa paczkowane, sery białe warzywa luzem 0,773 owoce luzem, chleb (bochenek) warzywa luzem 0,773 warzywa paczkowane, chleb (bochenek) warzywa luzem 0,771

Źródło: Opracowanie własne.

Tabela A.26. Wynik analizy grup dla klientów bez karty Klubu Konesera i koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 206 Ilo ść reguł asocjacyjnych: 8 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść soki syr.nekt-butel., gor ąca lada pieczyw-swie że bułka 0,844 butelki piwo butelki 0,828 napoje butelka, gor ąca lada pieczyw-swie że bułka 0,824 wędliny, zupy pieczyw-swie że bułka 0,79 sery topione pieczyw-swie że bułka 0,731 gor ąca lada pieczyw-swie że bułka 0,706 gor ąca lada, wyr.gar.warzywa luz pieczyw-swie że bułka 0,701 ryby przetwory szt pieczyw-swie że bułka 0,7

Źródło: Opracowanie własne.

Tabela A.27. Wynik analizy grup dla klientów bez karty Klubu Konesera i koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 1672 Ilo ść reguł asocjacyjnych: 49 Minimalne wsparcie: 2% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, warzywa paczkowane, drób_ podroby drob . warzywa luzem 0,802 owoce luzem, grzyby świe że warzywa luzem 0,795 warzywa paczkowane, smietana swie ża warzywa luzem 0,786 owoce luzem, warzywa paczkowane, pieczywo chleb pak ow warzywa luzem 0,786 owoce luzem, warzywa paczkowane, masło warzywa luze m 0,785 owoce luzem, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,78 owoce luzem, warzywa paczkowane, jaja warzywa luzem 0,774 sery żółte, warzywa paczkowane, drób_ podroby drob. warzy wa luzem 0,771 sery żółte, grzyby świe że warzywa luzem 0,77 owoce luzem, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,77 owoce luzem, smietana swie ża warzywa luzem 0,768 sery żółte, owoce luzem, drób_ podroby drob. warzywa luze m 0,759 sery żółte, warzywa paczkowane, mleko śmietan.trwała warzywa luzem 0,758 owoce luzem, wieprzowina warzywa luzem 0,757 sery żółte, warzywa paczkowane, sery twaro żkowe warzywa luzem 0,755 owoce luzem, jogurty, sery białe warzywa luzem 0,75 2 sery żółte, warzywa paczkowane, jogurty warzywa luzem 0,7 51 owoce luzem, warzywa paczkowane, jogurty warzywa lu zem 0,75 owoce luzem, warzywa paczkowane, chleb (bochenek) w arzywa luzem 0,75 warzywa paczkowane, wieprzowina warzywa luzem 0,747 owoce luzem, wody mineralne nieg., warzywa paczkowa ne warzywa luzem 0,744 grzyby świe że warzywa luzem 0,743 sery żółte, warzywa paczkowane, pieczywo chleb pakow warz ywa luzem 0,741

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 100 −

− 100 −

sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,739 owoce luzem, warzywa paczkowane, sery białe warzywa luzem 0,738 warzywa paczkowane, mleko śmietan.trwała, jogurty warzywa luzem 0,737 owoce luzem, kefir_ma ślanka_zakwa warzywa luzem 0,735 owoce luzem, warzywa konserw.pusz warzywa luzem 0,7 33 sery żółte, warzywa paczkowane, masło warzywa luzem 0,731 owoce luzem, drób_ podroby drob. warzywa luzem 0,72 9

Źródło: Opracowanie własne.

Tabela A.28. Wynik analizy grup dla klientów bez karty Klubu Konesera i koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 288 Ilo ść reguł asocjacyjnych: 31 Minimalne wsparcie: 10% Minimalna ufno ść: 70% Reguła Ufno ść owoce luzem, drób_ podroby drob. warzywa luzem 0,84 3 sery żółte, owoce luzem, warzywa paczkowane warzywa luzem 0,835 owoce luzem, warzywa paczkowane warzywa luzem 0,809 owoce luzem, masło warzywa luzem 0,809 owoce luzem, sery białe warzywa luzem 0,796 owoce luzem, jaja warzywa luzem 0,794 owoce luzem, soki syr.nekt-karton warzywa luzem 0,7 77 owoce luzem, mleko śmietan.trwała warzywa luzem 0,776 owoce luzem, k.kredens w ędliny warzywa luzem 0,776 sery żółte, owoce luzem warzywa luzem 0,767 owoce luzem, chleb (bochenek) warzywa luzem 0,767 warzywa paczkowane, masło warzywa luzem 0,766 owoce luzem, sery twaro żkowe warzywa luzem 0,766 owoce luzem, jogurty warzywa luzem 0,763 warzywa paczkowane, sery białe warzywa luzem 0,762 warzywa paczkowane, jogurty warzywa luzem 0,756 owoce luzem, wody mineralne nieg. warzywa luzem 0,7 54 warzywa paczkowane, sery twaro żkowe warzywa luzem 0,75 mleko śmietan.trwała, warzywa paczkowane warzywa luzem 0,7 48 sery żółte, warzywa paczkowane warzywa luzem 0,747 owoce luzem, napoje butelka warzywa luzem 0,744 warzywa luzem, jogurty owoce luzem 0,736 warzywa luzem, chleb (bochenek) owoce luzem 0,733 sery żółte, drób_ podroby drob. warzywa luzem 0,729 owoce luzem warzywa luzem 0,726 warzywa luzem, k.kredens w ędliny owoce luzem 0,714 warzywa paczkowane, napoje butelka warzywa luzem 0, 709 warzywa luzem, mleko śmietan.trwała owoce luzem 0,706 warzywa paczkowane warzywa luzem 0,706 warzywa luzem, wody mineralne nieg. owoce luzem 0,7 03 warzywa luzem, sery twaro żkowe owoce luzem 0,702

Źródło: Opracowanie własne.

Tabela A.29. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 506 Ilo ść reguł asocjacyjnych: 60 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść baton m.f.twix 51g+20% gratis in-out bułka extra sz t 1 napoj muller mleczny 400ml czekolada bułka extra sz t 1 surowka los paprikos kg grzeskowiak chleb na wage k g 1 ciastko hiestan ró żne smaki po szwaj 110 chleb na wage kg 1

surowka bulgarska kg grzeskowiak bagietka masłem czosnkowym 175g hiestand 1

nalesniki lasagne kg krzys catering6 bagietka masłem czosnkowym 175g hiestand 1

jogurt zott jogobella 150g standart filet z kurczak a świe ży 1 pietruszka kg cytryna kg 1 czosnek młody szt cytryna kg 1 musztarda kamis sarepska 185g kiełbasa z grilla 1 chipsy lays zielona cebulka 90g pap viceroy class r ed fil bat 1 magia gwiazd in 255106 kolp maca kupiec 160g razo wa 1 baton m.f.twix 51g+20% gratis in-out pol ędwica sopocka mysław 1

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 101 −

− 101 −

napoj muller mleczny 400ml czekolada pol ędwica sopocka mysław 1

dropsy storck ice fresh 50g -p wafel nestle princessa mleczna 37g -p 1

baton c.w. pawelek orzechowy 45g pap davidoff gold 1 twarog piatnica 250g tlusty śmietana gomi 250g 18% 1

mini bagietka 80g wafel nestle princessa orzech.49g maxi 1

mak.knorr z sos serek pi ątnica wiejski 150g lekki 1

schab pieczony domowy unimi ęs platki nestle chocapic 250g -p 1

platki nestle cheerios wielozboz 250 -p platki nestle chocapic 250g -p 1

chleb żytni z litwy kg assan pietruszka natka p ęczek szt 1 kiełbasa od wójta parówki panie ńskie wieprzowo 1

baton nestle fitness z czekolad ą 23_5g makar.knorr sos my śliws.g.kubek xxl 50g 1

serek bakoma bakus 80g waniliowy -p jogurt bakoma kremowy 150g kokos-migd-p 1

napoj mleczny muller 400ml wanilia-p jogurt bakoma kremowy 150g kokos-migd-p 1

pietruszka kg burak kg 1

napoj muller mleczny 400ml czekolada baton m.f.twix 51g+20% gratis in-out 1

bułka extra szt, woda nes.wat. naleczowianka 1.50l gaz pol ędwica sopocka mysław 1 woda nes.wat. naleczowianka 1.50l gaz, pol ędwica sopocka mysław bułka extra szt 1

Źródło: Opracowanie własne.

Tabela A.30. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem od 50 zł do 100 zł Ilo ść zbiorów kandyduj ących: 201 Ilo ść reguł asocjacyjnych: 1 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg pietruszka kg 0,724

Źródło: Opracowanie własne.

Tabela A.31. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 236 Ilo ść reguł asocjacyjnych: 17 Minimalne wsparcie: 3% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg, por szt pietruszka kg 0,957 marchew kg, seler kg pietruszka kg 0,903 marchew kg, pietruszka kg, por szt seler kg 0,898 seler kg, por szt pietruszka kg 0,885 marchew kg, por szt pietruszka kg 0,875 pietruszka kg, por szt seler kg 0,871 seler kg pietruszka kg 0,821 marchew kg, por szt seler kg 0,821 pietruszka kg, seler kg, por szt marchew kg 0,815 pietruszka kg, por szt marchew kg 0,79 marchew kg, por szt pietruszka kg, seler kg 0,786 pietruszka kg, seler kg marchew kg 0,764 seler kg, por szt marchew kg 0,754 pietruszka kg marchew kg 0,731 seler kg, por szt marchew kg, pietruszka kg 0,721 marchew kg, pietruszka kg seler kg 0,718 pietruszka kg, por szt marchew kg, seler kg 0,71

Źródło: Opracowanie własne.

Tabela A.32. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 214 Ilo ść reguł asocjacyjnych: 2 Minimalne wsparcie: 8% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg pietruszka kg 0,919 seler kg pietruszka kg 0,852

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 102 −

− 102 −

Tabela A.33. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 120 Ilo ść reguł asocjacyjnych: 3 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść piwo carlsberg harnas 0.50 butelka butelka piwo ok ocim 0.5 1 piwo carlsberg piast mocne 0.5l butelka butelka pi wo okocim 0.5 1 piwo kompa. lech premium 0.50 but. butelka piwo kom pania tyska 0.5 1

Źródło: Opracowanie własne.

Tabela A.34. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem od 20 zł do 50 zł Ilo ść zbiorów kandyduj ących: 233 Ilo ść reguł asocjacyjnych: 1 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść seler kg pietruszka kg 0,786

Źródło: Opracowanie własne.

Tabela A.35. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem od 50 zł do 100 zł Ilo ść zbiorów kandyduj ących: 223 Ilo ść reguł asocjacyjnych: 2 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg pietruszka kg 0,914 seler kg pietruszka kg 0,767

Źródło: Opracowanie własne.

Tabela A.36. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem od 100 zł do 200 zł

Ilo ść zbiorów kandyduj ących: 209 Ilo ść reguł asocjacyjnych: 2 Minimalne wsparcie: 3% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg pietruszka kg 0,839 seler kg pietruszka kg 0,76

Źródło: Opracowanie własne.

Tabela A.37. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 215 Ilo ść reguł asocjacyjnych: 12 Minimalne wsparcie: 8% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg, por szt pietruszka kg 0,949 seler kg, por szt pietruszka kg 0,942 marchew kg, seler kg pietruszka kg 0,905 marchew kg, por szt pietruszka kg 0,833 seler kg pietruszka kg 0,826 pietruszka kg, seler kg, por szt marchew kg 0,755 seler kg, por szt marchew kg 0,75 pietruszka kg, por szt marchew kg 0,746 marchew kg, pietruszka kg, por szt seler kg 0,74 pietruszka kg, por szt seler kg 0,731 seler kg, por szt marchew kg, pietruszka kg 0,712 pietruszka kg, seler kg marchew kg 0,705

Źródło: Opracowanie własne.

Tabela A.38. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 60 Ilo ść reguł asocjacyjnych: 12 Minimalne wsparcie: 5% Minimalna ufno ść: 70% Reguła Ufno ść pap rgd sea phm bułka szt 1 jogurt zott jogobella maxi 500g standart chalwa odr a sezam 1 ciastko hiestand pizzerina z bekonem130g chalwa odr a sezam 1 ciastko hiestand p ączek 60g pizzerinka szt kubiak szpinak 1

ananas kostka 567g k.parowki z indyka z serem 215g indyk-p 1

jogurt zott jogobella maxi 500g standart ciastko hiestand pizzerina z bekonem130g 1

ciastko hiestand pizzerina z bekonem130g jogurt zott jogobella maxi 500g standart 1

jogurt zott jogobella maxi 500g standart chalwa odr a sezam, ciastko hiestand 1

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 103 −

− 103 −

pizzerina z bekonem130g chalwa odra sezam, jogurt zott jogobella maxi 500g standart

ciastko hiestand pizzerina z bekonem130g 1

ciastko hiestand pizzerina z bekonem130g chalwa odra sezam, jogurt zott jogobella maxi 500g standart 1

chalwa odra sezam, ciastko hiestand pizzerina z bekonem130g

jogurt zott jogobella maxi 500g standart 1

jogurt zott jogobella maxi 500g standart, ciastko hiestand pizzerina z bekonem130g chalwa odra sezam 1

Źródło: Opracowanie własne.

Tabela A.39. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem od 20 zł do 50 zł Ilo ść zbiorów kandyduj ących: 452 Ilo ść reguł asocjacyjnych: 65 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść rze żucha bio pak 150 g chleb na wage kg 1 croissant standard 60g hiestand chleb na wage kg 1 parówki kawalerskie traktowane dymem bagietka 220g hiestand 1

ser hochland top.pl.150g papryka -p chleb żytni na li ściu chrzanu kg assa 1

baton wawel adas 42g bułka szt 1 cebula młoda obierana kg pomidor kg 1 ser tenerella 600g -p mandarynka przecena kg 1 oselka sobik mini 100g -p mandarynka przecena kg 1 maslo milandia 200g extra -p mandarynka przecena kg 1 oselka sobik mini 100g -p papryka pr zecena kg 1 jabłko luz kg papryka przecena kg 1

oliwa salvadori sansa 1l ćwiartka z kurczaka świe ża 1

napoj coca sprite 1.00l pet 2695 napoj coca cola 1.00l pet 4421 1

oliwa salvadori sansa 1l winogrono białe kg 1

margaryna kruszwica 500g smakowita k.kabanos wp.extra tarczy ński 1

winogrono przecena kg banan przecena kg 1 seler kg pietruszka kg 1

napoj tymbark caprio plus r.grapefr.2l napoj coca cola 2x2.00l pet 1

napoj tymbark caprio plus pomarancz 2l napoj coca cola 2x2.00l pet 1

napoj coca cola zero 1.00l limonka kg 1 cebula młoda obierana kg śliwka biała 1

salceson szwole żerów kiełbasa od władka z liszek 1

majonez hellmans oryginalny 650ml -p jabłko pakowa ne 2 kg 1

czek.kraft alpen pelnoml.200g -p cukierki perf. alpenliebe caramel 28g -p 1

piwo heineken zywiec full 0.5 but. butelka piwo zywiec_ eb 0.5 1

torba duza foliowa z logo alma auto swiat in.33071x kolp 1

auto swiat in.33071x kolp torba duza foliowa z logo alma 1

sok agn. fortuna multiwitamina pomar.1l baton hero corny big orzechowy 50g 1

baton hero corny big orzechowy 50g sok agn. fortuna multiwitamina pomar.1l 1

napoj tymbark caprio plus r.grapefr.2l napoj tymbark caprio plus pomarancz 2l 1

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 104 −

− 104 −

Tabela A.40. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem od 50 zł do 100 zł Ilo ść zbiorów kandyduj ących: 300 Ilo ść reguł asocjacyjnych: 5 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, por szt pietruszka kg 1 pietruszka kg, por szt marchew kg 1 boczek artyleryjski chleb na wage kg 0,8 pietruszka kg, cebula kg marchew kg 0,8 burak kg pietruszka kg 0,714

Źródło: Opracowanie własne.

Tabela A.41. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 274 Ilo ść reguł asocjacyjnych: 8 Minimalne wsparcie: 3% Minimalna ufno ść: 70% Reguła Ufno ść bagietka 220g hiestand, pietruszka kg marchew kg 1 marchew kg, seler kg pietruszka kg 0,917 bagietka 220g hiestand, marchew kg pietruszka kg 0, 875 seler kg pietruszka kg 0,824 pietruszka kg marchew kg 0,821 pietruszka kg, seler kg marchew kg 0,786 seler kg marchew kg 0,706 szynka te ściowej morliny kark b 0,7

Źródło: Opracowanie własne.

Tabela A.42. Wynik analizy kodów dla klientów z kartą Klubu Konesera i koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 213 Ilo ść reguł asocjacyjnych: 13 Minimalne wsparcie: 8% Minimalna ufno ść: 70% Reguła Ufno ść cytryna kg, seler kg pietruszka kg 1 marchew kg, seler kg pietruszka kg 0,92 seler kg pietruszka kg 0,865 bagietka 220g hiestand, pietruszka kg marchew kg 0, 842 pietruszka kg, por szt marchew kg 0,824 cytryna kg, pietruszka kg marchew kg 0,778 cytryna kg, pietruszka kg seler kg 0,778 bagietka 220g hiestand, marchew kg pietruszka kg 0, 762 pietruszka kg marchew kg 0,746 cytryna kg, marchew kg pietruszka kg 0,737 marchew kg, por szt pietruszka kg 0,737 chleb żytni z litwy kg assan chleb na wage kg 0,72 pietruszka kg, seler kg marchew kg 0,719

Źródło: Opracowanie własne.

Tabela A.43. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 165 Ilo ść reguł asocjacyjnych: 2 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść piwo carlsberg harnas 0.50 butelka butelka piwo ok ocim 0.5 1 piwo carlsberg piast mocne 0.5l butelka butelka pi wo okocim 0.5 1

Źródło: Opracowanie własne.

Tabela A.44. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem od 50 zł do 100 zł Ilo ść zbiorów kandyduj ących: 229 Ilo ść reguł asocjacyjnych: 5 Minimalne wsparcie: 1% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg pietruszka kg 1 bagietka z maslem ziolowym sinnack bagietka z masl em czosnkowym sinnack 0,833 pietruszka kg, seler kg marchew kg 0,789 seler kg pietruszka kg 0,731 pietruszka kg marchew kg 0,703

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 105 −

− 105 −

Tabela A.45. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem od 100 zł do 200 zł

Ilo ść zbiorów kandyduj ących: 200 Ilo ść reguł asocjacyjnych: 2 Minimalne wsparcie: 3% Minimalna ufno ść: 70% Reguła Ufno ść marchew kg, seler kg pietruszka kg 1 seler kg pietruszka kg 0,722

Źródło: Opracowanie własne.

Tabela A.46. Wynik analizy kodów dla klientów bez karty Klubu Konesera i koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 209 Ilo ść reguł asocjacyjnych: 16 Minimalne wsparcie: 8% Minimalna ufno ść: 70% Reguła Ufno ść seler kg, por szt pietruszka kg 0,938 marchew kg, seler kg pietruszka kg 0,929 marchew kg, pietruszka kg, por szt seler kg 0,923 marchew kg, seler kg, por szt pietruszka kg 0,923 pietruszka kg, por szt seler kg 0,882 seler kg pietruszka kg 0,875 seler kg, por szt marchew kg 0,812 pietruszka kg, seler kg, por szt marchew kg 0,8 pietruszka kg, por szt marchew kg 0,765 filet z kurczaka świe ży, pietruszka kg marchew kg 0,75 seler kg, por szt marchew kg, pietruszka kg 0,75 pietruszka kg, seler kg marchew kg 0,743 pietruszka kg marchew kg 0,724 filet z kurczaka świe ży, marchew kg pietruszka kg 0,706 pietruszka kg, por szt marchew kg, seler kg 0,706 seler kg marchew kg 0,7

Źródło: Opracowanie własne.

Tabela A.47. Wynik analizy kodów dla klientów Almy24 z koszykiem do 20 zł Ilo ść zbiorów kandyduj ących: 220 Ilo ść reguł asocjacyjnych: 39 Minimalne wsparcie: 3% Minimalna ufno ść: 80% Reguła Ufno ść cebula kg pomidor kg 1 por szt ziemniak kg 1 masło hajnówka 200g extra cytryna kg 1 chleb wieloziarnisty hiestand 350g pietruszka kg 1 chleb wieloziarnisty hiestand 350g marchew kg 1 ziemniak kg, jogurt danone kremowy 120g biszkopt filet z kurczaka świe ży 1 filet z kurczaka świe ży, pietruszka kg marchew kg 1 filet z kurczaka świe ży, marchew kg pietruszka kg 1 banan chiquita kg, cebula kg pomidor kg 1 ziemniak kg, skrzydła z kurczaka pietruszka kg 1 pietruszka kg, skrzydła z kurczaka ziemniak kg 1 ziemniak kg, seler kg pietruszka kg 1 ziemniak kg, skrzydła z kurczaka marchew kg 1 marchew kg, skrzydła z kurczaka ziemniak kg 1 pietruszka kg, skrzydła z kurczaka marchew kg 1 marchew kg, skrzydła z kurczaka pietruszka kg 1 marchew kg, seler kg pietruszka kg 1 pietruszka kg, schab b marchew kg 1 marchew kg, schab b pietruszka kg 1 chleb wieloziarnisty hiestand 350g pietruszka kg, m archew kg 1 pietruszka kg, chleb wieloziarnisty hiestand 350g marchew kg 1 marchew kg, chleb wieloziarnisty hiestand 350g piet ruszka kg 1 ziemniak kg, skrzydła z kurczaka pietruszka kg, mar chew kg 1 pietruszka kg, skrzydła z kurczaka ziemniak kg, mar chew kg 1 ziemniak kg, pietruszka kg, skrzydła z kurczaka mar chew kg 1 marchew kg, skrzydła z kurczaka ziemniak kg, pietru szka kg 1 ziemniak kg, marchew kg, skrzydła z kurczaka pietru szka kg 1 pietruszka kg, marchew kg, skrzydła z kurczaka ziem niak kg 1

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 106 −

− 106 −

ziemniak kg, marchew kg, seler kg pietruszka kg 1 seler kg pietruszka kg 0,833 jogurt danone kremowy 120g biszkopt filet z kurczak a świe ży 0,8

Źródło: Opracowanie własne.

Tabela A.48. Wynik analizy kodów dla klientów Almy24 z koszykiem od 20 zł do 50 zł Ilo ść zbiorów kandyduj ących: 64 Ilo ść reguł asocjacyjnych: 6 Minimalne wsparcie: 5% Minimalna ufno ść: 80% Reguła Ufno ść napoj tymbark owoce swiata banan 1 l mleko grajewo 2% 1l łaciate 1 woda nes.wat. aquarel 0.5l ngaz woda cisowianka 1.5 l n 1 woda cisowianka 1.5l n woda nes.wat. aquarel 0.5l n gaz 1 schab b, szynka babuni extra sokołów vac filet świe ży z indyka 1 schab b, filet świe ży z indyka szynka babuni extra sokołów vac 1 szynka babuni extra sokołów vac, filet świe ży z indyka schab b 1

Źródło: Opracowanie własne.

Tabela A.49. Wynik analizy kodów dla klientów Almy24 z koszykiem od 50 zł do 100 zł Ilo ść zbiorów kandyduj ących: 132 Ilo ść reguł asocjacyjnych: 45 Minimalne wsparcie: 8% Minimalna ufno ść: 80% Reguła Ufno ść usługa transportowa 2, pomara ńcza kg, mandarynka kg grapefruit czerwony kg 1 jabłko kg, pomara ńcza kg, mandarynka kg grapefruit czerwony kg 1 jabłko kg, mandarynka kg, grapefruit czerwony kg pomara ńcza kg 1 banan chiquita kg, mandarynka kg, grapefruit czerwony kg pomara ńcza kg 1 jabłko kg, banan chiquita kg, pomara ńcza kg, mandarynka kg grapefruit czerwony kg 1 jabłko kg, banan chiquita kg, mandarynka kg, grapefruit czerwony kg pomara ńcza kg 1 jabłko kg, pomara ńcza kg grapefruit czerwony kg 0,933 jabłko kg, grapefruit czerwony kg pomara ńcza kg 0,933 pomara ńcza kg, mandarynka kg grapefruit czerwony kg 0,929 usługa transportowa 2, jabłko kg, pomara ńcza kg grapefruit czerwony kg 0,909 usługa transportowa 2, jabłko kg, grapefruit czerwony kg pomara ńcza kg 0,909 usługa transportowa 2, banan chiquita kg, pomara ńcza kg grapefruit czerwony kg 0,909 banan chiquita kg, pomara ńcza kg, mandarynka kg grapefruit czerwony kg 0,909 jabłko kg, banan chiquita kg, pomara ńcza kg grapefruit czerwony kg 0,9 jabłko kg, banan chiquita kg, grapefruit czerwony kg pomara ńcza kg 0,9 usługa transportowa 2, jabłko kg, banan chiquita kg pomara ńcza kg 0,889 usługa transportowa 2, jabłko kg, banan chiquita kg grapefruit czerwony kg 0,889 jabłko kg, banan chiquita kg, mandarynka kg pomara ńcza kg 0,889 jabłko kg, banan chiquita kg, mandarynka kg grapefr uit czerwony kg 0,889

jabłko kg, banan chiquita kg, mandarynka kg pomara ńcza kg, grapefruit czerwony kg 0,889

jabłko kg, banan chiquita kg, pomara ńcza kg, grapefruit czerwony kg mandarynka kg 0,889 banan chiquita kg, pomara ńcza kg grapefruit czerwony kg 0,867 banan chiquita kg, grapefruit czerwony kg pomara ńcza kg 0,867 mandarynka kg, grapefruit czerwony kg pomara ńcza kg 0,867 banan chiquita kg, mandarynka kg pomara ńcza kg 0,846 usługa transportowa 2, mandarynka kg grapefruit cze rwony kg 0,833 usługa transportowa 2, banan chiquita kg, grapefruit czerwony kg pomara ńcza kg 0,833 usługa transportowa 2, pomara ńcza kg grapefruit czerwony kg 0,812 pietruszka kg marchew kg 0,8 banan chiquita kg, grapefruit czerwony kg usługa tr ansportowa 2 0,8

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 107 −

− 107 −

Tabela A.50. Wynik analizy kodów dla klientów Almy24 z koszykiem od 100 zł do 200 zł Ilo ść zbiorów kandyduj ących: 733 Ilo ść reguł asocjacyjnych: 17 Minimalne wsparcie: 1% Minimalna ufno ść: 80% Reguła Ufno ść

piwo heineken zywiec full 0.5 but. butelka piwo zywiec_ eb 0.5 1

cebula kg, pietruszka kg marchew kg 1 cebula kg, pietruszka kg, seler kg marchew kg 1 seler kg, por szt pietruszka kg 0,952 ziemniak kg, pietruszka kg marchew kg 0,895 cebula kg, seler kg marchew kg 0,885 jabłko kg, pietruszka kg marchew kg 0,88 pomidor kg, seler kg pietruszka kg 0,87 marchew kg, por szt pietruszka kg 0,87 pomidor kg, pietruszka kg marchew kg 0,838 pietruszka kg marchew kg 0,818 marchew kg, seler kg pietruszka kg 0,818 banan chiquita kg, pietruszka kg marchew kg 0,815 pietruszka kg, seler kg marchew kg 0,806 cytryna kg, pietruszka kg marchew kg 0,8 pietruszka kg, por szt marchew kg 0,8 pietruszka kg, por szt seler kg 0,8

Źródło: Opracowanie własne.

Tabela A.51. Wynik analizy kodów dla klientów Almy24 z koszykiem powyżej 200 zł Ilo ść zbiorów kandyduj ących: 503 Ilo ść reguł asocjacyjnych: 7 Minimalne wsparcie: 2% Minimalna ufno ść: 80% Reguła Ufno ść marchew kg, seler kg pietruszka kg 0,882 mandarynka kg, pietruszka kg marchew kg 0,871 cebula kg, seler kg pietruszka kg 0,861 pomidor kg, seler kg pietruszka kg 0,846 cytryna kg, pietruszka kg marchew kg 0,811 banan chiquita kg, seler kg pietruszka kg 0,806 cebula kg, pietruszka kg marchew kg 0,8

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 108 −

− 108 −

B. Dodatek – kody źródłowe najważniejszych funkcji programu DM Cafe

Schemat B.1. Funkcja importu kodów towarowych do bazy danych

Func kody($sciezka, $plikK) ;~ informacje odnosnie bazy danych Local $uzytkownik = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"uzytkownik", "root") Local $haslo = _StringEncrypt(0, IniRead(@ScriptDi r & "\ustawienia\setting.ini",

"Baza", "haslo", ""), "rulesDA", 3) Local $bazaDanych = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"nazwabazy", "alma") Local $MySQLNazwaSerwera = IniRead(@ScriptDir & "\ ustawienia\setting.ini", "Baza",

"adresserwera", "localhost") Local $nazwaTabeli = "kartotekatowarowa" ;~ ------------------------- Local $kod, $cenaDetal, $nazwa, $import, $grupa, $ zapytanie Local $l, $lk SplashTextOn("Przetwarzanie", "Trwa import kartote ki towarowej." & @CRLF & "Prosz ę

czeka ć...", 300, 60) ;~ polaczenie z baza danych $SQLPolaczenie = _MySQLConnect($uzytkownik, $haslo , $bazaDanych, $MySQLNazwaSerwera) $plik = FileOpen($plikK, 0) Local $tab1[1], $tab2[1] _FileReadToArray(@ScriptDir & "\tab1.txt", $tab1) _FileReadToArray(@ScriptDir & "\tab2.txt", $tab2) $l = 1 $lk = 1 $zapytanie = "" Local $linia Local $tempL[1], $tempL2[1] ;~ petla przetwarzajaca plik z kartoteka While 1 $linia = FileReadLine($plik) If @error Then ExitLoop $import = "N" $kod = StringReplace(StringMid($linia, 1, 13), " ", "") If StringRegExp($kod, '^[0-9]+$') Then $cenaDetal = Number(StringReplace(StringMid($lin ia, 15, 8), ",", "")) $grupa = StringMid($linia, 89, 6) $linia = FileReadLine($plik) $tempL = StringSplit($linia, "/") $nazwa = StringReplace(usunspacje(zamienTekst(St ringMid($tempL[1], 3),

$tab1, $tab2)), "'", "\'") $linia = FileReadLine($plik) $tempL2 = StringSplit(StringMid($linia,13), ",") For $y = 1 To UBound($tempL2) - 1 If $tempL2[$y] = "IMPORTOWANY" Then $import = "T" EndIf Next $linia = FileReadLine($plik) $zapytanie = $zapytanie & "('', '" & $kod & "'," & $cenaDetal & ", '" &

$nazwa & "', '" & $import & "', " & $grupa & ")," & @CRLF If $l > 1000 Then $SQLCode = "INSERT INTO `" & $nazwaTabeli & "` (`IdKartoteki`,

`Kod`, `CenaDetal`, `Nazwa`, `Import`, `Grupa`) VAL UES " & StringMid($zapytanie, 1, StringLen($zapytanie) - 3) & ";"

_Query($SQLPolaczenie, $SQLCode) $zapytanie = "" $l = 0 EndIf $l += 1 $lk += 1 EndIf WEnd If $zapytanie <> "" Then $SQLCode = "INSERT INTO `" & $nazwaTabeli & "` (` IdKartoteki`, `Kod`,

`CenaDetal`, `Nazwa`, `Import`, `Grupa`) VALUES " & StringMid($zapytanie, 1, StringLen($zapytanie) - 3) & ";"

_Query($SQLPolaczenie, $SQLCode) EndIf ;~ koniec petli _MySQLEnd ($SQLPolaczenie) ;~ koniec polaczenia z baza danych

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 109 −

− 109 −

FileClose($plik) ;~ zamkniecie pliku z kartoteka SplashOff() EndFunc

Źródło: Opracowanie własne.

Schemat B.2. Funkcja importu grup towarowych do bazy danych

Func grupy($sciezka, $plikK) Local $uzytkownik = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"uzytkownik", "root") Local $haslo = _StringEncrypt(0, IniRead(@ScriptDi r & "\ustawienia\setting.ini",

"Baza", "haslo", ""), "rulesDA", 3) Local $bazaDanych = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"nazwabazy", "alma") Local $MySQLNazwaSerwera = IniRead(@ScriptDir & "\ ustawienia\setting.ini", "Baza",

"adresserwera", "localhost") Local $TableName = "grupy" Local $dzial, $grupa, $stoisko, $nazwaGrupy, $zapy tanie Local $l SplashTextOn("Przetwarzanie", "Trwa import grup to warowych." & @CRLF & "Prosz ę

czeka ć...", 300, 60) $SQLInstance = _MySQLConnect ($uzytkownik, $haslo, $bazaDanych, $MySQLNazwaSerwera) $plik = FileOpen($plikK, 0) Local $tab1[1], $tab2[1] _FileReadToArray(@ScriptDir & "\tab1.txt", $tab1) _FileReadToArray(@ScriptDir & "\tab2.txt", $tab2) $l = 1 $zapytanie = "" While 1 Local $linia $linia = FileReadLine($plik) If @error Then ExitLoop $grupa = StringMid($linia, 1, 6) $dzial = StringMid($linia, 9, 3) $stoisko = StringReplace(StringMid($linia, 14, 2) , " ", "") $nazwaGrupy = usunspacje(zamienTekst(StringMid($l inia, 31), $tab1, $tab2)) $zapytanie = $zapytanie & "('', " & $grupa & "," & $dzial & ", '" & $stoisko &

"', '" & $nazwaGrupy & "')," & @CRLF If $l > 8000 Then $SQLCode = "INSERT INTO `" & $TableName & "` (`I dGrupy`, `Grupa`,

`Dzial`, `Stoisko`, `NazwaGrupy`) VALUES " & String Mid($zapytanie, 1, StringLen($zapytanie) - 3) & ";"

_Query($SQLInstance, $SQLCode) $zapytanie = "" $l = 1 EndIf WEnd $SQLCode = "INSERT INTO `" & $TableName & "` (`IdG rupy`, `Grupa`, `Dzial`, `Stoisko`,

`NazwaGrupy`) VALUES " & StringMid($zapytanie, 1, S tringLen($zapytanie) - 3) & ";" _Query($SQLInstance, $SQLCode) _MySQLEnd ($SQLInstance) FileClose($plik) SplashOff() EndFunc

Źródło: Opracowanie własne.

Schemat B.3. Funkcja importu działów do bazy danych

Func dzialy($sciezka, $plikK) Local $uzytkownik = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"uzytkownik", "root") Local $haslo = _StringEncrypt(0, IniRead(@ScriptDi r & "\ustawienia\setting.ini",

"Baza", "haslo", ""), "rulesDA", 3) Local $bazaDanych = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"nazwabazy", "alma") Local $MySQLNazwaSerwera = IniRead(@ScriptDir & "\ ustawienia\setting.ini", "Baza",

"adresserwera", "localhost") Local $TableName = "dzialy" Local $dzial, $nazwaDzialu, $zapytanie Local $l SplashTextOn("Przetwarzanie", "Trwa import działów towarowych." & @CRLF & "Prosz ę

czeka ć...", 300, 60) $SQLInstance = _MySQLConnect ($uzytkownik, $haslo, $bazaDanych, $MySQLNazwaSerwera)

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 110 −

− 110 −

$plik = FileOpen($plikK, 0) Local $tab1[1], $tab2[1] _FileReadToArray(@ScriptDir & "\tab1.txt", $tab1) _FileReadToArray(@ScriptDir & "\tab2.txt", $tab2) $l = 1 $zapytanie = "" While 1 Local $linia $linia = FileReadLine($plik) If @error Then ExitLoop $dzial = StringMid($linia, 1, 3) $nazwaDzialu = usunspacje(zamienTekst(StringMid($ linia, 5), $tab1, $tab2)) $zapytanie = $zapytanie & "('', " & $dzial & ", ' " & $nazwaDzialu & "')," &

@CRLF If $l > 8000 Then $SQLCode = "INSERT INTO `" & $TableName & "` (`I dDzialu`, `Dzial`,

`NazwaDzialu`) VALUES " & StringMid($zapytanie, 1, StringLen($zapytanie) - 3) & ";" _Query($SQLInstance, $SQLCode) $zapytanie = "" $l = 1 EndIf WEnd $SQLCode = "INSERT INTO `" & $TableName & "` (`IdD zialu`, `Dzial`, `NazwaDzialu`)

VALUES " & StringMid($zapytanie, 1, StringLen($zapy tanie) - 3) & ";" _Query($SQLInstance, $SQLCode) _MySQLEnd ($SQLInstance) FileClose($plik) SplashOff() EndFunc

Źródło: Opracowanie własne.

Schemat B.4. Funkcja importu stoisk do bazy danych

Func stoiska($sciezka, $plikK) Local $uzytkownik = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"uzytkownik", "root") Local $haslo = _StringEncrypt(0, IniRead(@ScriptDi r & "\ustawienia\setting.ini",

"Baza", "haslo", ""), "rulesDA", 3) Local $bazaDanych = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"nazwabazy", "alma") Local $MySQLNazwaSerwera = IniRead(@ScriptDir & "\ ustawienia\setting.ini", "Baza",

"adresserwera", "localhost") Local $TableName = "stoiska" Local $stoisko, $nazwaStoiska, $zapytanie Local $l SplashTextOn("Przetwarzanie", "Trwa import stoisk. " & @CRLF & "Prosz ę czeka ć...", 300,

60) $SQLInstance = _MySQLConnect ($uzytkownik, $haslo, $bazaDanych, $MySQLNazwaSerwera) $plik = FileOpen($plikK, 0) Local $tab1[1], $tab2[1] _FileReadToArray(@ScriptDir & "\tab1.txt", $tab1) _FileReadToArray(@ScriptDir & "\tab2.txt", $tab2) $l = 1 $zapytanie = "" While 1 Local $linia $linia = FileReadLine($plik) If @error Then ExitLoop $stoisko = StringReplace(StringMid($linia, 1, 2), " ", "") $nazwaStoiska = zamienTekst(StringMid($linia, 4), $tab1, $tab2) $zapytanie = $zapytanie & "('', '" & $stoisko & " ','" & $nazwaStoiska & "'),"

& @CRLF If $l > 8000 Then $SQLCode = "INSERT INTO `" & $TableName & "` (`I dStoiska`, `Stoisko`,

`NazwaStoiska`) VALUES " & StringMid($zapytanie, 1, StringLen($zapytanie) - 3) & ";" _Query($SQLInstance, $SQLCode) $zapytanie = "" $l = 1 EndIf WEnd $SQLCode = "INSERT INTO `" & $TableName & "` (`IdS toiska`, `Stoisko`, `NazwaStoiska`)

VALUES " & StringMid($zapytanie, 1, StringLen($zapy tanie) - 3) & ";" _Query($SQLInstance, $SQLCode)

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 111 −

− 111 −

_MySQLEnd ($SQLInstance) FileClose($plik) SplashOff() EndFunc

Źródło: Opracowanie własne.

Schemat B.5. Funkcja importu transakcji do bazy danych

Func transakcje($plikdo) Local $uzytkownik = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"uzytkownik", "root") Local $haslo = _StringEncrypt(0, IniRead(@ScriptDi r & "\ustawienia\setting.ini",

"Baza", "haslo", ""), "rulesDA", 3) Local $bazaDanych = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"nazwabazy", "alma") Local $MySQLNazwaSerwera = IniRead(@ScriptDir & "\ ustawienia\setting.ini", "Baza",

"adresserwera", "localhost") $SQLInstance = _MySQLConnect ($uzytkownik, $haslo, $bazaDanych, $MySQLNazwaSerwera) If @error Then Msgbox(0,"",@error) $godzina = "" $wartosc = 0 $towary = "" $licznik = 1 $licz = 1 $zmienna = "" $koniecZap = "" Local $tablTempK[1] If FileExists($plikdo) Then SplashTextOn("", "Aktualnie przetwarzany plik - " & $plikdo, 400, 100) $par = FileOpen($plikdo,0) $kod = "" ;~ petla przetwarzajaca transakcje While 1 $linia1 = FileReadLine($par) If @error = -1 then ExitLoop If $linia1 <> "[PARAGON]" Or $linia1 <> "" Then $paragony = StringSplit($linia1, "|", 1) $paragon_nowy = 1 EndIf ;~ informacje o transakcji If $paragony[1] = "TRN" Then $towary = $licznik $godzina = StringMid($paragony[6],9,2) & ":" &

StringMid($paragony[6],11,2) & ":00" $data = StringMid($paragony[6],1,4) & "-" &

StringMid($paragony[6],5,2) & "-" & StringMid($para gony[6],7,2) $karta = $paragony[5] $kasa = $paragony[3] If $karta = "" Then $karta = 0 EndIf $transakcja = $paragony[4] EndIf ;~ --------------- ;~ znacznik platnosci If $paragony[1] = "PLT" Then $paragon_nowy = 0 $ileznakow = StringLen($paragony[3]) If $ileznakow < 2 Then If $ileznakow = 1 Then $dzies = StringRight($paragony[3],2) $wartosc = Number("0.0" & $dzies) Else $dzies = StringRight($paragony[3],2) $wartosc = Number("0." & $dzies) EndIf Else $calosci = StringMid($paragony[3],1,$ileznakow -2) $dzies = StringRight($paragony[3],2) $wartosc = Number($calosci & "." & $dzies) EndIf EndIf ;~ --------------- ;~ pozycje paragonu

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 112 −

− 112 −

If $paragon_nowy = 1 Then If $paragony[1] = "POZ" Then $kod = $kod & ";" & $paragony[2] EndIf EndIf ;~ -------------- If $linia1 = "" Then ;~ identyfikacja koszykow Select Case $wartosc <= 20 $przedzial = 0 Case $wartosc > 20 And $wartosc <= 50 $przedzial = 20 Case $wartosc > 50 And $wartosc <= 100 $przedzial = 50 Case $wartosc > 100 And $wartosc <= 200 $przedzial = 100 Case $wartosc > 200 $przedzial = 200 EndSelect ;~ ---------------------- $tablTempK = StringSplit($kod, ";") $ilosctowarow = UBound($tablTempK) - 2 $tymZap = "('', " & $transakcja & ", '" & $data & "', '" &

$godzina & "', " & $kasa & ", " & $wartosc & ", " & $przedzial & ", " & $ilosctowarow & ", '" & $karta & "')"

$SQLCode = "INSERT INTO `transakcjekasowe` (`IdTransakcji`,`IdParagonu`, `Data`, `Godzina`, `N rKasy`, `WartPar`, `Przedzial`, `IloscTow`, `KartaLojal`) VALUES " & $tymZap & ";"

$nzwGr = _Query($SQLInstance, $SQLCode) $SQLCode = "SELECT `transakcjekasowe`.`IdTransa kcji` FROM

`transakcjekasowe` WHERE `transakcjekasowe`.`IdPara gonu` = " & $transakcja & ";" $nzwGr = _Query($SQLInstance, $SQLCode) With $nzwGr While Not .EOF $idTransakcji = .Fields("IdTransakcji").value .MoveNext WEnd EndWith $tymZap = "" For $xx = 2 To UBound($tablTempK) - 1 If $xx = UBound($tablTempK) - 1 Then $tymZap = $tymZap & "(" & $idTransakcji & ", '" &

$tablTempK[$xx] & "')" Else $tymZap = $tymZap & "(" & $idTransakcji & ", '" &

$tablTempK[$xx] & "'), " EndIf Next $kod = "" $liczP = 0 $SQLCode = "INSERT INTO `transakcjeinfododatkow e`

(`IdTransakcji`, `Kod`) VALUES " & $tymZap & ";" $nzwGr = _Query($SQLInstance, $SQLCode) If @error Then Msgbox(0,"",@error) EndIf WEnd ;~ koniec petli EndIf _MySQLEnd ($SQLInstance) ;~ koniec polaczenia z baza danych FileClose($plikdo) SplashOff() EndFunc

Źródło: Opracowanie własne.

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 113 −

− 113 −

Schemat B.6. Funkcja eksportu danych z bazy danych do pliku CSV

Func odczytzbazy($poziom, $sciezka, $plikNazwa, $SQ LCode) ;~ deklaracja zmiennych Local $NameList Local $uzytkownik = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"uzytkownik", "root") Local $haslo = _StringEncrypt(0, IniRead(@ScriptDi r & "\ustawienia\setting.ini",

"Baza", "haslo", ""), "rulesDA", 3) Local $bazaDanych = IniRead(@ScriptDir & "\ustawie nia\setting.ini", "Baza",

"nazwabazy", "alma") Local $MySQLNazwaSerwera = IniRead(@ScriptDir & "\ ustawienia\setting.ini", "Baza",

"adresserwera", "localhost") ;~ polaczenie z baza danych $SQLInstance = _MySQLConnect ($uzytkownik, $haslo, $bazaDanych, $MySQLNazwaSerwera) If @error Then Msgbox(0,"",@error) $towary = "" $licznik = 1 $licz = 1 $zmienna = "" $koniecZap = "" $plikNazwa = "poziom" & $poziom & "_" & $plikNazw a SplashTextOn("", "Trwa wczytywanie danych z bazy", 400, 90) ;~ zapytanie do bazy $nzwGr = _Query($SQLInstance, $SQLCode) If @error Then Msgbox(0,"",@error) If Not @error Then $grupy = "" $idTrOld = $nzwGr.Fields("IdTransakcji").value $lz = 1 $zmienna = "" $liczP = 0 $llSplash = 1 SplashTextOn("", "Aktualnie przetwarzana linia: " & $llSplash, 400, 90) Select Case $poziom = 1 $poziomNazwa = "NazwaStoiska" Case $poziom = 2 $poziomNazwa = "NazwaDzialu" Case $poziom = 3 $poziomNazwa = "NazwaGrupy" Case $poziom = 4 $poziomNazwa = "Nazwa" EndSelect FileWrite($sciezka & "wyjscie_" & $plikNazwa & ". csv", "id,label,produkty" &

@CRLF) ;~ petla po wszystkich elementach zapytania With $nzwGr While Not .EOF ;~ odczyt elementu do zapisu do plik, np. nazwy towaru, nazwy

grupy, itd. $grupSpr = .Fields($poziomNazwa).value $idTranszy = .Fields("IdTransakcji").value If $idTrOld <> $idTranszy Then For $pp = 0 To $liczP $zmienna = $zmienna & $licznik & ",koszyk," &

$grupy & @CRLF $licznik += 1 Next If $lz > 2000 Then ;~ zapis do pliku FileWrite($sciezka & "wyjscie_" & $plikNazwa &

".csv", $zmienna) SplashTextOn("", "Aktualnie przetwarzana lini a: "

& $llSplash, 400, 90) $zmienna = "" $lz = 0 EndIf $lz += 1 $liczP = 0 $grupy = "" EndIf StringReplace($grupy, $grupSpr, "") If @extended = 0 Then If $grupy = "" Then $grupy = .Fields($poziomNazwa).value

Modelowanie wzorców zachowań klientów Delikatesów Alma przy wykorzystaniu reguł asocjacyjnych − 114 −

− 114 −

Else $grupy = $grupy & ";" &

.Fields($poziomNazwa).value EndIf Else $liczP = 0 EndIf $idTrOld = $idTranszy $llSPlash += 1 .MoveNext WEnd ;~ koniec petli EndWith EndIf For $pp = 0 To $liczP $zmienna = $zmienna & $licznik & ",koszyk," & $gr upy & @CRLF $licznik += 1 Next If $zmienna <> "" Then ;~ zapis do pliku FileWrite($sciezka & "wyjscie_" & $plikNazwa & ". csv", $zmienna) EndIf SplashOff() EndFunc

Źródło: Opracowanie własne.

Schemat B.7. Funkcja przetwarzajaca pliki wyjściowe z programu Rapid Miner

Func poanalizie($nazwaPliku) Local $plik[1] _FileReadToArray($nazwaPliku, $plik) If FileExists(StringReplace($nazwaPliku, ".txt", " _koniec.txt")) Then FileDelete(StringReplace($nazwaPliku, ".txt", "_k oniec.txt")) EndIf $start = 0 $licznik = 0 $zmienna = "" For $i = 1 To UBound($plik) - 1 If StringMid($plik[$i], 21) = "Association Rules" Then $start = 1 ElseIf StringMid($plik[$i], 21, 18) = "Frequent I tem Sets" Then ;~ zapis do pliku $iFreq = StringReplace(StringReplace(StringMid($ plik[$i], 41), ")",

""), ":", "") ;~ ilosc zbiorow kandydujacych FileWrite(StringReplace($nazwaPliku, ".txt", "_k oniec.txt"), "Ilo ść

zbiorów kandyduj ących: " & $iFreq & @CRLF) FileWrite(StringReplace($nazwaPliku, ".txt", "_k oniec.txt"), "Ilo ść

reguł asocjacyjnych: " & $licznik & @CRLF) FileWrite(StringReplace($nazwaPliku, ".txt", "_k oniec.txt"), $zmienna) ;~ --------------- ExitLoop ElseIf StringMid($plik[$i], 1) = "" Then $start = 0 EndIf If $start = 1 Then ;~ przetworzenie regul asocjacyjnych $liniaT = StringSplit(StringReplace(StringReplac e($plik[$i],

"produkty_", ""), " --> ", ">"), ">") If UBound($liniaT) > 2 Then $lewa = StringReplace(StringReplace($liniaT[1], "[", ""), "]",

"") $prawa =

StringReplace(StringReplace(StringReplace(StringRep lace($liniaT[UBound($liniaT) - 1], "[", ""), "]", ""), " (confidence: ", Chr(9)), ")", "")

$zmienna = $zmienna & $lewa & Chr(9) & $prawa & @CRLF $licznik += 1 EndIf ;~ --------------- EndIf Next EndFunc

Źródło: Opracowanie własne.