V této dokumentaci se pokusíme popsat postup, jakým jsme formulovali a řešili úlohu data miningu nad zadanými daty. Nejdříve popíšeme jakým způsobem jsme si připravili pracovní prostředí (nastavení databáze, softwaru...). V další kapitole si vysvětlíme, jak jsme stanovili úlohu a co je jejím cílem. Ve stejné kapitole je také popsáno, jak jsme si připravili data do vhodné podoby pro analýzu zvoleného problému. Dále vysvětlíme jakým způsobem jsme postupovali při formulování úlohy v systému LISP-miner a k jakým výsledkům jsme dospěli. Nakonec se pokusíme interpretovat vygenerované výstupy systému LISP-miner.
Abychom mohli začít pracovat na naší úloze, museli jsme nejdříve získat potřebná data a software.
Programové moduly systému LISP-miner jsme získaly z projektového disku předmětu "IZI491 - Informační inženýrství - seminář." Systém se skládá ze tří modulů:
Tyto moduly nevyžadují žádnou konfiguraci. Mimo projektového disku lze systém získat na Internetu na adrese: http://lisp.vse.cz/~xsimm16/lm/LISp-Miner.zip
Data, která jsme měli analyzovat, jsme dostali ve formě Access databáze "grocery.mdb". Pro využití v systému LISP-miner je zapotřebí, mimo vlastní databáze, mít připravenu databázi s metadaty v definované struktuře. Prázdnou databázi metadat ve formátu Access jsme získali z adresy: http://lisp.vse.cz/~xsimm16/lm/LMDBDemo.zip
Dále jsme vytvořily datový zdroj ODBC pro obě databáze. Datové zdroje se nastavují volbou v "Menu Start" OS Windows. Příslušná volba je "Start - Nastavení - Ovládací panely - ODBC data sources". Na záložce "Systémové DSN" (resp. "Uživatelské DSN") se nastavení provede volbou "Přidat". Je nutné vybrat správný formát databáze (Access), zadat vhodný název datového zdroje a nastavit cestu k databázovým souborům. My jsme zdroj metadat pojmenovali "Statit", a zdroj vlastních dat "Statit data". V databázi metat jsme provedli propojení se základními daty nastavením jména datového zdroje do položky "DSN" v tabulce "tpParamsDB .
Při spuštění libovolného z modulů systému LISP-miner je uživatel dotázán, s kterou databází chce pracovat. Zobrazí se mu seznam již použitých databází, ze kterého může vybrat nebo volbou "Other" zvolit jinou ještě nepoužitou.
Vzhledem k tomu, že jsme na naší úloze pracovali střídavě na mnoha počítačích, museli bychom veškerá uvedená nastavení provádět pokaždé znovu. Z tohoto důvodu jsme si připravili dávkový soubor, který provede nakopírování potřebných souborů do příslušných adresářů a pomocí úprav v registrech operačních systému vytvoří datové zdroje a přidá naši databázi do seznamu pro systém LISP-miner.
Zadaná data obsahují údaje o nákupech v provozovnách obchodního řetězce. Jsou k dispozici informace o obchodních domech, jejich umístnění (stát, město) a rozdělení na oddělení a pododdělení.
Dále jsou z databáze dostupné záznamy o jednotlivých druzích zboží. Jednotlivé artikly jsou rozděleny do skupin, z nichž každá se prodává v určitém oddělení. I tyto informace jsou dostupné. Mimo to je možné zjistit cenu výrobků.
Nejdůležitější jsou však údaje o zákaznících, je možné zjistit věk, pohlaví, bydliště a další údaje. Jsou zaznamenány všechny nákupy provedené klientem, a to velmi podrobně, až na úroveň kusů zboží a cen za jaké byly prodány.
Po seznámení se z daty jsme se pokusily vyjádřit problém, se kterým se může management obchodního řetězce potýkat. Cíl úlohy jsme specifikovali následovně:
Úloha má sloužit vedoucím pracovníkům, kteří chtějí ve svých obchodních domech zlepšit či změnit služby zákazníkům během dne, a to buď v konkrétní části dne nebo během dnů v týdnů. K tomu by měly posloužit informace týkající se tržeb a počtu zákazníků, kteří v daných dnech či v dané části dne.
Vzhledem k charakteru úlohy, je pro nás míra podrobnosti dat obsažená v databázi nadbytečná. Proto jsme se v rámci urychlení pozdějších analýz rozhodli záznamy agregovat.
S přihlédnutím k formulaci úlohy jsou pro nás nepodstatná data o struktuře nákupů (jaké zboží a kolik kusů). Zajímá nás jen počet nákupů (zákazníků) a celková cena nákupu, a to jen souhrnně po jednotlivých hodinách. Protože budeme zkoumat jen vliv dnů v týdnu na velikost tržby a budeme ignorovat roční dobu (resp. kalendářní měsíc), stačí nám získat agregovaná data za den v týdnu a hodinu. Na základě takto stanoveného požadavku na data jsme si připravili novou databázovou tabulku "nase."
CREATE TABLE nase
(
dvt SMALLINT,
hodina SMALLINT,
obchodak INTEGER,
zakaznici INTEGER,
trzba FLOAT,
prodej INTEGER
);
Do nově vytvořené tabulky jsme vložili agregovaná data pomocí SQL příkazu:
INSERT INTO NASE
SELECT
Weekday(txn_summary.sales_dte) AS dvt,
Hour(txn_summary.sales_time) AS hodina,
txn_summary.store_id AS obchodak,
count(txn_detail.txnd_id) AS zakaznici,
sum(txn_detail.amount) AS trzba
FROM
txn_summary,
txn_detail
WHERE
txn_summary.txn_id = txn_detail.txn_id
GROUP BY
Weekday(txn_summary.sales_dte),
Hour(txn_summary.sales_time),
txn_summary.store_id;
Uvedeným příkazem se nevyplní atribut "prodej". Ten by měl obsahovat ohodnocení prodeje v danou hodinu a den v týdnu. Toto ohodnocení jsme vyjádřili jako vztah tržby a počtu zákazníků (nákupů). Určili jsme čtyři úrovně "kvality" prodeje. Pro zařazení do jedné z kategorií jsme definovali omezení tak, že buď celkové tržby a nebo počet zákazníků musí přesáhnout určitou hranici relativní k maximální hodnotě ukazatele a zároveň oba ukazatele musí přesáhnout jinou (nižší) hranici. Hranice jsme určili následovně:
Úroveň | Popis ("kvalita" prodeje) | Alespoň jeden ukazatel musí přesáhnout ... z maxima | Oba ukazatele musí přesáhnout ... z maxima |
---|---|---|---|
1. | velmi dobrá | 2/3 | 1/2 |
2. | dobrá | 1/2 | 1/3 |
3. | dostatečný | 1/3 | 1/4 |
4. | nedostatečný | zbytek |
Úrovně prodeje jsme nastavily v databázi pomocí SQL příkazů sestavených podle uvedené tabulky. Na ukázku uvádíme příkaz pro nastavení úrovně jedna:
UPDATE nase
SET prodej = 1
WHERE
prodej = 0 AND
(zakazici > (SELECT max(zakaznici) FROM nase) * 2/3 OR
trzba > (SELECT MAX(trzba) FROM nase) * 2/3) AND
(zakazici > (SELECT max(zakaznici) FROM nase) / 2 AND
trzba > (SELECT max(trzba) FROM nase) / 2)
Následuje několik ukázkových záznamů ze vzniklé tabulky (matice):
dvt | hodina | obchodak | zakaznici | trzba | prodej |
---|---|---|---|---|---|
6 | 13 | 2 | 418 | 1 257,71 | 2 |
4 | 9 | 4 | 42 | 137,55 | 4 |
2 | 22 | 3 | 32 | 80,01 | 4 |
3 | 13 | 5 | 418 | 1 244,18 | 2 |
2 | 16 | 2 | 610 | 1 742,61 | 1 |
1 | 13 | 3 | 423 | 1 296,80 | 2 |
5 | 13 | 3 | 420 | 1 075,18 | 2 |
3 | 8 | 3 | 47 | 109,12 | 4 |
4 | 22 | 2 | 34 | 95,62 | 4 |
2 | 22 | 4 | 34 | 56,29 | 4 |
4 | 17 | 1 | 611 | 1 805,56 | 1 |
1 | 8 | 4 | 50 | 162,66 | 4 |
5 | 22 | 4 | 33 | 87,84 | 4 |
2 | 17 | 4 | 612 | 2 038,15 | 1 |
2 | 22 | 5 | 36 | 98,65 | 4 |
2 | 9 | 3 | 52 | 176,86 | 4 |
3 | 16 | 2 | 425 | 1 366,09 | 2 |
7 | 11 | 5 | 614 | 2 051,37 | 1 |
Nad vytvořenou tabulkou jsme pomocí modulu LMDataSource definovaly proměnné, které později využijeme při analýze jako položky antecedentu a succedentu.
Popis | Prodej | Trzba | Zakaznici |
---|---|---|---|
Velmi dobrý (-á) | 1 | (1985; ∞) | (556; ∞) |
Dobrá (-á) | 2 | (1488; 1985> | (417; 556> |
Dostatečný (-á) | 3 | (992; 1488> | (278; 417> |
Nedostatečný (-á) | 4 | <0; 992> | <0; 278> |
Na základě stanoveného cíle jsme formulovali dvě úlohy. Podrobněji rozebereme jejich formulaci a postup řešení v systému LISP-miner.
Management obchodní sítě řeší problém, jak a kolik zaměstnanců umístit v jednotlivých obchodních domech o víkendu a ve všední dny. Zaměstnance potřebuje podle počtu zákazníků rozdělit tak, že část jde na pokladnu a část se stará o doplnění zásob. Samozřejmě, že pokud je frekvence zákazníků vysoká, je potřeba velké množství zaměstnanců na pokladnu a pokud přijde málo zákazníků, pak je velký počet zaměstnanců na pokladnách zbytečný. Zaměstnanci u pokladen pak mohou být mnohem více prospěšní např. v doplňování zboží, menší počet zákazníků tak umožňuje operativnější přístup do regálů.
Tuto úlohu jsme rozdělili na dvě části, neboť bázi musíme s ohledem na rozdílný počet hodnot v kategoriích "vsedni den" (5 hodnot) a "vikend" (2) zvolit odlišnou.
Nejprve tedy management řeší problém, jak umístit pracovníky během pracovních dnů. Provedli jsme následující fundovanou implikaci:
Vsedni den - vikend (Vsedni den), Hodina(*) → Zakaznici(*) / Obchodak(*)
Tato úloha znamená, že hledáme všechny takové segmenty hodin všedních dnů a zákazníků, aby procento příznivých nákupů bylo vysoké, tj. aby v dané části dne provedlo nákup dost zákazníků. Pro management je také velice důležité vědět, ve kterém obchodním domě to bylo, proto jsme do dotazu přidali podmínku obchodního domu.
Velikost báze jsme postupně upravili na 12 záznamů. Původně jsme zvolili bázi vyšší, ale to vyšel počet hypotéz příliš malý, proto jsme velikost báze upravili na 12. Pravděpodobnost jsme postupně zvolili 60%, pro vyšší hodnotu už vycházel velmi malý počet hypotéz. V modulu 4ftTask jsme tedy provedli dotaz. Za 1 sekundu bylo vygenerováno 11 hypotéz. Pro doplnění uvádíme výstup, který nám byl poskytnut:
Task name: vsedni den-zakaznici Task description: + Date of output: 23.5.2001 Survey of antecedent quantities Name Description Hodina(*) - Vsedni den - vikend(Vsedni den) - Survey of succedent quantities Name Description Zakaznici(*) - Survey of condition quantities Name Description Obchodak(*) - Quantifier parameters: Founded Implication p = 0.60 Base = 12 Task parameters Length of antecedent: 0 - 99 Length of succedent: 1 - 99 Length of condition: 0 - 99 Include symetric hypotheses: Yes Include extensions of 100% implications (antecedent): Yes Include extensions of 100% implications (succedent): Yes Processing of missing information: Delete Total time: 0h 0m 1s Time spend by communication with ODBC: 0h 0m 0s Number of verifications: 192 Number of hypotheses: 11
V modulu 4ftResult tedy vyšlo 11 následujících hypotéz:
Nr. Hypothesis Prob 6 Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6800 5 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6571 8 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.6571 9 Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.6400 1 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) 0.6171 2 Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) 0.6160 4 Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(Beaverton) 0.6000 7 Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(Portland) 0.6000 10 Hodina(Vecer) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.6000 3 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Beaverton) 0.6000 11 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Lake Oswego) 0.6000
"Nejsilnější" a zřejmě i pro management nejzajímavější, by byla hypotéza č. 6 a proto ji rozebereme trochu podrobněji.
*** Hypothesis number: 6 Antecedent Hodina Dopoledne Vsedni den - Vsedni den Succedent Zakaznici Nedostatecny Condition Obchodak Vancouver Values from frequency table: a/(a+b) = 0.680000 (Prob, Validity) a/(a+b+c) = 0.354167 a/n = 0.163462 Weight = 0.680000 Frequency table Succedent NOT Succedent Antecedent 17 8 25 NOT Antecedent 23 56 79 40 64 104 Row percentage Succedent NOT Succedent Antecedent 68.00 32.00 100.00 NOT Antecedent 29.11 70.89 100.00 38.46 61.54 100.00 Column percentage Succedent NOT Succedent Antecedent 42.50 12.50 24.04 NOT Antecedent 57.50 87.50 75.96 100.00 100.00 100.00 Total percentage Succedent NOT Succedent Antecedent 16.35 7.69 24.04 NOT Antecedent 22.12 53.85 75.96 38.46 61.54 100.00
Z těchto výsledků plyne, že počet objektů, které splňují antecedent a succedent je 17, to znamená, že v dopoledních hodinách ve všední dny provedl nákup v obchodním domě ve městě Vancouver nedostatečný počet zákazníků. Celkový počet nákupů v dopoledních hodinách ve všední dny ve městě Vancouver je 25. Hodnota p je tedy 0,68. Jinými slovy to znamená, že dopolední hodiny ve všední dny ve městě Vancouver implikují na 68%, že počet zákazníků, kteří provedou v této době nákup, bude nedostatečný.
Pro management je také velice zajímavá hypotéza číslo 2, která udává, že pokud je dopoledne ve všední den, tak na 61,6% je počet zákazníků, kteří nakupují v obchodních domech v kterémkoliv z výše uvedených obchodních domů, nedostatečný. Pro názornost uvádíme opět výstup z modulu 4ftResult.
*** Hypothesis number: 2 Antecedent Hodina Dopoledne Vsedni den - Vsedni den Succedent Zakaznici Nedostatecny Values from frequency table: a/(a+b) = 0.616000 (Prob, Validity) a/(a+b+c) = 0.326271 a/n = 0.148077 Weight = 0.616000 Frequency table Succedent NOT Succedent Antecedent 77 48 125 NOT Antecedent 111 284 395 188 332 520 Row percentage Succedent NOT Succedent Antecedent 61.60 38.40 100.00 NOT Antecedent 28.10 71.90 100.00 36.15 63.85 100.00 Column percentage Succedent NOT Succedent Antecedent 40.96 14.46 24.04 NOT Antecedent 59.04 85.54 75.96 100.00 100.00 100.00
Třeba ještě uvést, že z výše uvedených hypotéz je zřejmé, že pokud je dopoledne ve všední den, tak je vždy v každém z obchodních domů alespoň na 60% počet zákazníků nedostatečný.
Další problém, který management řeší je, jak umístit pracovníky během víkendu. Opět jsme provedli fundovanou implikaci:
Vsedni den - vikend (Vikend), Hodina(*) → Zakaznici(*) / Obchodak(*)
Analogicky první části znamená tato úloha, že hledáme všechny takové segmenty hodin víkendů a zákazníků, aby procento příznivých nákupů bylo vysoké, tj. aby v dané části dne provedlo nákup dost zákazníků. I v tomto případě je pro management velice důležité vědět, ve kterém obchodním domě to bylo, proto je v dotazu opět podmínka obchodního domu.
Oproti první části je rozdíl ve velikosti báze. Počet hodnot v kategorii "vikend" je 2 (sobota a neděle), zatímco počet hodnot v kategorii "vsedni den" je 5. Kategorie "vikend" tedy obsahuje menší počet záznamů, proto jsme bázi v tomto případě po několika pokusech zvolili optimální hodnotu 5. Pravděpodobnost jsme opět stanovili na 60%.
V modulu 4ftTask bylo za 2 sekundy vygenerováno 14 hypotéz. Výstup byl následující:
Task name: vikend-zakaznici Task description: + Date of output: 24.5.2001 Survey of antecedent quantities Name Description Hodina(*) - Vsedni den - vikend(Vikend) - Survey of succedent quantities Name Description Zakaznici(*) - Survey of condition quantities Name Description Obchodak(*) - Quantifier parameters: Founded Implication p = 0.60 Base = 5 Task parameters Length of antecedent: 0 - 99 Length of succedent: 1 - 99 Length of condition: 0 - 99 Include symetric hypotheses: Yes Include extensions of 100% implications (antecedent): Yes Include extensions of 100% implications (succedent): Yes Processing of missing information: Delete Total time: 0h 0m 2s Time spend by communication with ODBC: 0h 0m 1s Number of verifications: 192 Number of hypotheses: 14
Modulu 4ftResult nám nabídnul 14 následujících hypotéz:
Nr. Hypothesis Prob 14 Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Lake Oswego) 0.7000 13 Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Lake Oswego) 0.7000 11 Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.7000 9 Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Portland) 0.7000 5 Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Beaverton) 0.7000 10 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.6571 6 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6571 2 Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) 0.6200 1 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) 0.6171 12 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Lake Oswego) 0.6000 8 Hodina(Vecer) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6000 7 Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6000 4 Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Beaverton) 0.6000 3 Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Beaverton) 0.6000
Pro management jsou zajímavé především hypotézy číslo 14, 13, 11, 9 a 5. Proto tyto hypotézy rozebereme trochu podrobněji:
Nr. Hypothesis Prob 11 Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.7000 13 Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Lake Oswego) 0.7000
Z těchto dvou hypotéz vyplývá, že počet zákazníků, kteří provedou nákup o víkendu dopoledne v obchodním domě v Lake Oswego nebo ve West Linn, bude na 70% nedostatečný.
Nr. Hypothesis Prob 14 Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Lake Oswego) 0.7000 9 Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Portland) 0.7000 5 Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Beaverton) 0.7000
Z těchto třech hypotéz je naopak zřejmé, že pokud je odpoledne a víkend, pak v obchodních domech v Lake Oswego, Portland a Beaverton provede na 70% nákup "dobrý počet" zákazníků.
Z výše uvedených hypotéz je patrné, že jsou některé duplicitní. Souhrnně lze hypotézy rozdělit následovně:
Hypotézy týkající se každého dne v týdnu
Hypothesis Prob - Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.6571 - Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6571 - Hodina(Dopoledne) ... Zakaznici(Nedostatecny) 0.6171 - Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Lake Oswego) 0.6000 - Hodina(Dopoledne) ... Zakaznici(Nedostatecny) / Obchodak(Beaverton) 0.6000
Hypotézy týkající se jen všedních dnů
Hypothesis Prob - Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6800 - Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.6400 - Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) 0.6160 - Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(Beaverton) 0.6000 - Hodina(Dopoledne) & Vsedni den - vikend(Vsedni den) ... Zakaznici(Nedostatecny) / Obchodak(Portland) 0.6000
Hypotézy týkající se jen dnů o víkendu
Hypothesis Prob - Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Lake Oswego) 0.7000 - Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Lake Oswego) 0.7000 - Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(West Linn) 0.7000 - Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Portland) 0.7000 - Hodina(Odpoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Dobry) / Obchodak(Beaverton) 0.7000 - Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) 0.6200 - Hodina(Vecer) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6000 - Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Vancouver) 0.6000 - Hodina(Dopoledne) & Vsedni den - vikend(Vikend) ... Zakaznici(Nedostatecny) / Obchodak(Beaverton) 0.6000
Celkově je pro management asi nejdůležitější zjištění, že každé dopoledne v každém obchodním domě provede na 61,71% nákup nedostatečný počet zákazníků. Proto se tedy management rozhodne, že v dopoledních hodinách přesune část zaměstnanců, kteří doposud obsluhovali pokladny, do areálu obchodního domu, kde budou doplňovat zboží.
To je výhodné i v tom, že v dopoledních hodinách se v prostorech obchodních domů nevyskytuje příliš mnoho zákazníků a zaměstnanci tak mohou bez problémů doplnit chybějící zboží do regálů.
Největší přemístění zaměstnanců dopoledne se provede o víkendech v obchodních domech v Lake Oswego a West Linn a ve všedních dnech v obchodním domě ve Vancouver. (Hypotézy vyšly pro tyto obchodní domy "silné").
Management se dále na základě výše získaných výsledků rozhodne, že o víkendech zvýší odpoledne výrazně počet zaměstnanců na pokladnách v obchodních domech v Lake Oswego, West Linn a Portlando, neboť počet zákazníků, kteří v tuto dobu provedou nákup, je relativně vysoký.
Management obchodní sítě chce mít stále dobrou pověst, a tak se rozhodl, že bude pravidelně pořádat reklamní akce na nejrůznější typy prodávaných výrobků. Potřebuje ale zjistit, kdy tyto akce provádět. Nejvýhodnější je to v době, kdy je v obchodním domě dostatečné množství zákazníků a utržená částka peněz je dostatečně vysoká.
K této analýze použije proměnnou týkající se kvality prodeje, ta v sobě zahrnuje jak údaje o počtu zákazníků, kteří provedli nákup, tak i údaje o objemu tržeb. Bližší specifikace proměnné prodej byla uvedena již výše. Provedli jsme tedy následující fundovanou implikaci.
Den v tydnu (*), Hodina(*) → Prodej (*) / Obchodak (*)
Hledáme tedy všechny takové segmenty hodin dnů v týdnu a prodejů, aby procento příznivého prodeje bylo vysoké. Pro management je opět také důležité vědět, ve kterém obchodním domě to bylo, proto jsme do dotazu přidali podmínku obchodního domu.
Velikost báze jsme postupně upravili na 5 záznamů s tím, že výsledky nám nevycházely příznivě dokud jsme proměnnou prodej nenadefinovali v modulu 4ftTask jako intervaly o minimální délce 1 a maximální 2. Pravděpodobnost jsme stanovili 90%. Po provedení dotazu bylo po 2 sekundách vygenerováno 26 hypotéz:
Task name: Dny v tydnu Task description: + Date of output: 24.5.2001 Survey of antecedent quantities Name Description Den v tydnu(*) - Hodina(*) - Survey of succedent quantities Name Description Prodej(*) - Survey of condition quantities Name Description Obchodak(*) - Quantifier parameters: Founded Implication p = 0.90 Base = 5 Task parameters Length of antecedent: 0 - 99 Length of succedent: 1 - 99 Length of condition: 0 - 99 Include symetric hypotheses: Yes Include extensions of 100% implications (antecedent): Yes Include extensions of 100% implications (succedent): Yes Processing of missing information: Delete Total time: 0h 0m 2s Time spend by communication with ODBC: 0h 0m 2s Number of verifications: 2016 Number of hypotheses: 26
Podrobnosti o hypotézách z modulu 4ftResult:
Nr. Hypothesis Prob 12 Den v tydnu(Pondeli) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Portland) 1.0000 2 Den v tydnu(Pondeli) & Hodina(Odpoledne) ... Prodej(Velmi dobry, Dobry) / Obchodak(Beaverton) 1.0000 23 Den v tydnu(Pondeli) & Hodina(Odpoledne) ... Prodej(Dobry, Dostatecny) / Obchodak(Lake Oswego) 1.0000 24 Den v tydnu(Utery) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Lake Oswego) 1.0000 25 Den v tydnu(Utery) & Hodina(Odpoledne) ... Prodej(Velmi dobry, Dobry) / Obchodak(Lake Oswego) 1.0000 13 Den v tydnu(Streda) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Portland) 1.0000 20 Den v tydnu(Streda) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(West Linn) 1.0000 7 Den v tydnu(Streda) & Hodina(Odpoledne) ... Prodej(Dobry, Dostatecny) / Obchodak(Vancouver) 1.0000 3 Den v tydnu(Ctvrtek) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Beaverton) 1.0000 14 Den v tydnu(Ctvrtek) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Portland) 1.0000 15 Den v tydnu(Ctvrtek) & Hodina(Odpoledne) ... Prodej(Velmi dobry, Dobry) / Obchodak(Portland) 1.0000 21 Den v tydnu(Ctvrtek) & Hodina(Vecer) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(West Linn) 1.0000 4 Den v tydnu(Patek) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Beaverton) 1.0000 8 Den v tydnu(Patek) & Hodina(Odpoledne) ... Prodej(Velmi dobry, Dobry) / Obchodak(Vancouver) 1.0000 9 Den v tydnu(Patek) & Hodina(Vecer) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Vancouver) 1.0000 5 Den v tydnu(Sobota) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Beaverton) 1.0000 16 Den v tydnu(Sobota) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Portland) 1.0000 22 Den v tydnu(Sobota) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(West Linn) 1.0000 17 Den v tydnu(Sobota) & Hodina(Odpoledne) ... Prodej(Velmi dobry, Dobry) / Obchodak(Portland) 1.0000 10 Den v tydnu(Nedele) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Vancouver) 1.0000 18 Den v tydnu(Nedele) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Portland) 1.0000 6 Den v tydnu(Nedele) & Hodina(Odpoledne) ... Prodej(Velmi dobry, Dobry) / Obchodak(Beaverton) 1.0000 11 Den v tydnu(Nedele) & Hodina(Odpoledne) ... Prodej(Velmi dobry, Dobry) / Obchodak(Vancouver) 1.0000 26 Den v tydnu(Nedele) & Hodina(Odpoledne) ... Prodej(Dobry, Dostatecny) / Obchodak(Lake Oswego) 1.0000 19 Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) / Obchodak(Portland) 0.9429 1 Den v tydnu(Sobota) & Hodina(Dopoledne) ... Prodej(Dostatecny, Nedostatecny) 0.9200
Z hypotéz je zřejmé, že management Grocery by měl reklamní akce provádět v těchto obchodních dnech v tuto dobu:
V této době je prodej na 100% alespoň dobrý.
Z výsledků dále plyne pro management Grocery doporučení, aby reklamní akce na různé výrobky rozhodně neprováděl v tuto dobu:
V těchto případech je totiž prodej na 100% dostatečný nebo nedostatečný.
Pro management je také zajímavá informace o tom, že pokud je sobotu dopoledne, tak na 92% bude prodej ve všech obchodních domech nezajímavý. Proto by v tuto dobu nebylo dobré provádět jakékoliv reklamní akce.
Pro názornost uvádíme ještě přesnější popis příslušné hypotézy:
*** Hypothesis number: 1 Antecedent Den v tydnu Sobota Hodina Dopoledne Succedent Prodej Dostatecny, Nedostatecny Values from frequency table: a/(a+b) = 0.920000 (Prob, Validity) a/(a+b+c) = 0.073016 a/n = 0.044231 Weight = 0.920000 Frequency table Succedent NOT Succedent Antecedent 23 2 25 NOT Antecedent 290 205 495 313 207 520 Row percentage Succedent NOT Succedent Antecedent 92.00 8.00 100.00 NOT Antecedent 58.59 41.41 100.00 60.19 39.81 100.00 Column percentage Succedent NOT Succedent Antecedent 7.35 0.97 4.81 NOT Antecedent 92.65 99.03 95.19 100.00 100.00 100.00 Total percentage Succedent NOT Succedent Antecedent 4.42 0.38 4.81 NOT Antecedent 55.77 39.42 95.19 60.19 39.81 100.00