1 Zadanie 1 - Food company

Databáza Food_clean pochádza od potravinárskej spoločnosti, ktorá plánuje ďalšiu marketingovú kampaň s cieľom maximalizovať zisk. Pilotnú kampaň absolvovalo 1956 zákazníkov, pričom tí, ktorí si zakúpili ponuku promočnej kampane, sú označení v stĺpcoch AcceptedCmp1 až AcceptedCmp5. Tieto údaje umožňujú analyzovať mieru akceptácie kampaní podľa segmentu zákazníkov a optimalizovať budúce marketingové stratégie.

1.1 Zistenie nulových hodnôt a čistenie dát

V tejto časti sme sa zamerali na identifikáciu chýbajúcich hodnôt v dátovom súbore. Pomocou analytických nástrojov sme zistili počet nulových hodnôt v jednotlivých premenných. Najviac chýbajúcich hodnôt sa nachádzalo v premenných Age, Income, MntWines a NumStorePurchases.

Po identifikovaní chýbajúcich hodnôt sme pristúpili k čisteniu dát, kde sme odstránili neúplné záznamy alebo ich nahradili vhodnými hodnotami. Po vyčistení dát sa počet pozorovaní znížil z 1956 na 1795.

## [1] 26
##                 Age           Education      Marital_Status              Income 
##                  27                   9                  12                  26 
##             Kidhome            Teenhome             Recency            MntWines 
##                   5                   1                  15                  20 
##           MntFruits     MntMeatProducts     MntFishProducts    MntSweetProducts 
##                  13                  18                  15                  18 
##        MntGoldProds   NumDealsPurchases     NumWebPurchases NumCatalogPurchases 
##                  21                  15                  14                  17 
##   NumStorePurchases   NumWebVisitsMonth        AcceptedCmp3        AcceptedCmp4 
##                  23                   3                   0                   0 
##        AcceptedCmp5        AcceptedCmp1        AcceptedCmp2            Complain 
##                   0                   0                   0                   0 
##            Response 
##                   0
## [1] 1956
## [1] 1795

2 Popisná štatistika

V tejto časti sme vytvorili nové analytické premenné, ktoré umožňujú lepšiu segmentáciu zákazníkov. Dáta sme rozdelili podľa vekových skupín, príjmových skupín, počtu nákupov a identifikácie zákazníkov s deťmi.

Toto rozdelenie nám umožnilo lepšie analyzovať správanie jednotlivých skupín zákazníkov a identifikovať rozdiely medzi nimi.

V tejto časti sme analyzovali základné charakteristiky dát pomocou popisnej štatistiky. Výsledky sme prezentovali podľa vzdelania, rodinného stavu, vekových skupín a príjmových skupín.

## 
## ===== POPISNÁ ŠTATISTIKA PODĽA VZDELANIA =====
## # A tibble: 4 × 8
##   Education  Počet Priem_vek Priem_príjem Priem_výdavky Priem_víno Priem_mäso
##   <chr>      <int>     <dbl>        <dbl>         <dbl>      <dbl>      <dbl>
## 1 Basic         52      46          20071            82          7         12
## 2 Graduation  1012      54          51655           605        277        177
## 3 Master       324      56.4        52356           578        318        151
## 4 PhD          407      56.3        55240           665        399        169
## # ℹ 1 more variable: Priem_nákupy <dbl>

Pri analýze podľa vzdelania môžeme pozorovať, že zákazníci s vyšším vzdelaním dosahujú vyššie príjmy a zároveň aj vyššie výdavky. Najvyššie priemerné výdavky vykazujú zákazníci s titulom PhD, ktorí zároveň najviac míňajú na víno a mäso. Naopak, zákazníci so základným vzdelaním majú výrazne nižší príjem aj výdavky. Tento výsledok naznačuje, že vzdelanie môže byť významným faktorom ovplyvňujúcim nákupné správanie zákazníkov.

