library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
mydata <- read_xlsx("./1ka data.xlsx")
mydata <- as.data.frame(mydata)
mydata$ID <- seq(1, nrow(mydata))
mydata <- mydata %>%
filter(!ID %in% 1)
mydata[c(2:9,11, 17:45,48)] <- mydata[c(2:9,11, 17:45,48)] %>% mutate_all(as.numeric)
mydata$Promocije <- factor(mydata$Promocije,
levels = c(1, 2),
labels = c("Da","Ne"))
mydata$`V mobilni aplikaciji` <- factor(mydata$`V mobilni aplikaciji`,
levels = c(1, 0),
labels = c("V mobilni aplikaciji","Ne"))
mydata$`V poslovalnici` <- factor(mydata$`V poslovalnici`,
levels = c(1, 0),
labels = c("V poslovalnici","Ne"))
mydata$`Nisem jih uporabljal/a` <- factor(mydata$`Nisem jih uporabljal/a`,
levels = c(1, 0),
labels = c("Nisem uporabljal/a","Ne"))
mydata$`Kje bi uporabili` <- factor(mydata$`Kje bi uporabili`,
levels = c(1, 2),
labels = c("V poslovalnici","V mobilni aplikaciji"))
mydata$`Sklenitev potrošniškega kredita` <- factor(mydata$`Sklenitev potrošniškega kredita`,
levels = c(1, 2),
labels = c("Da","Ne"))
mydata$`Spremembo limita na računu` <- factor(mydata$`Spremembo limita na računu`,
levels = c(1, 2),
labels = c("Da","Ne"))
mydata$`Sprememba limita na plačilni kartici` <- factor(mydata$`Sprememba limita na plačilni kartici`,
levels = c(1, 2),
labels = c("Da","Ne"))
mydata$`Naročilo nove kartice` <- factor(mydata$`Naročilo nove kartice`,
levels = c(1, 2),
labels = c("Da","Ne"))
mydata$`Odprtje varčevalnega računa` <- factor(mydata$`Odprtje varčevalnega računa`,
levels = c(1, 2),
labels = c("Da","Ne"))
mydata$`Sklenitev depozita` <- factor(mydata$`Sklenitev depozita`,
levels = c(1, 2),
labels = c("Da","Ne"))
mydata$Spol <- factor(mydata$Spol,
levels = c(1, 2, 3),
labels = c("Female","Male", "I don't want to answer"))
mydata$`S starši` <- factor(mydata$`S starši`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$`S sorojenci` <- factor(mydata$`S sorojenci`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$`S sorodniki (dedek, babica, stric, teta ...)` <- factor(mydata$`S sorodniki (dedek, babica, stric, teta ...)`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$`S partnerko/jem` <- factor(mydata$`S partnerko/jem`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$`Z otroki` <- factor(mydata$`Z otroki`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$`S skrbnikom/i` <- factor(mydata$`S skrbnikom/i`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$`Drugo:` <- factor(mydata$`Drugo:`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$`Živim sam/a` <- factor(mydata$`Živim sam/a`,
levels = c(1, 0),
labels = c("Selected","Not selected"))
mydata$Prebivalci <- factor(mydata$Prebivalci,
levels = c(1, 2, 3, 4, 5, 6),
labels = c("Less than 1.000 habitants",
"1.000 – 5.000 habitants",
"5.001 – 20.000 habitants",
"20.001 – 50.000 habitants",
"50.001 – 100.000 habitants",
"More than 100.000 habitants"))
mydata$Banka <- factor(mydata$Banka,
levels = c(3, 5, 1, 9, 12, 7, 10, 4, 11, 6),
labels = c("OTP banka d.d.","Banka Intesa Sanpaolo d.d.", "Nova Ljubljanska Banka d.d. (NLB)", "Gorenjska Banka d.d.", "Delavska Hranilnica d.d.", "Revolut", "Deželna Banka Slovenije d.d.", "Banka Sparkasse d.d.", "Addiko Bank d.d.", "UniCredit Banka Slovenija d.d."))
mydata$Zaposlitev <- factor(mydata$Zaposlitev,
levels = c(1, 2, 3, 5, 6, 4),
labels = c("Študent/-ka","Redno zaposlen/-a", "Upokojen/-a", "Samozaposlen/-a", "Delno zaposlen/-a", "Brezposeln/-a"))
mydata$Prihodek <- factor(mydata$Prihodek,
levels = c(1, 2, 3, 4, 5, 6, 7, 8),
labels = c("Pod 1.000€","1.000€ - 1.500€","1.501€ - 2.000€","2.001€ - 3.000€","3.001€ - 5.000€","5.001€ - 10.000€","Above 10.000€", "I don't want to answer"))
mydata$Izobrazba <- factor(mydata$Izobrazba,
levels = c(2, 3, 4, 5, 6, 7),
labels = c(
"Dokončana osnovna šola",
"Dokončana nižja ali srednja poklicna izobrazba",
"Dokončana srednja strokovna ali splošna izobrazba",
"Dokončana višješolska strokovna ali visokošolska strokovna izobrazba (tudi 1. bolonjska stopnja)",
"Dokončana visokošolska strokovna univerzitetna izobrazba (tudi 2. bolonjska stopnja)",
"Dokončana specializacija, znanstveni magisterij, doktorat"
))
library(psych)
describe(mydata)
## vars n mean sd median
## Q1 1 265 1.00 0.00 1
## Pogostost uporabe 2 265 4.50 1.28 5
## Zavedam se da lahko opravim več 3 265 4.32 0.87 5
## Sklenitev potrošniškega kredita 4 265 1.38 0.49 1
## Spremembo limita na računu 5 265 1.19 0.39 1
## Naročilo nove kartice 6 265 1.28 0.45 1
## Sprememba limita na plačilni kartici 7 265 1.18 0.39 1
## Odprtje varčevalnega računa 8 265 1.35 0.48 1
## Sklenitev depozita 9 265 1.54 0.50 2
## Kje ste zvedeli 10 265 2.16 1.74 1
## Enostavnost najdbe 11 265 3.50 0.86 4
## Promocije 12 265 1.47 0.50 1
## V mobilni aplikaciji 13 265 1.60 0.49 2
## V poslovalnici 14 265 1.75 0.44 2
## Nisem jih uporabljal/a 15 265 1.57 0.50 2
## Kje bi uporabili 16 265 1.64 0.48 2
## Pomanjkanje potrebe 17 265 3.44 1.26 4
## Težave pri iskanju 18 265 2.73 1.13 3
## Zaskrbljenost 19 265 2.60 1.31 2
## Stik 20 265 2.97 1.32 3
## Lažje najti 21 265 3.07 1.20 3
## Navodila 22 265 3.38 1.18 4
## Zmanjšala čas 23 265 3.43 1.24 4
## Personalizirana priporočila 24 265 3.12 1.25 3
## Dizajn 25 265 2.93 1.24 3
## Možnost je koristna 26 265 4.13 0.86 4
## Zaskrbljenost glede varnosti 27 265 2.51 1.22 2
## Support and guidance 28 265 3.83 1.06 4
## Confidence 29 265 4.08 0.95 4
## Security 30 265 4.26 1.02 5
## Accesibility 31 265 4.04 0.91 4
## Clarity 32 265 4.02 0.92 4
## Speed 33 265 4.22 0.89 4
## Branch_Support and guidance 34 265 3.81 0.88 4
## Mobile app_Support and guidance 35 265 3.12 0.88 3
## Branch_Confidence 36 265 3.92 0.87 4
## Mobile app_Confidence 37 265 3.55 0.87 4
## Branch_Security 38 265 4.21 0.81 4
## Mobile app_Security 39 265 3.70 0.85 4
## Branch_Accesibility 40 265 3.78 1.00 4
## Mobile app_Accesibility 41 265 3.79 0.89 4
## Branch_Clarity 42 265 3.91 0.91 4
## Mobile app_Clarity 43 265 3.35 0.85 3
## Branch_Speed 44 265 2.89 1.02 3
## Mobile app_Speed 45 265 4.20 0.76 4
## Komentar 46 265 1.58 2.54 1
## Spol 47 265 1.55 0.52 2
## Starost 48 265 1990.60 14.72 1998
## S starši 49 265 1.62 0.49 2
## S sorojenci 50 265 1.85 0.36 2
## S sorodniki (dedek, babica, stric, teta ...) 51 265 1.96 0.19 2
## S partnerko/jem 52 265 1.55 0.50 2
## Z otroki 53 265 1.83 0.38 2
## S skrbnikom/i 54 265 2.00 0.00 2
## Živim sam/a 55 265 1.82 0.39 2
## Drugo: 56 265 1.99 0.09 2
## Prebivalci 57 265 3.94 1.88 4
## Banka 58 249 3.12 2.43 3
## Q45_13_text 59 265 1.04 0.33 1
## Zaposlitev 60 265 1.82 0.91 2
## Prihodek 61 265 3.10 2.16 3
## Izobrazba 62 264 3.89 1.10 4
## ID 63 265 134.00 76.64 134
## trimmed mad min max range
## Q1 1.00 0.00 1 1 0
## Pogostost uporabe 4.66 1.48 1 6 5
## Zavedam se da lahko opravim več 4.49 0.00 1 5 4
## Sklenitev potrošniškega kredita 1.35 0.00 1 2 1
## Spremembo limita na računu 1.12 0.00 1 2 1
## Naročilo nove kartice 1.23 0.00 1 2 1
## Sprememba limita na plačilni kartici 1.10 0.00 1 2 1
## Odprtje varčevalnega računa 1.32 0.00 1 2 1
## Sklenitev depozita 1.55 0.00 1 2 1
## Kje ste zvedeli 1.83 0.00 1 6 5
## Enostavnost najdbe 3.52 1.48 1 5 4
## Promocije 1.46 0.00 1 2 1
## V mobilni aplikaciji 1.62 0.00 1 2 1
## V poslovalnici 1.81 0.00 1 2 1
## Nisem jih uporabljal/a 1.59 0.00 1 2 1
## Kje bi uporabili 1.67 0.00 1 2 1
## Pomanjkanje potrebe 3.54 1.48 1 5 4
## Težave pri iskanju 2.74 1.48 1 5 4
## Zaskrbljenost 2.50 1.48 1 5 4
## Stik 2.96 1.48 1 5 4
## Lažje najti 3.09 1.48 1 5 4
## Navodila 3.47 1.48 1 5 4
## Zmanjšala čas 3.52 1.48 1 5 4
## Personalizirana priporočila 3.15 1.48 1 5 4
## Dizajn 2.92 1.48 1 5 4
## Možnost je koristna 4.25 1.48 1 5 4
## Zaskrbljenost glede varnosti 2.42 1.48 1 5 4
## Support and guidance 3.97 1.48 1 5 4
## Confidence 4.22 1.48 1 5 4
## Security 4.48 0.00 1 5 4
## Accesibility 4.16 1.48 1 5 4
## Clarity 4.13 1.48 1 5 4
## Speed 4.35 1.48 1 5 4
## Branch_Support and guidance 3.86 1.48 1 5 4
## Mobile app_Support and guidance 3.13 1.48 1 5 4
## Branch_Confidence 3.97 1.48 1 5 4
## Mobile app_Confidence 3.57 1.48 1 5 4
## Branch_Security 4.31 1.48 1 5 4
## Mobile app_Security 3.73 1.48 1 5 4
## Branch_Accesibility 3.88 1.48 1 5 4
## Mobile app_Accesibility 3.84 1.48 1 5 4
## Branch_Clarity 4.00 1.48 1 5 4
## Mobile app_Clarity 3.34 1.48 1 5 4
## Branch_Speed 2.90 1.48 1 5 4
## Mobile app_Speed 4.28 1.48 1 5 4
## Komentar 1.00 0.00 1 18 17
## Spol 1.54 0.00 1 3 2
## Starost 1992.75 7.41 1946 2007 61
## S starši 1.65 0.00 1 2 1
## S sorojenci 1.93 0.00 1 2 1
## S sorodniki (dedek, babica, stric, teta ...) 2.00 0.00 1 2 1
## S partnerko/jem 1.56 0.00 1 2 1
## Z otroki 1.91 0.00 1 2 1
## S skrbnikom/i 2.00 0.00 2 2 0
## Živim sam/a 1.90 0.00 1 2 1
## Drugo: 2.00 0.00 1 2 1
## Prebivalci 4.05 2.97 1 6 5
## Banka 2.65 2.97 1 10 9
## Q45_13_text 1.00 0.00 1 5 4
## Zaposlitev 1.66 1.48 1 6 5
## Prihodek 2.76 1.48 1 8 7
## Izobrazba 3.92 1.48 1 6 5
## ID 134.00 97.85 2 266 264
## skew kurtosis se
## Q1 NaN NaN 0.00
## Pogostost uporabe -1.10 0.76 0.08
## Zavedam se da lahko opravim več -1.54 2.46 0.05
## Sklenitev potrošniškega kredita 0.49 -1.77 0.03
## Spremembo limita na računu 1.55 0.41 0.02
## Naročilo nove kartice 0.96 -1.09 0.03
## Sprememba limita na plačilni kartici 1.65 0.71 0.02
## Odprtje varčevalnega računa 0.60 -1.64 0.03
## Sklenitev depozita -0.17 -1.98 0.03
## Kje ste zvedeli 1.34 0.23 0.11
## Enostavnost najdbe -0.33 0.31 0.05
## Promocije 0.13 -1.99 0.03
## V mobilni aplikaciji -0.41 -1.84 0.03
## V poslovalnici -1.13 -0.72 0.03
## Nisem jih uporabljal/a -0.28 -1.93 0.03
## Kje bi uporabili -0.57 -1.68 0.03
## Pomanjkanje potrebe -0.45 -0.73 0.08
## Težave pri iskanju -0.05 -0.97 0.07
## Zaskrbljenost 0.35 -1.06 0.08
## Stik -0.09 -1.18 0.08
## Lažje najti -0.24 -0.84 0.07
## Navodila -0.57 -0.55 0.07
## Zmanjšala čas -0.43 -0.79 0.08
## Personalizirana priporočila -0.31 -0.97 0.08
## Dizajn -0.01 -1.02 0.08
## Možnost je koristna -1.28 2.22 0.05
## Zaskrbljenost glede varnosti 0.43 -0.85 0.07
## Support and guidance -0.96 0.54 0.06
## Confidence -1.19 1.39 0.06
## Security -1.60 2.10 0.06
## Accesibility -1.27 2.05 0.06
## Clarity -1.12 1.62 0.06
## Speed -1.25 1.64 0.05
## Branch_Support and guidance -0.62 0.55 0.05
## Mobile app_Support and guidance -0.08 -0.19 0.05
## Branch_Confidence -0.59 0.39 0.05
## Mobile app_Confidence -0.12 -0.22 0.05
## Branch_Security -1.13 1.85 0.05
## Mobile app_Security -0.44 0.15 0.05
## Branch_Accesibility -0.63 0.10 0.06
## Mobile app_Accesibility -0.42 -0.09 0.05
## Branch_Clarity -0.72 0.33 0.06
## Mobile app_Clarity -0.03 -0.06 0.05
## Branch_Speed 0.07 -0.59 0.06
## Mobile app_Speed -1.02 2.08 0.05
## Komentar 4.73 22.29 0.16
## Spol 0.05 -1.45 0.03
## Starost -1.09 0.15 0.90
## S starši -0.49 -1.77 0.03
## S sorojenci -1.94 1.77 0.02
## S sorodniki (dedek, babica, stric, teta ...) -4.82 21.35 0.01
## S partnerko/jem -0.20 -1.97 0.03
## Z otroki -1.75 1.06 0.02
## S skrbnikom/i NaN NaN 0.00
## Živim sam/a -1.65 0.71 0.02
## Drugo: -11.32 126.52 0.01
## Prebivalci -0.18 -1.52 0.12
## Banka 1.44 1.44 0.15
## Q45_13_text 9.70 98.65 0.02
## Zaposlitev 1.57 3.31 0.06
## Prihodek 1.05 0.18 0.13
## Izobrazba -0.23 -0.34 0.07
## ID 0.00 -1.21 4.71
mydata_PCA <- mydata[c(28:33)]
mydata_PCA2 <- mydata[c(34:45)]
R <- cor(mydata_PCA)
library(psych)
corPlot(R)
library(psych)
cortest.bartlett(R, n = nrow(mydata_PCA))
## $chisq
## [1] 553.3252
##
## $p.value
## [1] 2.869381e-108
##
## $df
## [1] 15
library(psych)
KMO(R)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = R)
## Overall MSA = 0.74
## MSA for each item =
## Support and guidance Confidence Security
## 0.82 0.70 0.70
## Accesibility Clarity Speed
## 0.77 0.79 0.77
library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.4.2
components <- PCA(mydata_PCA,
scale.unit = TRUE,
graph = FALSE)
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.4.2
## Loading required package: ggplot2
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
get_eigenvalue(components)
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 2.9970186 49.950310 49.95031
## Dim.2 1.0382843 17.304739 67.25505
## Dim.3 0.7337893 12.229822 79.48487
## Dim.4 0.5971498 9.952497 89.43737
## Dim.5 0.4276216 7.127027 96.56440
## Dim.6 0.2061363 3.435605 100.00000
Eigenvalue of first 2 principal components for standardized variables is bigger than 1.
The first 1 principal components explain more than 40% of the data. We measure evaluation which is subjective, so we measure soft data for which the chosen number of components should explain around 40% of the data.
The last chosen principal component captures more than 5% of total variance of original variables (5).
fviz_eig(components,
choice = "eigenvalue",
main = "Screeplot",
ylab = "Eigenvalue",
xlab = "Principal component",
addlabels = TRUE)
When looking at the Scree plot the biggest difference between eigenvalues. This is between 1 and 2, so we should choose 1 principal component.
library(psych)
fa.parallel(mydata_PCA,
sim = FALSE,
fa = "pc")
## Parallel analysis suggests that the number of factors = NA and the number of components = 1
Parallel analysis suggests that we should choose 1 principal component.
Because we need to do the perception map, which has 2 principal components, we will use 2.
library(FactoMineR)
components <- PCA(mydata_PCA,
ncp = 2,
scale.unit = TRUE,
graph = FALSE)
components$var$cor
## Dim.1 Dim.2
## Support and guidance 0.6342613 -0.42424621
## Confidence 0.8410214 -0.21848787
## Security 0.8091472 -0.17588683
## Accesibility 0.6469456 0.49579602
## Clarity 0.7638862 -0.09612296
## Speed 0.4802439 0.72427414
loadings <- components$var$cor
library(factoextra)
eigenvalue <- get_eigenvalue(components)[1:2,1 ]
coefficient1 <- loadings[1:6]/sqrt(eigenvalue)[1]
coefficient2 <- loadings[7:12]/sqrt(eigenvalue)[2]
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.2
## Warning: package 'lubridate' was built under R version 4.4.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.4 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ✔ readr 2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ ggplot2::%+%() masks psych::%+%()
## ✖ ggplot2::alpha() masks psych::alpha()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(psych)
mydata_PCAD <- mydata_PCA2 %>%
pivot_longer(everything(), names_to = "name", values_to = "score") %>%
separate(name, into = c("retailer", "dimension"), sep = "_")%>%
pivot_wider(names_from = retailer, values_from = score, values_fn = mean) %>%
column_to_rownames(var = "dimension")
mydata_PCA_std <- scale(mydata_PCAD)
poslovalnica1 <- sum(mydata_PCA_std[,1]*coefficient1)
mobilna_banka1 <- sum(mydata_PCA_std[,2]*coefficient1)
poslovalnica2 <- sum(mydata_PCA_std[,1]*coefficient2)
mobilna_banka2 <- sum(mydata_PCA_std[,2]*coefficient2)
library(factoextra)
p <- fviz_pca_biplot(components, repel = TRUE, invisible = "ind", col.var = "#33006F")
p +
annotate("point", x = poslovalnica1, y = poslovalnica2, color = "#84BD00", size = 4, shape = 16) +
annotate("text", x = poslovalnica1, y = poslovalnica2, label = "Branch", vjust = -1, color = "#84BD00") +
annotate("point", x = mobilna_banka1, y = mobilna_banka2, color = "#FA7800", size = 4, shape = 16) +
annotate("text", x = mobilna_banka1, y = mobilna_banka2, label = "Mobile bank", vjust = -1, color = "#FA7800")
Principal component analysis was performed on 6 standardized variables (n = 265). The KMO measure confirms the appropriateness of the variables, KMO = 0.74, although the data falls into the category “Middling”. The MSA statistics for the individual variables are above 0.50 for all variables. Based on the component’s loadings, we conclude that PC1 (𝜆1 = 2.997) represents quality, while PC2 (𝜆2 = 1.038) represents the contrast between stability and accessibility.
summary(mydata[4:9])
## Sklenitev potrošniškega kredita Spremembo limita na računu
## Da:164 Da:214
## Ne:101 Ne: 51
## Naročilo nove kartice Sprememba limita na plačilni kartici
## Da:190 Da:217
## Ne: 75 Ne: 48
## Odprtje varčevalnega računa Sklenitev depozita
## Da:171 Da:121
## Ne: 94 Ne:144
Market research hypothesis 1: Users have knowledge about the existence of possible advanced services.
We will check every advanced service separately.
Consumer Loan
binom.test(164, 265, p = 0.5, alternative = "greater")
##
## Exact binomial test
##
## data: 164 and 265
## number of successes = 164, number of trials = 265, p-value = 6.535e-05
## alternative hypothesis: true probability of success is greater than 0.5
## 95 percent confidence interval:
## 0.5670886 1.0000000
## sample estimates:
## probability of success
## 0.6188679
We reject H0 at p < 0.001. The proportion of Yes responses is bigger than 50%.
Limit Change
binom.test(214, 265, p = 0.5, alternative = "greater")
##
## Exact binomial test
##
## data: 214 and 265
## number of successes = 214, number of trials = 265, p-value < 2.2e-16
## alternative hypothesis: true probability of success is greater than 0.5
## 95 percent confidence interval:
## 0.7633183 1.0000000
## sample estimates:
## probability of success
## 0.8075472
We reject H0 at p < 0.001. The proportion of Yes responses is bigger than 50%.
Ordering a new card
binom.test(190, 265, p = 0.5, alternative = "greater")
##
## Exact binomial test
##
## data: 190 and 265
## number of successes = 190, number of trials = 265, p-value = 5.532e-13
## alternative hypothesis: true probability of success is greater than 0.5
## 95 percent confidence interval:
## 0.667899 1.000000
## sample estimates:
## probability of success
## 0.7169811
We reject H0 at p < 0.001. The proportion of Yes responses is bigger than 50%.
Limit Change on Credit Card
binom.test(217, 265, p = 0.5, alternative = "greater")
##
## Exact binomial test
##
## data: 217 and 265
## number of successes = 217, number of trials = 265, p-value < 2.2e-16
## alternative hypothesis: true probability of success is greater than 0.5
## 95 percent confidence interval:
## 0.7754507 1.0000000
## sample estimates:
## probability of success
## 0.8188679
We reject H0 at p < 0.001. The proportion of Yes responses is bigger than 50%.
Opening a saving account
binom.test(171, 265, p = 0.5, alternative = "greater")
##
## Exact binomial test
##
## data: 171 and 265
## number of successes = 171, number of trials = 265, p-value = 1.3e-06
## alternative hypothesis: true probability of success is greater than 0.5
## 95 percent confidence interval:
## 0.5940064 1.0000000
## sample estimates:
## probability of success
## 0.645283
We reject H0 at p < 0.001. The proportion of Yes responses is bigger than 50%.
Term Deposits
binom.test(121, 265, p = 0.5, alternative = "greater")
##
## Exact binomial test
##
## data: 121 and 265
## number of successes = 121, number of trials = 265, p-value = 0.9299
## alternative hypothesis: true probability of success is greater than 0.5
## 95 percent confidence interval:
## 0.4049412 1.0000000
## sample estimates:
## probability of success
## 0.4566038
We cannot reject H0 at p < 0.001. The proportion of Yes responses is not bigger than 50%.
Market research hypothesis 2: Users have no difficulties finding advanced services in the mobile bank.
shapiro.test(mydata$`Enostavnost najdbe`)
##
## Shapiro-Wilk normality test
##
## data: mydata$`Enostavnost najdbe`
## W = 0.87107, p-value = 3.88e-14
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$`Enostavnost najdbe`,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$`Enostavnost najdbe`
## V = 10456, p-value = 9.898e-16
## alternative hypothesis: true location is greater than 3
We reject H0 at p < 0.001. Users have no difficulties finding advanced services in the mobile bank.
Market research hypothesis 3: Users prefer to access advanced services in app.
binom.test(198, 320, p = 0.5, alternative = "greater")
##
## Exact binomial test
##
## data: 198 and 320
## number of successes = 198, number of trials = 320, p-value = 1.271e-05
## alternative hypothesis: true probability of success is greater than 0.5
## 95 percent confidence interval:
## 0.5718382 1.0000000
## sample estimates:
## probability of success
## 0.61875
We reject H0 at p < 0.001. The proportion of Yes responses in bigger than 50%.
Market research hypothesis 4: Users don’t use the advanced services in the mobile bank because they don’t need them.
shapiro.test(mydata$`Pomanjkanje potrebe`)
##
## Shapiro-Wilk normality test
##
## data: mydata$`Pomanjkanje potrebe`
## W = 0.88792, p-value = 4.419e-13
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$`Pomanjkanje potrebe`,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$`Pomanjkanje potrebe`
## V = 13012, p-value = 2.59e-07
## alternative hypothesis: true location is greater than 3
We reject H0 at p < 0.001. Users don’t use the advanced services in the mobile bank because they don’t need them.
Market research hypothesis 5: Users perceive the value of the advanced services offered by mobile banking as high.
shapiro.test(mydata$`Možnost je koristna`)
##
## Shapiro-Wilk normality test
##
## data: mydata$`Možnost je koristna`
## W = 0.77981, p-value < 2.2e-16
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$`Možnost je koristna`,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$`Možnost je koristna`
## V = 27089, p-value < 2.2e-16
## alternative hypothesis: true location is greater than 3
We reject H0 at p < 0.001. Users perceive the value of the advanced services offered by mobile banking as high.
Market research hypothesis 6: Users need more detailed video tutorials for advanced services.
shapiro.test(mydata$Navodila)
##
## Shapiro-Wilk normality test
##
## data: mydata$Navodila
## W = 0.88174, p-value = 1.762e-13
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$Navodila,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$Navodila
## V = 14114, p-value = 3.013e-06
## alternative hypothesis: true location is greater than 3
We reject H0 at p < 0.001. Users need more detailed video tutorials for advanced services.
Users would be more likely to use advanced services if the app was simpler to navigate.
shapiro.test(mydata$`Lažje najti`)
##
## Shapiro-Wilk normality test
##
## data: mydata$`Lažje najti`
## W = 0.90609, p-value = 8.214e-12
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$`Lažje najti`,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$`Lažje najti`
## V = 9042.5, p-value = 0.2652
## alternative hypothesis: true location is greater than 3
We cannot reject H0. We cannot say that users would be more likely to use advanced services if the app was simpler to navigate.
Users would be more likely to use advanced services if the app had faster processing times.
shapiro.test(mydata$`Zmanjšala čas`)
##
## Shapiro-Wilk normality test
##
## data: mydata$`Zmanjšala čas`
## W = 0.8937, p-value = 1.079e-12
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$`Zmanjšala čas`,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$`Zmanjšala čas`
## V = 14359, p-value = 1.577e-07
## alternative hypothesis: true location is greater than 3
We reject H0 at p < 0.001. Users would be more likely to use advanced services if the app had faster processing times.
Users would be more likely to use advanced services if the app offered personalized recommendations.
shapiro.test(mydata$`Personalizirana priporočila`)
##
## Shapiro-Wilk normality test
##
## data: mydata$`Personalizirana priporočila`
## W = 0.89455, p-value = 1.233e-12
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$`Personalizirana priporočila`,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$`Personalizirana priporočila`
## V = 11254, p-value = 0.1314
## alternative hypothesis: true location is greater than 3
We cannot reject H0. We cannot say that users would be more likely to use advanced services if the app offered personalized recommendations.
Users would be more likely to use advanced services if the app had an improved design.
shapiro.test(mydata$Dizajn)
##
## Shapiro-Wilk normality test
##
## data: mydata$Dizajn
## W = 0.91132, p-value = 2.041e-11
We reject H0 at p < 0.001. The distribution is not normal. We need to use non parametric test.
wilcox.test(mydata$Dizajn,
mu=3,
alternative = "greater")
##
## Wilcoxon signed rank test with continuity correction
##
## data: mydata$Dizajn
## V = 8691, p-value = 0.8457
## alternative hypothesis: true location is greater than 3
We cannot reject H0. We cannot say that users would be more likely to use advanced services if the app had an improved design.