Dane na Kółkach: Zrozumienie Klientów Sklepu Rowerowego w Liczbach i Trendach

Wstęp

Witamy serdecznie w projekcie analizy danych, którego celem jest pełne zrozumienie i segmentacja potencjalnych klientów sklepu rowerowego. Poprzez zbieranie wszechstronnych danych ankietowych, starannie wyselekcjonowanych pod kątem kluczowych aspektów społecznych i konsumenckich, dążymy do stworzenia kompleksowej analizy ukierunkowanej na lepsze zrozumienie potrzeb i preferencji naszych klientów.

Pragniemy zaprosić Państwa do podróży przez zbiór danych, który pomoże nam lepiej zrozumieć, jak różnorodne czynniki wpływają na decyzje zakupowe w dziedzinie rowerów. Naszym celem jest nie tylko identyfikacja głównych grup docelowych, lecz także wydobycie istotnych trendów, które pozwolą nam doskonalić ofertę i komunikację, zapewniając klientom bardziej spersonalizowane i dopasowane rozwiązania. Zapraszamy do odkrywania wspólnie z nami fascynujących informacji, które staną się kluczem do lepszego zaspokajania oczekiwań naszych klientów. #biblioteki

Rozdział 1. Czyszczenie danych

1.1. Wstępne badanie występowania brakujących obserwacji

Na tym etapie została zbadana charakterystyka oraz poziomy poszczególnych zmiennych. Większość zmiennych miała charakter jakościowy, w związku z czym trzeba było zamienić je na czynniki. Sprawdzono również występowanie braków wśród badanych zmiennych.

## [1] ""        "Married" "Single"
## [1] ""       "Female" "Male"
## [1]  1  3  5  0  2  4 NA
## [1] "Bachelors"           "Graduate Degree"     "High School"        
## [4] "Partial College"     "Partial High School"
## [1] "Clerical"       "Management"     "Manual"         "Professional"  
## [5] "Skilled Manual"
## [1] ""    "No"  "Yes"
## [1]  0  1  2  4 NA  3
## [1] "0-1 Miles"  "1-2 Miles"  "10+ Miles"  "2-5 Miles"  "5-10 Miles"
## [1] "Europe"        "North America" "Pacific"
## [1] "No"  "Yes"

Zbadano również występowanie wartości NA, co widać na poniższych wykresach.

## Następujące obiekty zostały zakryte z sklep_rowerowy (pos = 3):
## 
##     Age, Cars, Children, Commute.Distance, Education, Gender,
##     Home.Owner, ID, Income, Marital.Status, Occupation, Purchased.Bike,
##     Region
## [1] "Income"   "Children" "Cars"     "Age"

Wartości NA zostały wykryte w przepadku zmiennych: Cars, Childre, Age oraz Income.

1.2. Walidacja danych

Kolejnym etapem analizy jest walidacja danych. Zdefiniowany został szereg reguł, które muszą spełniać nasze dane.

##    name items passes fails nNA error warning
## 1   V01  1000    993     7   0 FALSE   FALSE
## 2   V02  1000    989    11   0 FALSE   FALSE
## 3   V03  1000    994     0   6 FALSE   FALSE
## 4   V04  1000    992     0   8 FALSE   FALSE
## 5   V05  1000   1000     0   0 FALSE   FALSE
## 6   V06  1000    996     4   0 FALSE   FALSE
## 7   V07  1000    991     0   9 FALSE   FALSE
## 8   V08  1000   1000     0   0 FALSE   FALSE
## 9   V09  1000   1000     0   0 FALSE   FALSE
## 10  V10  1000    992     0   8 FALSE   FALSE
## 11  V11  1000   1000     0   0 FALSE   FALSE
##                                                                                    expression
## 1                                                 Marital.Status %vin% c("Married", "Single")
## 2                                                            Gender %vin% c("Male", "Female")
## 3                                                                        Income - 0 >= -1e-08
## 4                                                                      Children - 0 >= -1e-08
## 5    Occupation %vin% c("Clerical", "Management", "Manual", "Professional", "Skilled Manual")
## 6                                                             Home.Owner %vin% c("Yes", "No")
## 7                                                                          Cars - 0 >= -1e-08
## 8  Commute.Distance %vin% c("0-1 Miles", "1-2 Miles", "10+ Miles", "2-5 Miles", "5-10 Miles")
## 9                                        Region %vin% c("Europe", "North America", "Pacific")
## 10                                                                                   Age > 10
## 11                                                        Purchased.Bike %vin% c("Yes", "No")

##   name items passes fails nNA error warning
## 1   V1  1000      0   996   4 FALSE   FALSE
## 2   V2  1000      0   993   7 FALSE   FALSE
##                               expression
## 1 Age < 18 & Marital.Status == "Married"
## 2                Age < 18 & Children > 0

Powyższe sprawdzenie wskazuje na występowanie błędów w zmiennych Gender, Maritial.Status oraz Home.Owner.

Nie zaobserwowano błędnych danych w przypadku osób nieletnich.