## 
## ===== POPISNÁ ŠTATISTIKA PODĽA RODINNÉHO STAVU =====
## # A tibble: 6 × 8
##   Marital_Status Počet Priem_vek Priem_príjem Priem_výdavky Priem_víno
##   <chr>          <int>     <dbl>        <dbl>         <dbl>      <dbl>
## 1 Alone              3      51          43789           257        185
## 2 Divorced         188      57.3        53420           596        320
## 3 Married          702      54.1        51691           593        306
## 4 Single           385      52          49445           593        277
## 5 Together         459      55.9        52315           605        314
## 6 Widow             58      64          56106           691        360
## # ℹ 2 more variables: Priem_mäso <dbl>, Priem_nákupy <dbl>

Pri rozdelení podľa rodinného stavu vidíme, že najvyššie výdavky majú ovdovení zákazníci, ktorí zároveň dosahujú aj vyšší priemerný vek. Naopak, skupiny ako Single alebo Married vykazujú podobné hodnoty príjmov aj výdavkov. Rozdiely medzi rodinnými stavmi naznačujú, že životná situácia zákazníkov môže ovplyvňovať ich nákupné správanie a výšku výdavkov.

## 
## ===== POPISNÁ ŠTATISTIKA PODĽA VEKOVEJ SKUPINY =====
## # A tibble: 4 × 8
##   AgeGroup Počet Priem_príjem Priem_výdavky Priem_víno Priem_mäso Priem_nákupy
##   <fct>    <int>        <dbl>         <dbl>      <dbl>      <dbl>        <dbl>
## 1 18-30        6        56736           739        331        300         11  
## 2 31-45      365        46169           568        244        185         11.1
## 3 46-60      849        50929           553        284        150         12  
## 4 60+        575        56233           685        373        175         13.8
## # ℹ 1 more variable: Web_návštevy <dbl>

Pri analýze priemerných výdavkov podľa vekových skupín môžeme pozorovať, že najvyššie výdavky dosahuje skupina 60+, čo môže súvisieť s vyššou finančnou stabilitou. Skupiny 31–45 a 46–60 rokov vykazujú podobné, mierne nižšie výdavky. Najmladšia skupina 18–30 rokov má síce vyššie výdavky, avšak vzhľadom na nízky počet respondentov nie je tento výsledok dostatočne reprezentatívny.

## 
## ===== POPISNÁ ŠTATISTIKA PODĽA PRÍJMOVEJ SKUPINY =====
## # A tibble: 4 × 7
##   IncomeGroup        Počet Priem_výdavky Priem_víno Priem_mäso Priem_nákupy
##   <fct>              <int>         <dbl>      <dbl>      <dbl>        <dbl>
## 1 "Nízky"              290            76         15         24          5.3
## 2 "Stredný"            848           290        167         58          9.7
## 3 "Vysoký"             614          1201        602        348         18.9
## 4 "Veľmi\n   vysoký"    43          1621        706        638         18.8
## # ℹ 1 more variable: Akceptov_kampane <dbl>

Graf zobrazuje štruktúru výdavkov zákazníkov podľa príjmových skupín a jednotlivých kategórií produktov. Z výsledkov je zrejmé, že s rastúcim príjmom sa zvyšujú výdavky vo všetkých kategóriách. Najväčšiu časť výdavkov vo všetkých príjmových skupinách tvorí kategória víno, nasledovaná výdavkami na mäso.

Zákazníci s nízkym príjmom vykazujú minimálne výdavky vo všetkých kategóriách, zatiaľ čo zákazníci s vysokým a veľmi vysokým príjmom míňajú výrazne viac, najmä na víno a mäso. Ostatné kategórie, ako ovocie, ryby, sladkosti a zlaté produkty, tvoria menší podiel výdavkov, avšak aj pri nich je viditeľný rast spolu so zvyšujúcim sa príjmom.

