Idee ja eesmärk

Suured jaemüügiketid lasevad kassades igapäevaselt läbi tuhandeid tehinguid, mis tähendab, et kuu kokkuvõtte tegemisel tuleb hakkama saada suurte või väga suurte andmestikega. Vähema või suurema jõupingutusega ollakse tavaliselt võimelised ka nägema, kui palju üht või teist toodet osteti ning kuidas on müügimahud muutunud.

Samas oleks aga huvitav teada, milliseid tooteid ostetakse koos ning kas see seos on juhuslik või on seal ka mingi statistiline iva. Teisisõnu võime me näha seoseid, et piima ja habemeajamisvahtu ostetakse sageli koos, kuid on selge, et taoline seos on puhas juhuse tulem (piim sisaldub lihtsalt peaaegu igas teises ostukorvis). Kui meil oleks sellised seosed teada, saaksime mõelda toodete optimaalsema paigutuse peale ning ka mõningate uute turundustrikkide peale (müüme üht toodet läbi teise toote).

Miljonitest ridadest andmetest selliste seoste leidmine ei ole ei inimese ega ka Exceli jaoks sobiv ülesanne. Seega anname selle ülesande arvutile, mille varustame sobiva masinõppimise algoritmiga.

Analüüs

Analüüsi teostamiseks võtsime ette ühe välismaise toidukaupade jaemüüja andmed (Allikas: groceries andmestik, apriori R pakis), mis sisaldab jaemüüja ühe kuu tehingute kohta. Esmalt lihtsustasime veidi tootevalikut, öeldes, et piim on piim, sõltumata sellest, millise brändi all seda müüakse. Nii saime analüüsiks valmis andmestiku, mille esimene rida (ehk esimene tehing) on näiteks järgmine: {tsitruselised, leib, margariin, valmis supid}.

Enne tootekorvi seoste analüüsi juurde liikumist küsisime graafikut 10ne enamostetava toote kohta. Joonis näitab, et ligi ¼ kõigist ostukorvidest sisaldasid ka piima ning 1/5 kõigist ostukorvidest sisaldasid juurvilju. Seega võib juba ennetavalt öelda, et need kaks toodet on ilmselt sees päris paljudes reeglites.

ToodeteSagedusOstukorvis

Nüüd edasi aga põhilise juurde ehk milliseid tooteid kiputakse koos ostma. Kokkuvõtlikult töötlesime andmed analüüsiks sobivale kujule ning lasime vastaval masinõppimise algoritmil leida meile tulemused. Seejuures võtsime vaatluse alla vaid tooted, mida ostetakse vähemalt 2x päevas ning lisasime kriteeriumina, et meid huvitavad vaid seosed, mis ilmnevad vähemalt 25% juhtudest.

Tulemuste tõlgendamine

Eelnevalt kirjeldatud kriteeriumitele alusel leidis arvuti 463 reeglit ehk seosekomplekti, millest kõige enam oli 3-tootelisi seoseid (st. kliendid ostavad koos kolme erinevat toodet). Seejuures on meil võimalik näha A. kui suure osa kõigist ostudest antud seosekomplekt moodustab, B. kui suure osa moodustab seos antud reeglis osaleva toote ostudest ning 3. Olulisuse näitaja, mis ütleb, kas seos on juhuslik või mitte (väärtus 1 on täiesti juhuslik seos).

Alljärgnevas tabelis on esitatud meie analüüsi top-10 seost olulisuse järgi. Näeme, et esikohal on seos ürdid ja toored juurviljad. Nimetatud ostud moodustasid 0.7% kõigist ostudest ning 43% juhtudest, kui osteti ürte, osteti ka tooreid juurvilju.

OstukorvTop10Seost

Nüüd, reaalsuses saame me seosed jagada kolme gruppi:

  1. elementaarsed seosed, mille nägemine ei anna meile lisaväärtust,
  2. seosed, mille loogikat on keeruline näha ja mille puhul ei oska me midagi peale hakata,
  3. seosed, mis juhtimisotsuste parendamise seisukohalt huvitavad.

Meid huvitavad loomulikult kolmandat tüüpi seosed ning nende leidmine jääb analüütiku ülesandeks, lähtudes juhtide soovidest (N: seosed mõne konkreetse tooterühma kohta).

Kokkuvõtlikult võivad seoste reeglid anda meile infot mustrite kohta, mille olemasolust me teadlikud ei olnud. Lisaks tootekorvi analüüsile saab metoodikat rakendada ka teiste seoste leidmiseks. Näiteks seosed erinevate haiguste vahel või seosed masinate käitumise ja hilisema purunemise vahel või …