Błędne dane należy zweryfikować i zamienić na wartości NA

##        ID        Marital.Status    Gender        Income          Children   
##  Min.   :11000          :  0          :  0   Min.   : 10000   Min.   :0.00  
##  1st Qu.:15291   Married:535    Female:489   1st Qu.: 30000   1st Qu.:0.00  
##  Median :19744   Single :458    Male  :500   Median : 60000   Median :2.00  
##  Mean   :19966   NA's   :  7    NA's  : 11   Mean   : 56268   Mean   :1.91  
##  3rd Qu.:24471                               3rd Qu.: 70000   3rd Qu.:3.00  
##  Max.   :29447                               Max.   :170000   Max.   :5.00  
##                                              NA's   :6        NA's   :8     
##                Education            Occupation  Home.Owner      Cars      
##  Bachelors          :306   Clerical      :177       :  0   Min.   :0.000  
##  Graduate Degree    :174   Management    :173   No  :314   1st Qu.:1.000  
##  High School        :179   Manual        :119   Yes :682   Median :1.000  
##  Partial College    :265   Professional  :276   NA's:  4   Mean   :1.455  
##  Partial High School: 76   Skilled Manual:255              3rd Qu.:2.000  
##                                                            Max.   :4.000  
##                                                            NA's   :9      
##    Commute.Distance           Region         Age        Purchased.Bike
##  0-1 Miles :366     Europe       :300   Min.   :25.00   No :519       
##  1-2 Miles :169     North America:508   1st Qu.:35.00   Yes:481       
##  10+ Miles :111     Pacific      :192   Median :43.00                 
##  2-5 Miles :162                         Mean   :44.18                 
##  5-10 Miles:192                         3rd Qu.:52.00                 
##                                         Max.   :89.00                 
##                                         NA's   :8

Jak można zauważyć na wykresie, w danych nie występują już wartości błędne i zostały poprawnie zamienione na NA.

1.3. Zbadanie występowania wartości odstających oraz skośności

Kolejnym elementem badania jest sprawdzenie skośności rozkładu zmiennych ilościowych, czyli w rozpatrywanym przypadku dochodu oraz wieku.

## integer(0)
## named numeric(0)
## character(0)

## 
##  Shapiro-Wilk normality test
## 
## data:  modified$Income
## W = 0.94402, p-value < 2.2e-16
## 
##  Shapiro-Wilk normality test
## 
## data:  modified$Age
## W = 0.9697, p-value = 1.605e-13

Swierdzamy skośność rozkładu zmiennych w oparciu o histogram oraz test na normalność (p-value<alfa=0.05, brak normalności rozkładu obu zmiennych)

Następnie sprawdzono, czy wskazane zmienne posiadają wartości odstające.

Jak widać na wykresach pudełkowych, w przypadku obu zmiennych występują wartości odstające. Z tego powodu należy zastosować imputacje metodą “capping”.

## Następujące obiekty zostały zakryte z sklep_rowerowy (pos = 3):
## 
##     Age, Cars, Children, Commute.Distance, Education, Gender,
##     Home.Owner, ID, Income, Marital.Status, Occupation, Purchased.Bike,
##     Region
## Następujące obiekty zostały zakryte z sklep_rowerowy (pos = 4):
## 
##     Age, Cars, Children, Commute.Distance, Education, Gender,
##     Home.Owner, ID, Income, Marital.Status, Occupation, Purchased.Bike,
##     Region
## Impute outliers with capping
## 
## * Information of Imputation (before vs after)
##                     Original     Imputation  
## described_variables "value"      "value"     
## n                   "994"        "994"       
## na                  "6"          "6"         
## mean                "56267.61"   "55875.25"  
## sd                  "31067.82"   "29983.02"  
## se_mean             "985.4113"   "951.0036"  
## IQR                 "40000"      "40000"     
## skewness            "0.7511715"  "0.5580377" 
## kurtosis            " 0.5177351" "-0.1601572"
## p00                 "10000"      "10000"     
## p01                 "10000"      "10000"     
## p05                 "10000"      "10000"     
## p10                 "20000"      "20000"     
## p20                 "30000"      "30000"     
## p25                 "30000"      "30000"     
## p30                 "40000"      "40000"     
## p40                 "40000"      "40000"     
## p50                 "60000"      "60000"     
## p60                 "60000"      "60000"     
## p70                 "70000"      "70000"     
## p75                 "70000"      "70000"     
## p80                 "80000"      "80000"     
## p90                 "1e+05"      "1e+05"     
## p95                 "120000"     "120000"    
## p99                 "131400"     "130000"    
## p100                "170000"     "130000"