Zo získaných výsledkov môžeme pozorovať, že zákazníci s vyšším vzdelaním a vyšším príjmom majú tendenciu viac míňať. Rovnako starší zákazníci vykazujú vyššie výdavky a vyššiu frekvenciu nákupov.

2.0.1 Zaujímavé pozorovania z popisnej štatistiky

  1. Výdavky na víno výrazne rastú so zvyšujúcim sa príjmom. Víno je najväčšou výdavkovou položkou vo všetkých príjmových skupinách, čo naznačuje vysoký potenciál pre prémiové produkty.

  2. Mäso je druhou najvýznamnejšou kategóriou. Zákazníci s vyšším príjmom výrazne viac investujú do kvalitných mäsových výrobkov.

  3. Segment s veľmi vysokým príjmom míňa najviac vo všetkých kategóriách. Predstavuje ideálne cieľové publikum pre prémiové kampane a personalizovaný marketing.

  4. Zákazníci s nízkym príjmom sú citliví na cenu. Pre túto skupinu sú najúčinnejšie kampane zamerané na zľavy, akciové balíčky a zvýhodnené ponuky.

  5. Menšie kategórie (sladkosti, ovocie, ryby) rastú s príjmom. Pri vyšších príjmových skupinách je priestor pre cross-selling drahších produktov.

  6. Medzi stredným a vysokým príjmom je výrazný skok vo výdavkoch. Po prekročení určitej príjmovej hranice zákazníci začínajú míňať podstatne viac.

  7. Prémiový zákazníci tvoria menšiu časť zákazníkov, ale generuje najväčšiu časť tržieb. Je dôležité zamerať sa na strategicky pripravené kampane a budovanie hodnotných vzťahov.

3 Výber premenných

V tejto časti sme vybrali relevantné premenné pre ďalšiu analýzu. Výber bol založený na analytickom význame premenných a ich využiteľnosti pre faktorovú analýzu a regresné modely.

3.1 Faktorová analýza

Faktorová analýza bola použitá na zníženie počtu premenných a identifikáciu skrytých faktorov ovplyvňujúcich správanie zákazníkov.

3.1.1 Podmienka 1: KMO test

## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = vars_scaled)
## Overall MSA =  0.89
## MSA for each item = 
##                 Age              Income             Recency            MntWines 
##                0.68                0.89                0.54                0.89 
##           MntFruits     MntMeatProducts     MntFishProducts    MntSweetProducts 
##                0.95                0.91                0.94                0.95 
##        MntGoldProds   NumDealsPurchases     NumWebPurchases NumCatalogPurchases 
##                0.94                0.52                0.86                0.91 
##   NumStorePurchases   NumWebVisitsMonth             Kidhome            Teenhome 
##                0.91                0.83                0.91                0.59

Pomocou KMO testu sme overili vhodnosť dát pre faktorovú analýzu. Hodnota MSA = 0,89 naznačuje vysokú vhodnosť dát pre faktorovú analýzu. Z výsledkov vidíme, že žiadnu z premenných nemusíme vynechať, lebo všetky jednotlivé hodnoty presiahli 0,5.

3.1.2 Podmienka 2: Bartlettov test

## $chisq
## [1] 14277.2
## 
## $p.value
## [1] 0
## 
## $df
## [1] 120

Bartlettov test potvrdil, že medzi premennými existujú štatisticky významné korelácie (p < 0,001), čo znamená, že faktorová analýza

je vhodná.

Zo scree plotu je zrejmé, že prvý faktor vysvetľuje najväčšiu časť variability v dátach, keďže jeho vlastná hodnota (eigenvalue) je

približne 5,8, čo predstavuje veľmi výrazný podiel. Ide teda o extrémne dominantný faktor. Druhý faktor má hodnotu okolo 1,2, čo

znamená, že podľa Kaiserovho kritéria ešte spĺňa požiadavku na ponechanie vo výslednom modeli. Ostatné faktory však už majú

