Upload
nguyenbao
View
235
Download
1
Embed Size (px)
Citation preview
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.