## Impute outliers with capping
## 
## * Information of Imputation (before vs after)
##                     Original     Imputation  
## described_variables "value"      "value"     
## n                   "992"        "992"       
## na                  "8"          "8"         
## mean                "44.18145"   "44.11774"  
## sd                  "11.36201"   "11.19318"  
## se_mean             "0.3607441"  "0.3553838" 
## IQR                 "17"         "17"        
## skewness            "0.5233968"  "0.4384776" 
## kurtosis            "-0.2613341" "-0.5656148"
## p00                 "25"         "25"        
## p01                 "26"         "26"        
## p05                 "28"         "28"        
## p10                 "30"         "30"        
## p20                 "34"         "34"        
## p25                 "35"         "35"        
## p30                 "37"         "37"        
## p40                 "40"         "40"        
## p50                 "43"         "43"        
## p60                 "46"         "46"        
## p70                 "49"         "49"        
## p75                 "52"         "52"        
## p80                 "54"         "54"        
## p90                 "60.9"       "60.9"      
## p95                 "65.4500"    "65.2025"   
## p99                 "71.09"      "70.00"     
## p100                "89"         "74"

1.4 Czyszczenie danych - imputacje

W celu wyeliminowania brakujących danych, należy zastosować wybrane metody imputacji. W przypadku zmiennej Income, brakujące wartości zniknęły po zastosowaniu imputacji na wartości odstające. Dla pozostałych zmiennych posłużymy się głównie metodą “mice”.

## * Impute missing values based on Multivariate Imputation by Chained Equations
##  - method : mice
##  - random seed : 95682
## 
## * Information of Imputation (before vs after)
##        original imputation original_percent imputation_percent
## Female      489        497             48.9               49.7
## Male        500        503             50.0               50.3
## <NA>         11          0              1.1                0.0

## * Impute missing values based on Multivariate Imputation by Chained Equations
##  - method : mice
##  - random seed : 78684
## 
## * Information of Imputation (before vs after)
##                     Original     Imputation  
## described_variables "value"      "value"     
## n                   " 992"       "1000"      
## na                  "8"          "0"         
## mean                "1.910282"   "1.907600"  
## sd                  "1.62691"    "1.62479"   
## se_mean             "0.05165445" "0.05138037"
## IQR                 "3"          "3"         
## skewness            "0.3929996"  "0.3926193" 
## kurtosis            "-1.018474"  "-1.014563" 
## p00                 "0"          "0"         
## p01                 "0"          "0"         
## p05                 "0"          "0"         
## p10                 "0"          "0"         
## p20                 "0"          "0"         
## p25                 "0"          "0"         
## p30                 "1"          "1"         
## p40                 "1"          "1"         
## p50                 "2"          "2"         
## p60                 "2"          "2"         
## p70                 "3"          "3"         
## p75                 "3"          "3"         
## p80                 "4"          "4"         
## p90                 "4"          "4"         
## p95                 "5"          "5"         
## p99                 "5"          "5"         
## p100                "5"          "5"

## * Impute missing values based on Multivariate Imputation by Chained Equations
##  - method : mice
##  - random seed : 80724
## 
## * Information of Imputation (before vs after)
##                     Original     Imputation  
## described_variables "value"      "value"     
## n                   " 991"       "1000"      
## na                  "9"          "0"         
## mean                "1.455096"   "1.451800"  
## sd                  "1.121755"   "1.121809"  
## se_mean             "0.03563373" "0.03547471"
## IQR                 "1"          "1"         
## skewness            "0.4178828"  "0.4209327" 
## kurtosis            "-0.3985382" "-0.3995784"
## p00                 "0"          "0"         
## p01                 "0"          "0"         
## p05                 "0"          "0"         
## p10                 "0"          "0"         
## p20                 "0"          "0"         
## p25                 "1"          "1"         
## p30                 "1"          "1"         
## p40                 "1"          "1"         
## p50                 "1"          "1"         
## p60                 "2"          "2"         
## p70                 "2"          "2"         
## p75                 "2"          "2"         
## p80                 "2"          "2"         
## p90                 "3"          "3"         
## p95                 "4"          "4"         
## p99                 "4"          "4"         
## p100                "4"          "4"

## * Impute missing values based on Multivariate Imputation by Chained Equations
##  - method : mice
##  - random seed : 90584
## 
## * Information of Imputation (before vs after)
##         original imputation original_percent imputation_percent
## Married      535        540             53.5                 54
## Single       458        460             45.8                 46
## <NA>           7          0              0.7                  0

## * Impute missing values based on Multivariate Imputation by Chained Equations
##  - method : mice
##  - random seed : 35648
## 
## * Information of Imputation (before vs after)
##      original imputation original_percent imputation_percent
## No        314        316             31.4               31.6
## Yes       682        684             68.2               68.4
## <NA>        4          0              0.4                0.0

Po imputacjach liczba braków wygląda następująco.

## [1] 0

Jak widać na wykresie, pozbyliśmy się właśnie brakujących wartości, dzięki czemu możemy przejść do analizowania zebranych danych.

Rozdział 2 - Wizualizacje

2.1 Badanie kształtowania się dochodu względem innych cech klientów

Poniżej zostały zaprezentowane wykresy dochodu względem płci.

Poniżej można zobaczyć, jak wyglądają histogramy dochodu vs płeć i edukacja

Wykres rozrzutu dochodu względem wieku.