eigenvalues menšie ako 1 a ich prínos k celkovej vysvetlenej variabilite je minimálny. Preto nemajú dostatočnú silu na to, aby bolo

vhodné ich ďalej zahrnúť do analýzy.

## 
## Loadings:
##                     ML1    ML4    ML3    ML2   
## Age                                0.478       
## Income               0.610  0.607              
## Recency                                        
## MntWines             0.639  0.432              
## MntFruits            0.668                     
## MntMeatProducts      0.560  0.646              
## MntFishProducts      0.693                     
## MntSweetProducts     0.651                     
## MntGoldProds         0.590                     
## NumDealsPurchases                         0.534
## NumWebPurchases      0.652                0.361
## NumCatalogPurchases  0.563  0.630              
## NumStorePurchases    0.695                     
## NumWebVisitsMonth   -0.348 -0.524         0.630
## Kidhome             -0.531                     
## Teenhome                           0.671       
## 
##                  ML1   ML4   ML3   ML2
## SS loadings    4.425 1.935 1.169 1.051
## Proportion Var 0.277 0.121 0.073 0.066
## Cumulative Var 0.277 0.397 0.471 0.536

4 faktory vysvetľujú 53.6% variancie:

Faktor Premenné Názov
ML1 Výdavky na jedlo, nakupy web/obchod, príjem, -deti Nákupná aktivita
ML2 Zľavové nákupy, web návštevy Cenovo citlivý zákazník
ML3 Teenhome, vek Starší rodič tínedžerov
ML4 Príjem, mäso, katalógové nákupy,-web návštevy Prémiový katalógový zákazník

3.1.3 PCA

Pomocou PCA analýzy sme identifikovali hlavné komponenty, ktoré vysvetľujú najväčšiu časť variability dát. Prvé komponenty vysvetľujú väčšinu variability, čo umožňuje znížiť počet premenných.

##                             PC1      PC2     PC3       PC4       PC5       PC6
## Standard deviation     2.508694 1.428525 1.11470 0.9990704 0.8989737 0.8762041
## Proportion of Variance 0.393350 0.127540 0.07766 0.0623800 0.0505100 0.0479800
## Cumulative Proportion  0.393350 0.520890 0.59855 0.6609300 0.7114400 0.7594300
##                              PC7       PC8
## Standard deviation     0.7827286 0.7555187
## Proportion of Variance 0.0382900 0.0356800
## Cumulative Proportion  0.7977200 0.8333900

Podľa pravidla eigenvalue >1 (červená čiara na scree plote): - PC1: 2:51 - 39.3% variancie - PC2: 1.43 - 12.8% variancie - PC3: 1.11 - 7.8% variancie Tieto komponenty dokopy vysvetľujú 59.9% variancie.

## # A tibble: 3 × 6
##   Cluster Počet Priem_vek Priem_príjem Priem_výdavky Priem_nákupy
##   <fct>   <int>     <dbl>        <dbl>         <dbl>        <dbl>
## 1 1         502      60.3        57115           699         16.6
## 2 2         466      53.9        75671          1385         19.5
## 3 3         827      51.8        34861            95          5.8

4 Segmentovanie zákazníkov

4.1 Elbow metóda

##     k       WSS
## 1   1 23322.000
## 2   2 18439.661
## 3   3 15728.952
## 4   4 14099.820
## 5   5 12775.509
## 6   6 11624.863
## 7   7 10906.708
## 8   8  9954.558
## 9   9  9518.935
## 10 10  9024.499

4.2 Silhouette metoda

##   k Silhouette
## 1 2  0.2351361
## 2 3  0.2254446
## 3 4  0.1813142
## 4 5  0.2494177
## 5 6  0.1822000
## 6 7  0.2214949
## 7 8  0.2135592

Lakeť je pri k=3. Najvyššia silhouette hodnota v tomto prípade je pri k=5 -> optimálny počet. Pre marketingové vysvetlenie je optimálnejšie použiť tri segmenty.