Wykresy podełkowe dochodu vs pozostałe zmienne jakościowe.

Histogram wielkości dochodu vs decyzja o zakupie roweru.

2.2 Wykresy przedstawiające wybrane zmienne jakościowe względem zakupu roweru

Zakup roweru vs stan cywilny oraz płeć.

Zakup roweru vs liczba dzieci.

Zakup roweru vs wiek.

Zakup roweru vs dochód

Wykres gęstości liczby posiadanych aut a zakup roweru

Zakup roweru vs commute distance oraz liczba posiadanych aut

Wykres punktowy zakup roweru vs commute distance

Rozdział 3. Analiza opisowa

Przeprowadzona analiza opisowa stanowi kluczowy krok w procesie zrozumienia profilu klientów sklepu rowerowego, umożliwiając identyfikację kluczowych czynników wpływających na ich zachowania konsumenckie. Wnioski wypływające z tej analizy staną się fundamentem dla dalszych rozważań i rekomendacji mających na celu optymalizację strategii marketingowej oraz lepsze zaspokojenie potrzeb klientów.W tym rozdziale zostaną przedstawione podstawowe statystyki opisowe wybranych zmiennych, tabele liczności i rokłady gęstości.

Tabele częstości zmiennych ilościowych (Age i Income) oraz współczynnik TAI

Tabela liczności Dochodów kielntów
Freq % Valid % Valid Cum. % Total % Total Cum.
10-30 tys. 208 22.437972 22.43797 20.8 20.8
30-50 tys. 193 20.819849 43.25782 19.3 40.1
50-70 tys. 294 31.715210 74.97303 29.4 69.5
70-90 tys. 128 13.807983 88.78101 12.8 82.3
90-110 tys. 45 4.854369 93.63538 4.5 86.8
110-130 tys. 59 6.364617 100.00000 5.9 92.7
<NA> 73 NA NA 7.3 100.0
Total 1000 100.000000 100.00000 100.0 100.0
x
# classes 6.0000000
Goodness of fit 0.9715939
Tabular accuracy 0.8071939
Tabela liczności wieku
Freq % Valid % Valid Cum. % Total % Total Cum.
(25,32] 161 16.180905 16.18090 16.1 16.1
(32,39] 215 21.608040 37.78894 21.5 37.6
(39,46] 231 23.216080 61.00503 23.1 60.7
(46,53] 185 18.592965 79.59799 18.5 79.2
(53,60] 103 10.351759 89.94975 10.3 89.5
(60,67] 78 7.839196 97.78894 7.8 97.3
(67,74] 22 2.211055 100.00000 2.2 99.5
<NA> 5 NA NA 0.5 100.0
Total 1000 100.000000 100.00000 100.0 100.0
Test
x
# classes 7.0000000
Goodness of fit 0.9681742
Tabular accuracy 0.8124169

Na podstawie współczynnika TAI (Tabular Accuracy Index) możemy zweryfikować poprawność doboru przedziałów zmiennch. Wynosi on odpowiedno 0,807 dla dochodów i 0,812 dla tabeli wieku. Taki poziom można za dosyć wysoki, zatem zakceptujemy zaproponowaną konstrukcję tablicy częstości.

Tabele czętości zmiennych jakościowych

Tabela liczności zmiennych wg decyzji zakupu roweru
Zakup roweru No, N = 5191 Yes, N = 4811
Gender

     0 (0%) 0 (0%)
    Female 256 (49%) 241 (50%)
    Male 263 (51%) 240 (50%)
Home.Owner

     0 (0%) 0 (0%)
    No 160 (31%) 156 (32%)
    Yes 359 (69%) 325 (68%)
Marital.Status

     0 (0%) 0 (0%)
    Married 307 (59%) 233 (48%)
    Single 212 (41%) 248 (52%)
Cars

    0 93 (18%) 150 (31%)
    1 117 (23%) 153 (32%)
    2 218 (42%) 124 (26%)
    3 53 (10%) 33 (6.9%)
    4 38 (7.3%) 21 (4.4%)
Commute.Distance

    0-1 Miles 166 (32%) 200 (42%)
    1-2 Miles 92 (18%) 77 (16%)
    10+ Miles 78 (15%) 33 (6.9%)
    2-5 Miles 67 (13%) 95 (20%)
    5-10 Miles 116 (22%) 76 (16%)
1 n (%)
Tabela liczności zmiennych wg płci
Płeć ****, N = 01 Female, N = 4971 Male, N = 5031
Region


    Europe 0 (0%) 164 (55%) 136 (45%)
    North America 0 (0%) 245 (48%) 263 (52%)
    Pacific 0 (0%) 88 (46%) 104 (54%)
Occupation


    Clerical 0 (0%) 95 (54%) 82 (46%)
    Management 0 (0%) 80 (46%) 93 (54%)
    Manual 0 (0%) 68 (57%) 51 (43%)
    Professional 0 (0%) 128 (46%) 148 (54%)
    Skilled Manual 0 (0%) 126 (49%) 129 (51%)
Education


    Bachelors 0 (0%) 150 (49%) 156 (51%)
    Graduate Degree 0 (0%) 95 (55%) 79 (45%)
    High School 0 (0%) 80 (45%) 99 (55%)
    Partial College 0 (0%) 134 (51%) 131 (49%)
    Partial High School 0 (0%) 38 (50%) 38 (50%)
1 n (%)
Tabela liczności wybranych zmiennych wg odległości dojazdu
Commute distance 0-1 Miles, N = 3661 1-2 Miles, N = 1691 10+ Miles, N = 1111 2-5 Miles, N = 1621 5-10 Miles, N = 1921
Region




    Europe 188 (51%) 38 (22%) 18 (16%) 40 (25%) 16 (8.3%)
    North America 126 (34%) 108 (64%) 62 (56%) 103 (64%) 109 (57%)
    Pacific 52 (14%) 23 (14%) 31 (28%) 19 (12%) 67 (35%)
Cars




    0 166 (45%) 31 (18%) 4 (3.6%) 36 (22%) 6 (3.1%)
    1 86 (23%) 48 (28%) 13 (12%) 72 (44%) 51 (27%)
    2 79 (22%) 75 (44%) 43 (39%) 38 (23%) 107 (56%)
    3 19 (5.2%) 8 (4.7%) 32 (29%) 8 (4.9%) 19 (9.9%)
    4 16 (4.4%) 7 (4.1%) 19 (17%) 8 (4.9%) 9 (4.7%)
Occupation




    Clerical 109 (30%) 30 (18%) 0 (0%) 15 (9.3%) 23 (12%)
    Management 44 (12%) 30 (18%) 41 (37%) 23 (14%) 35 (18%)
    Manual 71 (19%) 27 (16%) 0 (0%) 19 (12%) 2 (1.0%)
    Professional 60 (16%) 27 (16%) 60 (54%) 73 (45%) 56 (29%)
    Skilled Manual 82 (22%) 55 (33%) 10 (9.0%) 32 (20%) 76 (40%)
1 n (%)

Na podstawie tabeli wg decyzji zakupu można powiedzieć, że zdecydowana większość klientów posiadała dom (ok. 70% wśród kupujących i niekupujących). Ponad połowa osób, które zakupiły rower były singlammi, natomiast w grupie osób, które nie dokonały zakupu prawie 60% stanowiły os. w związkach małżeńskich. Aż 42% os. które kupiły rower miały mniej niż 1 mile dojazdu.

Liczności przedstwione w tabeli wg płci pozwalają stwierdzić, że w Europie większą grupą klientów były kobiety(55%), natomiast na Pcyfiku byli to mężczyżni (55%).

Najdłuży dojazd do pracy (5-10 mil) miały osoby mieszkające w Ameryce półcnocej, a także posiadacze dwóch aut oraz pracownicy wykwalifikowani (skilled Manual). Natomiast do grup o najkrótszej odległości dojazdu (<1 mila) zaliczymy klientów z Europy lub nieposiadających auta czy Urzędników (Clerical).

##Statystyki opisowe dla zmiennych ilościowych (Income, Age)

Tabela 1. Rozkład Dochodów wg decyzji zakupu roweru
Zakup roweru No, N = 519 Yes, N = 481 p-value1
Dochód klienta

0.12
    N 519 481
    Mean 54,624 57,277
    SD 30,419 29,288
    Median (IQR) 60,000 (30,000, 70,000) 60,000 (40,000, 70,000)
    Range 10,000, 130,000 10,000, 130,000
1 Wilcoxon rank sum test
Tabela 2. Rozkład dochodów względem wykonywanej profesji
Occupation Min Max średnia Odch St Mediana Q1 Q3 Skośność Kurtoza
Management 40000 130000 85722.54 26658.33 80000 70000 110000 0.1764 -1.0173
Professional 40000 130000 74166.67 21868.06 70000 60000 80000 0.9102 0.5930
Skilled Manual 10000 90000 51568.63 16739.38 50000 40000 60000 0.0987 -0.7831
Clerical 10000 60000 31186.44 7995.33 30000 30000 40000 -0.3464 0.6546
Manual 10000 60000 16218.49 9387.30 10000 10000 20000 2.6351 9.3552
Tabela 3. Rozkład wieku wg płci
Płeć Min Max średnia Odch St Mediana Q1 Q3 Skośność Kurtoza
Female 25 72 44.00 11.03 42 35 51 0.4475 -0.5886
Male 25 74 44.21 11.27 43 35 52 0.4330 -0.5329
Tabela 4. Rozkład wieku względem Regionu
Region Min Max średnia Odch St Mediana Q1 Q3 Skośność Kurtoza
Europe 25 70 42.66 10.36 41 35 50 0.6366 -0.3816
North America 25 74 44.89 11.38 44 36 52 0.3503 -0.5905
Pacific 25 69 44.29 11.54 43 36 52 0.3655 -0.6866
Tabela 5. Dochody względem liczby posiadanych aut
średnia mediana boxplot histogram
0 47037.04 40000
1 50555.56 50000
2 49152.05 40000
3 90348.84 90000
4 105762.71 110000