4.2.1 Popis zhlukov

Napriek tomu, že metóda Silhouette naznačila optimálny počet segmentov na úrovni 5, pri finálnom rozhodovaní sme zohľadnili aj

praktickú interpretovateľnosť a využiteľnosť výsledkov. Pri rozdelení na 5 segmentov boli niektoré skupiny veľmi podobné a rozdiely

medzi nimi neboli dostatočne výrazné. To by v praxi sťažovalo interpretáciu výsledkov a následné využitie segmentácie napríklad pri

marketingových stratégiách.

Preto sme sa rozhodli pre rozdelenie na 3 segmenty, ktoré poskytujú jasnejšie a zmysluplnejšie odlíšené skupiny zákazníkov. Tento

počet segmentov zároveň zabezpečuje lepšiu prehľadnosť výsledkov a jednoduchšiu implementáciu v praxi. Tri segmenty zároveň

dostatočne vystihujú hlavné typy zákazníkov – zákazníkov s vysokými výdavkami, strednými výdavkami a nízkymi výdavkami.

Výber troch segmentov tak predstavuje kompromis medzi štatistickou presnosťou a praktickou interpretovateľnosťou výsledkov.

Na základe klastrovej analýzy sme identifikovali tri hlavné segmenty zákazníkov:

Segment 1 – Prémiový zákazníci (177 zákazníkov)

  • s vysokým príjmom a vysokými výdavkami

  • reagujú na kampane výborne

  • najlepší cieľ pre budúcu kampaň

Segment 2 – zákazníci so stredným príjmom a pravidelnými nákupmi ( 748 zákazníkov )

  • priemerný príjem, umiernené výdavky, majú deti

  • na kampane reagujú slabo

  • potenciál pri správnej kampani zameranej na rodiny

Segment 3 – zákazníci s nízkym príjmom a nízkymi výdavkami (870 zákazníkov)

  • najnižší príjem, minimálne výdavky, najviac detí

  • na kampane takmer nereagujú

  • nevhodný cieľ pre prémiové kampane

V čom sú naše zhluky podobné: Recency je takmer rovnaká (cca 49 dní).

V čom sú naopak rozdielne: Príjem, výdavky a reakcia na kampane sú dramaticky odlišné.

## # A tibble: 3 × 14
##   Segment Počet Priem_vek Priem_príjem Priem_výdavky Priem_nákupy Recency  Deti
##   <fct>   <int>     <dbl>        <dbl>         <dbl>        <dbl>   <dbl> <dbl>
## 1 1         177      53.7        79512          1559         19.4    49.1  0.27
## 2 2         748      58.3        64685           932         17.8    49.8  0.77
## 3 3         870      51.9        34835           117          6.3    48.3  1.33
##    Cmp1  Cmp2  Cmp3  Cmp4  Cmp5 Response
##   <dbl> <dbl> <dbl> <dbl> <dbl>    <dbl>
## 1  0.58  0.14  0.12  0.37  0.69     0.52
## 2  0.01  0     0.05  0.08  0        0.12
## 3  0     0     0.08  0.01  0        0.11

)

Z boxplotu možno stručne vidieť, že prvý segment má najvyššie a najrozmanitejšie výdavky, druhý segment predstavuje stredné výdavky s

pomerne širokým rozptylom a tretí segment má jednoznačne najnižšie výdavky s minimálnou variabilitou. Celkovo tak graf ukazuje

výrazné rozdiely v nákupnom správaní medzi segmentmi.

Z grafu môžeme pozorovať, že práve segment 1 najviac reaguje na kampane.

5 Hypotézy a ich overenie

V tejto časti sme definovali hypotézy, ktoré skúmajú vzťahy medzi premennými. Hypotézy boli testované pomocou regresnej analýzy.

5.1 Hypotéza