Historam wieku z rozkładem decyzji o zakupie

Wykres gęstości Wieku wg zakupu roweru

Powyższe wykresy gęstości wraz z statystykami opisowe pozwalają stwiedzić, że m.in. mediana wieku klientów, którzy dokonali zakupu wyniosła 41, a tych którzy nie zrobili tego - 44 lat. Natomiast mediana dochodu obu grup klienów była taka sama (60 000), z tym, że śrendio kupujący zarabiali ok 57tys., a ci którzy nie zdecydowali się do zakupu ok 54,5tys.

Badanie korelacji zmiennych opisujących klientów (Dochód, wiek, liczba dzieci)

Z wykresu i macierzy korelacji wynika, że dochód ma niską dodatnią korelacje z liczbą dzieci i wiekiem klientów. Natomiast wyższą dodatnią koralcje ma wiek z liczbą dzieci.

Rozdział 4. Wnioskowanie statystyczne

4.1 Testowanie hipotez

W tym rozdziale zostaną zweryfikowane hipotezy badawcze dotyczące występowania różnic pomiędzy strukturą zmiennej dotyczącej decyzji o zakupie roweru, a pozostałymi zmiennymi. Na potrzebę testowania hipotez statystycznych przyjęto poziom istotności alfa (alfa = 0,05).

Test 1. H0: brak różnic pomiędzy strukturą wykształcenia a decyzją zakupu rowerów

Na podstawie p-value > alfa=0.05 stwierdzamy brak podstaw do odrzucenia hipotezy zerowej. Zatem występuje brak istotnych różnic pomiędzy poziomem wykształcenia klientów, a ich decyzją o zakupie rowerów.

Test 2. H0: brak różnic pomiędzy wiekiem klienta, a decyzją zakupu roweru

p-value < alfa=0.05 Odrzucamy H0 na rzecz H1. Zatem wiek klienta istotnie wpływa na decyzje zakupu roweru.

Test 3. H0: brak różnic pomiędzy stanem cywilnym a decyzją zakupu rowerów

Na podstawie p-value < alfa=0.05 stwierdzamy odrzucamy hipotezę zerową. Stan cywilny klienta ma istotny wpływ na jego decyzję o zakupie roweru.

Test 4. H0: brak różnic pomiędzy płcią a decyzją zakupu rowerów

Na podstawie p-value > alfa=0.05 stwierdzamy brak podstaw do odrzucenia hipotezy zerowej. Brak istotnych różnic pomiędzy płcią klientów, a ich decyzją o zakupie rowerów.

Test 5. H0: brak różnic pomiędzy dochodem a decyzją zakupu rowerów

Na podstawie p-value > alfa=0.05 stwierdzamy brak podstaw do odrzucenia hipotezy zerowej. Brak istotnych różnic pomiędzy dochodem klientów, a ich decyzją o zakupie rowerów.

Test 6. H0: brak różnic pomiędzy liczbą dzieci a decyzją zakupu rowerów

p-value < alfa=0.05 Odrzucamy H0 na rzecz H1. Zatem liczba dzieci istotnie wpływa na decyzje zakupu roweru.

Test 7. H0: brak różnic pomiędzy wykształceniem a decyzją zakupu rowerów

p-value < alfa=0.05 Odrzucamy H0 na rzecz H1. Zatem wykształcenie istotnie wpływa na decyzje zakupu roweru.

Test 8. H0: brak różnic pomiędzy posiadaniem domu, a decyzją zakupu rowerów

Na podstawie p-value > alfa=0.05 stwierdzamy brak podstaw do odrzucenia hipotezy zerowej. Brak istotnych różnic pomiędzy posiadaniem domu, a ich decyzją o zakupie rowerów.

Test 9. H0: brak różnic pomiędzy liczbą samochodów a decyzją zakupu rowerów

p-valuen < alfa=0.05 Odrzucamy H0 na rzecz H1. Zatem liczba samochodów istotnie wpływa na decyzje zakupu roweru.

Test 10. H0: brak różnic pomiędzy odległością dojazdów, a decyzją zakupu rowerów

p-value < alfa=0.05 Odrzucamy H0 na rzecz H1. Zatem odległość dojazdów istotnie wpływa na decyzje zakupu roweru.

Test 11. H0: brak różnic pomiędzy regionem, a decyzją zakupu rowerów

p-value < alfa=0.05 Odrzucamy H0 na rzecz H1. Zatem Region istotnie wpływa na decyzje zakupu roweru.

Podsumowując - zaobserwowano różnice pomiędzy strukturą decyzji o zakupie roweru, a zmiennymi takimi jak: Wiek, Liczba dzieci, Wykształcenie, Liczba samochodów, Odległość dojazdów oraz Region;

4.2 Model logitowy