H0: Príjem, vek, počet detí a vzdelanie nemajú štatisticky významný vplyv na celkové výdavky zákazníka (TotalSpending) H1: Príjem, vek, počet detí a vzdelanie majú štatisticky významný vplyv na celkové výdavky zákazníka (TotalSpending)

5.1.1 1. Príprava dát

V tejto časti sme pripravili dáta pre regresnú analýzu. Vytvorili sme premennú TotalSpending a vybrali nezávislé premenné.

5.1.2 2. Regresný model

Výsledky regresného modelu ukazujú, že premenné Income, Kidhome a Teenhome majú štatisticky významný vplyv na celkové výdavky zákazníkov. Premenné Age a Education neboli štatisticky významné.

Model vysvetľuje približne 68 % variability dát, čo naznačuje dobrú kvalitu modelu.

## 
## Call:
## lm(formula = TotalSpending ~ Age + Income + Kidhome + Teenhome + 
##     Education, data = Food_reg)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2836.62  -198.03   -30.69   171.82  2116.43 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         -1.196e+02  6.387e+01  -1.873   0.0613 .  
## Age                 -2.820e-01  8.406e-01  -0.335   0.7373    
## Income               1.937e-02  4.550e-04  42.572   <2e-16 ***
## Kidhome             -2.462e+02  1.764e+01 -13.960   <2e-16 ***
## Teenhome            -1.816e+02  1.664e+01 -10.913   <2e-16 ***
## EducationGraduation -5.532e+01  5.063e+01  -1.093   0.2747    
## EducationMaster     -7.702e+01  5.333e+01  -1.444   0.1488    
## EducationPhD        -5.397e+01  5.293e+01  -1.020   0.3080    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 340.6 on 1787 degrees of freedom
## Multiple R-squared:  0.6846, Adjusted R-squared:  0.6834 
## F-statistic: 554.2 on 7 and 1787 DF,  p-value: < 2.2e-16

5.2 Predpoklady regresie

V tejto časti sme testovali predpoklady regresného modelu

  1. Normalita rezidualov - Shapiro - Wilk test

Normalita reziduálov – test Shapiro-Wilk ukázal, že reziduá nie sú normálne rozdelené

Q-Q plot a histogram potvrdzujú - reziduály sa odchyľujú od normálneho rozdelenia - bežné pri veľkej vzorke

## 
##  Shapiro-Wilk normality test
## 
## data:  sample(residuals(model), 5000, replace = TRUE)
## W = 0.94053, p-value < 2.2e-16

  1. Homoskedasticita – Breusch-Pagan test

Homoskedasticita – Breusch-Pagan test ukázal heteroskedasticitu.

Rozptyl nie je konštantný. Štandardne chyby môžu byť skreslené.

## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 238.17, df = 7, p-value < 2.2e-16

  1. Multikolinearita – VIF (má byť < 5)

Multikolinearita – VIF hodnoty boli nižšie ako 5, čo znamená, že multikolinearita nie je problém

##      Age   Income  Kidhome Teenhome 
##    1.316    1.369    1.391    1.259
  1. Normalita distribúcie reziduálov – histogram

Regresná analýza ukázala, že na celkové výdavky zákazníkov majú štatisticky významný vplyv premenné Income, Kidhome a Teenhome,

zatiaľ čo Age a Education sa neukázali ako štatisticky významné prediktory. Model vysvetľuje približne 68 % variability, čo naznačuje

jeho relatívne dobrú predikčnú schopnosť. Testovanie predpokladov však ukázalo, že reziduá nie sú normálne rozdelené a v modeli sa

vyskytuje heteroskedasticita, aj keď multikolinearita nepredstavovala problém (VIF < 5). Na základe výsledkov regresie môžeme

konštatovať, že model je použiteľný, ale niektoré výsledky treba interpretovať opatrne. Keďže viaceré premenné majú štatisticky

významný vplyv na TotalSpending, nulovú hypotézu (H0) zamietame a alternatívnu hypotézu (H1) prijímame.