W celu lepszego wyjaśnienia zmiennej dotyczącej decyzji o zakupie roweru, zostanie zbudowany model logitowy bazujący na zestawie wybranych zmiennych objaśniających. Zmienne zostały wybrane na podstawie opisanych wcześniej testów. W modelu znajdują się jedynie zmienne, które istotnie wpływały na decyzję o zakupie roweru.

## 
## Call:
## glm(formula = zakup ~ Region + Commute.Distance + Education + 
##     Children + Marital.Status + Age, family = binomial, data = modified)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.8897  -1.0976  -0.6538   1.0925   2.2016  
## 
## Coefficients:
##                                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                   0.4003300  0.3472255   1.153  0.24894    
## RegionNorth America          -0.0685974  0.1699499  -0.404  0.68648    
## RegionPacific                 0.6473808  0.2149297   3.012  0.00259 ** 
## Commute.Distance1-2 Miles    -0.2279153  0.2045039  -1.114  0.26507    
## Commute.Distance10+ Miles    -1.0432917  0.2610165  -3.997 6.41e-05 ***
## Commute.Distance2-5 Miles     0.1784772  0.2046110   0.872  0.38306    
## Commute.Distance5-10 Miles   -0.6285073  0.2183738  -2.878  0.00400 ** 
## EducationGraduate Degree      0.0008147  0.2018400   0.004  0.99678    
## EducationHigh School         -0.2699100  0.2061923  -1.309  0.19053    
## EducationPartial College     -0.3609280  0.1829570  -1.973  0.04852 *  
## EducationPartial High School -1.2361158  0.2996158  -4.126 3.70e-05 ***
## Children                     -0.1094224  0.0493216  -2.219  0.02652 *  
## Marital.StatusSingle          0.4406030  0.1377538   3.198  0.00138 ** 
## Age                          -0.0020929  0.0073524  -0.285  0.77591    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1384.9  on 999  degrees of freedom
## Residual deviance: 1290.2  on 986  degrees of freedom
## AIC: 1318.2
## 
## Number of Fisher Scoring iterations: 4

Wyrzucamy zmienną, która jednka okazała się nieistotna statystycznie w modelu: Age

## 
## Call:
## glm(formula = zakup ~ Region + Commute.Distance + Education + 
##     Children + Marital.Status, family = binomial, data = modified)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.8856  -1.0917  -0.6569   1.0932   2.1960  
## 
## Coefficients:
##                               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                   0.317867   0.191327   1.661 0.096638 .  
## RegionNorth America          -0.064372   0.169304  -0.380 0.703785    
## RegionPacific                 0.651137   0.214516   3.035 0.002402 ** 
## Commute.Distance1-2 Miles    -0.233016   0.203698  -1.144 0.252653    
## Commute.Distance10+ Miles    -1.054663   0.257733  -4.092 4.28e-05 ***
## Commute.Distance2-5 Miles     0.176111   0.204409   0.862 0.388928    
## Commute.Distance5-10 Miles   -0.641418   0.213678  -3.002 0.002684 ** 
## EducationGraduate Degree      0.001486   0.201778   0.007 0.994125    
## EducationHigh School         -0.264617   0.205314  -1.289 0.197453    
## EducationPartial College     -0.355752   0.182049  -1.954 0.050684 .  
## EducationPartial High School -1.230740   0.298953  -4.117 3.84e-05 ***
## Children                     -0.116567   0.042475  -2.744 0.006062 ** 
## Marital.StatusSingle          0.447573   0.135573   3.301 0.000962 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1384.9  on 999  degrees of freedom
## Residual deviance: 1290.3  on 987  degrees of freedom
## AIC: 1316.3
## 
## Number of Fisher Scoring iterations: 4

Obliczamy ilorazy szans

##                                     OR
## (Intercept)                  1.3741938
## RegionNorth America          0.9376561
## RegionPacific                1.9177205
## Commute.Distance1-2 Miles    0.7921411
## Commute.Distance10+ Miles    0.3483098
## Commute.Distance2-5 Miles    1.1925705
## Commute.Distance5-10 Miles   0.5265453
## EducationGraduate Degree     1.0014868
## EducationHigh School         0.7674999
## EducationPartial College     0.7006466
## EducationPartial High School 0.2920764
## Children                     0.8899701
## Marital.StatusSingle         1.5645106

Z ilorazów szans istotnych zmiennych wynika, że:

  • Mieszkanie w regionie “Pacific” zwiększa szansę na zakup roweru o 91,16%

  • Mieszkanie w odległości dojazd większej od 10 mil (Commute.Distance10+ Miles) zmniejsza szansę na zakup roweru o około 65%. Co ciekawe, jedynie mieszkanie w odległości 2-5 mil zwiększa szanse na zakup roweru, a dokładnie zwiększa o około 19%

  • Posiadanie ukończonego High School zmniejsza szansę na zakup roweru o około 71%

  • Wraz z każdym posiadanym dzieckiem, szansa na zakup roweru maleje o około 11%

  • Status singla zwiększa szansę na zakup roweru o około 57%.

Obliczamy efekty krańcowe zmiennych z tego modelu.

## Call:
## logitmfx(formula = zakup ~ Region + Commute.Distance + Education + 
##     Children + Marital.Status, data = modified)
## 
## Marginal Effects:
##                                    dF/dx   Std. Err.       z     P>|z|    
## RegionNorth America          -0.01605794  0.04222732 -0.3803 0.7037422    
## RegionPacific                 0.16090027  0.05153179  3.1223 0.0017941 ** 
## Commute.Distance1-2 Miles    -0.05777492  0.05006976 -1.1539 0.2485459    
## Commute.Distance10+ Miles    -0.24309858  0.05149898 -4.7205 2.353e-06 ***
## Commute.Distance2-5 Miles     0.04398768  0.05103959  0.8618 0.3887785    
## Commute.Distance5-10 Miles   -0.15578670  0.04963733 -3.1385 0.0016982 ** 
## EducationGraduate Degree      0.00037065  0.05033990  0.0074 0.9941252    
## EducationHigh School         -0.06554520  0.05033256 -1.3022 0.1928334    
## EducationPartial College     -0.08802842  0.04448781 -1.9787 0.0478488 *  
## EducationPartial High School -0.27405593  0.05400135 -5.0750 3.875e-07 ***
## Children                     -0.02908014  0.01059551 -2.7446 0.0060590 ** 
## Marital.StatusSingle          0.11127731  0.03344857  3.3268 0.0008784 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## dF/dx is for discrete change for the following variables:
## 
##  [1] "RegionNorth America"          "RegionPacific"               
##  [3] "Commute.Distance1-2 Miles"    "Commute.Distance10+ Miles"   
##  [5] "Commute.Distance2-5 Miles"    "Commute.Distance5-10 Miles"  
##  [7] "EducationGraduate Degree"     "EducationHigh School"        
##  [9] "EducationPartial College"     "EducationPartial High School"
## [11] "Marital.StatusSingle"

Z kolei z efektów krańcowych opisanych wcześniej zmiennych wynika, że:

  • Mieszkanie w regionie “Pacific” zwiększa prawdopodobieństwo na zakup roweru o 0.16

  • Mieszkanie w odległości dojazd większej od 10 mil (Commute.Distance10+ Miles) zmniejsza prawdopodobieństwo zakupu roweru o około 0.24. Ponownie, jedynie mieszkanie w odległości 2-5 mil zwiększa prawdopodobieństwo na zakup roweru, o 0.04

  • Posiadanie ukończonego High School zmniejsza prawdopodobieństwo zakupu roweru o 0.06

  • Wraz z każdym posiadanym dzieckiem, prawdopodobieństwo zakupu roweru maleje o około 0,03

  • Status singla, zwiększa prawdopodobieństwo, że dana osoba kupi rower o około 0.11.

Podsumowanie i wnioski

Analiza danych klientów sklepu rowerowego składała się kilku kluczowych etapów. Pierwszą fazą było przekształcanie danych tak, aby uzyskać spójny, kompletny i gotowy do analizy zbiór danych. Pierwotne dane zawierały 1000 obserwacji, z czego brakujące obserwacje stanowiły 0,2%. Imputację dokonano metodą mice oraz przez zastąpienie medianą, a wartości odstające metodą capping. W drugiej fazie dokonano wizualizacji danych. Poprzez wykorzystanie różnego rodzaju wykresów staraliśmy się klarownie przedstawić informacje zebrane z ankiet klientów i danych o sprzedaży. Kluczowa była prezentacja zależności dochodów klientów i decyzji o zakupie względem pozostałych cech. Trzecia faza to zgłębienie wiedzy o tym, czym charakteryzował się przeciętny klient sklepu. Zostały wyliczone podstawowe statystyki opisowe, tabele liczności oraz zbadana korelacja zmiennych. Wynika z nich, że klient, który zakupił rower mógł być za równo kobietą jak i mężczyzną, miał średnio 43 lata, zarabiał 57 tys. dolarów/rocznie, był posiadaczem domu, a jego dzienna odległość przejazdów wynosiła mniej niż 1 mila. Ostatni etap analizy - wnioskowanie statystyczne wskazał, które cechy istotnie wpływają na zakup roweru. Pozytywny wpływ ma bycie singlem oraz mieszkanie w regionie Pacyfiku. Natomiast negatywnie na decyzje o zakupie przez klienta oddziałuje konieczność dłuższych dojazdów, posiadanie większej liczby dzieci i ukończenie tylko szkoły średniej.

Podsumowując, analiza danych zebranych z ankiet klientów sklepu rowerowego za pomocą programu R-studio pozwoliła na lepsze zrozumienie profilu klientów i zidentyfikowanie ich cech, które istotnie wpływają na decyzję o zakupie produktu. Rekomendujemy sklepowi uwzględnienie wyników analizy w planowaniu asortymentu oraz strategii marketingowej, co może przyczynić się do zwiększenia satysfakcji klientów oraz wzrostu sprzedaży.