mydata <- read_excel("excelmagistrska.xlsx", sheet = "Sheet1", col_names = TRUE)
mydata <- mydata[-1, ] # drop the 2nd header row (full question text, not data)
#Identify values -1,-2 and replace them with NA. -3 values were deleted in excel
# -1 means: The person has not answered the specific question
# -2 means: Person did not respond because it did not satisfy if sentence
mydata[mydata == -1] <- NA
mydata[mydata == -2] <- NA
num_cols <- setdiff(names(mydata), c("Q7", "Q9"))
mydata[num_cols] <- lapply(mydata[num_cols], function(x) suppressWarnings(as.numeric(x)))
head(mydata, 10)
## # A tibble: 10 × 41
## Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14a Q14b Q14c Q14d Q15a Q15b
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2 3 1 1 2 1 Petra pa… 3 <NA> 1 3 1 6 4 4 4 4 4 4
## 2 2 4 1 1 3 1 Parovel 2 <NA> 1 3 3 5 3 2 2 2 2 2
## 3 2 1 1 1 1 2 <NA> NA <NA> NA 3 1 6 3 4 3 2 2 3
## 4 3 2 1 1 1 2 <NA> NA <NA> NA 2 3 4 3 2 3 2 2 2
## 5 2 2 1 1 4 1 Se ne sp… 1 <NA> 2 3 4 6 4 4 4 2 3 4
## 6 2 1 1 1 2 1 Mojtribe 8 Craft 1 1 2 6 4 4 4 4 4 4
## 7 2 2 1 1 3 2 <NA> NA <NA> NA 2 2 6 4 4 4 3 3 5
## 8 2 3 1 1 4 2 <NA> NA <NA> NA 1 4 6 2 3 3 3 1 2
## 9 4 2 1 1 3 2 <NA> NA <NA> NA 2 2 5 3 4 4 3 4 4
## 10 3 3 1 1 3 1 Aeon 9 Aeon 1 3 2 3 3 3 3 3 3 3
## # ℹ 22 more variables: Q15c <dbl>, Q15d <dbl>, Q16a <dbl>, Q16b <dbl>, Q16c <dbl>, Q16d <dbl>, Q17a <dbl>, Q17b <dbl>,
## # Q17c <dbl>, Q17d <dbl>, Q18a <dbl>, Q18b <dbl>, Q18c <dbl>, Q18d <dbl>, Q19a <dbl>, Q19b <dbl>, Q19c <dbl>,
## # Q19d <dbl>, Q20 <dbl>, Q21 <dbl>, Q22 <dbl>, Q23 <dbl>
Description:
# Reverse-code frequency items so HIGHER = MORE frequent (scale is 1..6)
mydata$ExposureFreq <- 7 - mydata$Q12
mydata$ActiveSearchFreq <- 7 - mydata$Q13
mydata$BirthF <- factor(mydata$Q1,
levels = c(2, 3, 4, 5),
labels = c("1997–2000", "2001–2004", "2005–2008", "2009–2012"))
mydata$ActivityF <- factor(mydata$Q2,
levels = c(1, 2, 3, 4),
labels = c("5 of more times per week", "3-4 times per week", "1–2 times per week", "A few times a month"))
mydata$SocialMediaActivityF <- factor(mydata$Q3,
levels = c(1,2,3,4,5),
labels = c("Several times per day","Once per day", "1–3 times per week","1–3 times per month","Less than once a month"))
mydata$PlatformF <- factor(mydata$Q4,
levels = c(1, 2, 3, 4, 5),
labels = c("Instagram", "TikTok", "Youtube", "Facebook", "Other"))
mydata$PurchaseHabitsF <- factor(mydata$Q5,
levels = c(1,2,3,4,5),
labels = c("Several times a month","Once a month", "Every few months", "Once or twice a year", "Less than once a year/never"))
mydata$PurchaseInflF <- factor(mydata$Q6,
levels = c(1,2),labels = c("Yes","No"))
mydata$BrandF <- factor(mydata$Q8,
levels = c(1,2,3,4,5,6,7,8,9,10,11,12,13,14),
labels = c("Adidas","Nike","SWY","Lelosi", "Under Armour", "Gymshark", "Lululemon", "Craft", "Aeon", "Myprotein","UniQlo", "Luactive", "Prozis", "Rúngne"))
mydata$InfluencerExposureF <- factor(mydata$Q12,
levels = c(1,2,3,4,5,6),
labels = c("Daily","Several times a week", "Once a week","Two to three times a month","About once a month","Less often than once a month"))
mydata$ContentSearchF <- factor(mydata$Q13,
levels = c(1,2,3,4,5,6),
labels = c("Daily","Several times a week", "Once a week","Two to three times a month","About once a month","Less often than once a month"))
mydata$GenderF <- factor(mydata$Q20,
levels = c(1, 2),
labels = c("Male", "Female"))
mydata$EducationF <- factor(mydata$Q21,
levels = c(1, 2, 3, 4, 5, 6),
labels = c("Primary school", "Lower or vocational secondary school", "Upper secondary", "Higher vocational education", "University degree", "Postgraduate"))
mydata$AreaF <- factor(mydata$Q22,
levels = c(1, 2, 3),
labels = c("Urban", "Suburban", "Rural"))
mydata$InfluencerSizeF <- factor(mydata$Q11,
levels = c(1, 2, 3, 4, 5),
labels = c("Nano Influencers", "Mikro Influencers", "Makro influencers", "Mega influencers", "Celebrity influencers"))
mydata$IncomeF <- factor(mydata$Q23,
levels = c(1, 2, 3, 4, 5, 6, 7),
labels = c("Up to 500 EUR", "501–1,000 EUR", "1,001–1,500 EUR", "1,501–2,000 EUR", "2,001–2,500 EUR","2,501 EUR or more","Prefer not to answer"))
mydata$Credibility <- rowMeans(mydata[, c("Q14a", "Q14b", "Q14c", "Q14d")], na.rm = FALSE)
mydata$Authenticity <- rowMeans(mydata[, c("Q15a", "Q15b", "Q15c", "Q15d")], na.rm = FALSE)
mydata$Engagement <- rowMeans(mydata[, c("Q16a", "Q16b", "Q16c", "Q16d")], na.rm = FALSE)
mydata$Parasocial <- rowMeans(mydata[, c("Q17a", "Q17b", "Q17c", "Q17d")], na.rm = FALSE)
mydata$Homophily <- rowMeans(mydata[, c("Q18a", "Q18b", "Q18c", "Q18d")], na.rm = FALSE)
mydata$BrandLoyalty <- rowMeans(mydata[, c("Q19a", "Q19b", "Q19c", "Q19d")], na.rm = FALSE)
model_vars <- c("BrandLoyalty", "Credibility", "Authenticity", "Engagement",
"Parasocial", "Homophily")
mydata <- mydata[complete.cases(mydata[, model_vars]), ]
row.names(mydata) <- NULL
analytic <- mydata[complete.cases(mydata[, model_vars]), ]
alpha_of <- function(items) suppressWarnings(psych::alpha(mydata[, items])$total$raw_alpha)
data.frame(
Construct = c("Credibility","Authenticity","Engagement","Parasocial","Homophily","BrandLoyalty"),
Alpha = round(c(
alpha_of(c("Q14a","Q14b","Q14c","Q14d")),
alpha_of(c("Q15a","Q15b","Q15c","Q15d")),
alpha_of(c("Q16a","Q16b","Q16c","Q16d")),
alpha_of(c("Q17a","Q17b","Q17c","Q17d")),
alpha_of(c("Q18a","Q18b","Q18c","Q18d")),
alpha_of(c("Q19a","Q19b","Q19c","Q19d"))
), 3)
)
## Construct Alpha
## 1 Credibility 0.871
## 2 Authenticity 0.898
## 3 Engagement 0.826
## 4 Parasocial 0.859
## 5 Homophily 0.851
## 6 BrandLoyalty 0.825
Internal consistency of the measurement scales was assessed using Cronbach’s alpha prior to the regression analyses (how well selected questions behave within one indicator Q14a–Q14d = Credibility) All constructs demonstrated good internal consistency, with Cronbach’s alpha coefficients ranging from .825 to .898 - exceeding the commonly accepted threshold of .70, the scales were considered sufficiently reliable for subsequent analyses.
round(stat.desc(mydata[, c("BrandLoyalty", "Credibility", "Authenticity",
"Engagement", "Parasocial", "Homophily")]), 2)
## BrandLoyalty Credibility Authenticity Engagement Parasocial Homophily
## nbr.val 73.00 73.00 73.00 73.00 73.00 73.00
## nbr.null 0.00 0.00 0.00 0.00 0.00 0.00
## nbr.na 0.00 0.00 0.00 0.00 0.00 0.00
## min 2.00 2.00 1.75 1.00 1.00 1.00
## max 5.00 5.00 5.00 4.75 5.00 5.00
## range 3.00 3.00 3.25 3.75 4.00 4.00
## sum 239.75 273.50 279.50 203.00 238.00 243.00
## median 3.25 3.75 4.00 2.50 3.50 3.25
## mean 3.28 3.75 3.83 2.78 3.26 3.33
## SE.mean 0.10 0.09 0.09 0.11 0.11 0.10
## CI.mean.0.95 0.19 0.18 0.19 0.22 0.23 0.19
## var 0.69 0.57 0.64 0.93 0.96 0.67
## std.dev 0.83 0.75 0.80 0.96 0.98 0.82
## coef.var 0.25 0.20 0.21 0.35 0.30 0.25
Authenticity (M = 3.83) and credibility (M = 3.75) are rated highest, engagement lowest (M = 2.78), and brand loyalty is moderate (M = 3.28). All scores are approximately normally distributed.
#Multicollinearity checks
scatterplotMatrix(mydata[, c("BrandLoyalty", "Credibility", "Authenticity",
"Engagement", "Parasocial", "Homophily")],
smooth = FALSE)
Visual inspection of the scatterplots indicated positively linear relationships between brand loyalty and the predictor variables, with no pronounced nonlinear patterns observed.
rcorr(as.matrix(mydata[, c("BrandLoyalty", "Credibility", "Authenticity",
"Engagement", "Parasocial", "Homophily")]))
## BrandLoyalty Credibility Authenticity Engagement Parasocial Homophily
## BrandLoyalty 1.00 0.58 0.47 0.67 0.66 0.49
## Credibility 0.58 1.00 0.82 0.55 0.66 0.53
## Authenticity 0.47 0.82 1.00 0.54 0.67 0.45
## Engagement 0.67 0.55 0.54 1.00 0.75 0.51
## Parasocial 0.66 0.66 0.67 0.75 1.00 0.71
## Homophily 0.49 0.53 0.45 0.51 0.71 1.00
##
## n= 73
##
##
## P
## BrandLoyalty Credibility Authenticity Engagement Parasocial Homophily
## BrandLoyalty 0 0 0 0 0
## Credibility 0 0 0 0 0
## Authenticity 0 0 0 0 0
## Engagement 0 0 0 0 0
## Parasocial 0 0 0 0 0
## Homophily 0 0 0 0 0
All constructs correlate positively and significantly with brand loyalty (all p < .001); engagement (r = .67) and parasocial relationship (r = .66) most strongly.
We can also observe very high credibility–authenticity correlation (r = .82) and the strong engagement–parasocial (r = .75) and parasocial–homophily (r = .71) correlations.
These foreshadow the shared-variance issues examined below.
fit1 <- lm(BrandLoyalty ~ Credibility + Authenticity + Engagement +
Parasocial + Homophily,
data = mydata)
summary(fit1)
##
## Call:
## lm(formula = BrandLoyalty ~ Credibility + Authenticity + Engagement +
## Parasocial + Homophily, data = mydata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.27056 -0.44078 0.01961 0.42281 1.17126
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.968487 0.386511 2.506 0.01466 *
## Credibility 0.416796 0.167615 2.487 0.01539 *
## Authenticity -0.249102 0.157295 -1.584 0.11798
## Engagement 0.333882 0.106669 3.130 0.00259 **
## Parasocial 0.231911 0.139628 1.661 0.10140
## Homophily 0.007028 0.120363 0.058 0.95361
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5752 on 67 degrees of freedom
## Multiple R-squared: 0.5514, Adjusted R-squared: 0.5179
## F-statistic: 16.47 on 5 and 67 DF, p-value: 1.424e-10
# Normality of residuals
mydata$StdResid <- round(rstandard(fit1), 3)
mydata$CooksD <- round(cooks.distance(fit1), 3)
hist(mydata$StdResid,
xlab = "Standardized residuals",
ylab = "Frequency",
main = "Histogram of standardized residuals")
No outliers above 3, we can assume that the normality is adequately
satisfied.
# Homoscedasticity
ols_test_breusch_pagan(fit1)
##
## Breusch Pagan Test for Heteroskedasticity
## -----------------------------------------
## Ho: the variance is constant
## Ha: the variance is not constant
##
## Data
## ----------------------------------------
## Response : BrandLoyalty
## Variables: fitted values of BrandLoyalty
##
## Test Summary
## ----------------------------
## DF = 1
## Chi2 = 0.1017924
## Prob > Chi2 = 0.7496892
H0: variance is constant (homoscedastic)
The Breusch–Pagan test was conducted to assess the assumption of homoscedasticity. The test was not statistically significant, chi squared = 0.10, p = .750, indicating no evidence of heteroskedasticity. Therefore, the assumption of constant variance was considered satisfied.
# Multicollinearity
vif(fit1)
## Credibility Authenticity Engagement Parasocial Homophily
## 3.454675 3.457208 2.290866 4.090931 2.106444
mean(vif(fit1))
## [1] 3.080025
all VIFs are below 5 (average = 3.08)
# Influence
hist(mydata$CooksD,
xlab = "Cooks distance",
ylab = "Frequency",
main = "Histogram of Cooks distances")
We dont have any distances above 1.
shapiro.test(mydata$StdResid)
##
## Shapiro-Wilk normality test
##
## data: mydata$StdResid
## W = 0.98627, p-value = 0.6153
p < .05 - reject H0 - residuals are NOT normally distributed p > .05 - fail to reject H0 - residuals ARE (consistent with) normally distributed
head(mydata[order(mydata$StdResid), c("StdResid", "CooksD")], 5)
## # A tibble: 5 × 2
## StdResid CooksD
## <dbl> <dbl>
## 1 -2.25 0.03
## 2 -1.75 0.065
## 3 -1.74 0.113
## 4 -1.70 0.025
## 5 -1.65 0.021
head(mydata[order(-mydata$CooksD), c("StdResid", "CooksD")], 5)
## # A tibble: 5 × 2
## StdResid CooksD
## <dbl> <dbl>
## 1 1.67 0.123
## 2 2.18 0.121
## 3 2.18 0.114
## 4 -1.74 0.113
## 5 2.02 0.1
mydata$StdFittedValues <- scale(fit1$fitted.values)
scatterplot(y = mydata$StdResid, x = mydata$StdFittedValues,
ylab = "Standardized residuals",
xlab = "Standardized fitted values",
boxplots = FALSE,
regLine = FALSE,
smooth = FALSE)
Linearity OK points look random around 0 across the whole X range.
Homoscedasticity OK since vertical spread of points looks roughly
constant left to right (no funnel/fan shape).
summary(fit1)
##
## Call:
## lm(formula = BrandLoyalty ~ Credibility + Authenticity + Engagement +
## Parasocial + Homophily, data = mydata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.27056 -0.44078 0.01961 0.42281 1.17126
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.968487 0.386511 2.506 0.01466 *
## Credibility 0.416796 0.167615 2.487 0.01539 *
## Authenticity -0.249102 0.157295 -1.584 0.11798
## Engagement 0.333882 0.106669 3.130 0.00259 **
## Parasocial 0.231911 0.139628 1.661 0.10140
## Homophily 0.007028 0.120363 0.058 0.95361
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5752 on 67 degrees of freedom
## Multiple R-squared: 0.5514, Adjusted R-squared: 0.5179
## F-statistic: 16.47 on 5 and 67 DF, p-value: 1.424e-10
CREDIBILITY: H0: β1 = 0 H1: β1 ≠ 0 p<0.05. We can reject null hypothesis. With every additional increase in one unit of credibility, an average brand loyalty will increase by 0.41, assuming that everything else (authenticity, engagement, parasocial relationship and homophily) remains unchanged.
AUTHENTICITY: H0: β2 = 0 H1: β2 ≠ 0 p>0.05. We cannot reject null hypothesis. We did not find significant effect of Authenticity on Brand Loyalty among Slovenian Gen Z population, assuming that everything else (credibility, engagement, parasocial relationship and homophily) remains unchanged.
ENGAGEMENT: H0: β3 = 0 H1: β3 ≠ 0 p<0.05. We can reject null hypothesis. With every additional increase in one unit of engagement, an average brand loyalty will increase by 0.33, assuming that everything else (authenticity, credibility, parasocial relationship and homophily) remains unchanged.
PARASOCIAL RELATIONSHIP: H0: β4 = 0 H1: β4 ≠ 0 p>0.05. We cannot reject null hypothesis. We did not find significant effect of Parasocial relationships on Brand Loyalty among Slovenian Gen Z population, assuming that everything else (credibility, authenticity, engagement and homophily) remains unchanged.
HOMOPHILY: H0: β5 = 0 H1: β5 ≠ 0 p>0.05. We cannot reject null hypothesis. We did not find significant effect of homophily on Brand Loyalty among Slovenian Gen Z population, assuming that everything else (credibility, authenticity, engagement and parasocial relationship) remains unchanged.
ANOVA: H0: RO2=0 H1: RO2>0 We can reject Ho at p<0,001. We found the linear variability between dependent and at least one explanatory variables.
R squared: 0.55; My H1 was supported (thesis). Credibility, authenticity, engagement, parasocial relationship strength, and homophily jointly significantly predicted brand loyalty, F(5,67)=16.47,p<.001. The model explained approximately 55.1% of the variance in brand loyalty (R2=.551).
My H2 was supported (thesis). Influencer credibility was a significant positive predictor of brand loyalty (b=.417,p=.015).
My H3 was not supported (thesis). Authenticity did not significantly positively predict brand loyalty when the other predictors were controlled for (b=−.249,p=.118).
H4 was supported (thesis). Engagement was a significant positive predictor of brand loyalty (b=.334,p=.003).
sqrt(summary(fit1)$r.squared)
## [1] 0.7425414
Multiple coefficient of correlation: 0,742 - linear relationship between brand loyalty and all 5 explanatory variables is strong.
#standardized coefficients - which variable contributes most? (H2-H5 relative importance)
lm.beta(fit1)
##
## Call:
## lm(formula = BrandLoyalty ~ Credibility + Authenticity + Engagement +
## Parasocial + Homophily, data = mydata)
##
## Standardized Coefficients::
## (Intercept) Credibility Authenticity Engagement Parasocial Homophily
## NA 0.378201014 -0.240954005 0.387670889 0.274895442 0.006934678
Highest are credibility and engagement, which is expected since they were significant.
round(cbind(Estimate = coef(fit1), confint(fit1)), 3)
## Estimate 2.5 % 97.5 %
## (Intercept) 0.968 0.197 1.740
## Credibility 0.417 0.082 0.751
## Authenticity -0.249 -0.563 0.065
## Engagement 0.334 0.121 0.547
## Parasocial 0.232 -0.047 0.511
## Homophily 0.007 -0.233 0.247
round(cor(
mydata[, c("BrandLoyalty", "Credibility", "Authenticity",
"Engagement", "Parasocial", "Homophily")],
use = "complete.obs"
), 2)
## BrandLoyalty Credibility Authenticity Engagement Parasocial Homophily
## BrandLoyalty 1.00 0.58 0.47 0.67 0.66 0.49
## Credibility 0.58 1.00 0.82 0.55 0.66 0.53
## Authenticity 0.47 0.82 1.00 0.54 0.67 0.45
## Engagement 0.67 0.55 0.54 1.00 0.75 0.51
## Parasocial 0.66 0.66 0.67 0.75 1.00 0.71
## Homophily 0.49 0.53 0.45 0.51 0.71 1.00
H5 not supported (thesis) at the multivariate level. Although the coefficient for parasocial relationship strength was positive (b=.232), it was not statistically significant (p=.101) when the remaining predictors were controlled for. Although, this may reflect shared variance with other predictors, particularly engagement, with which parasocial relationship strength was strongly correlated (r=.75). Neevertheless, parasocial relationship strength exhibited a strong positive bivariate correlation with brand loyalty (r=.66).
“Interestingly, I would expect that the higher correlation would be between parasocial and homophily.”
Whether the relational variables (parasocial, homophily) explain brand loyalty beyond the influencer characteristics (credibility, authenticity, engagement). Fit 2 addresses RQ1; the change from Fit 2 to Fit 3 addresses RQ3.
fit2 <- lm(BrandLoyalty ~ Credibility + Authenticity + Engagement, data = mydata)
fit3 <- lm(BrandLoyalty ~ Credibility + Authenticity + Engagement +
Parasocial + Homophily, data = mydata)
cat("Fit 2 R^2 =", round(summary(fit2)$r.squared, 3), "\n")
## Fit 2 R^2 = 0.525
cat("Fit 3 R^2 =", round(summary(fit3)$r.squared, 3), "\n")
## Fit 3 R^2 = 0.551
cat("Delta R^2 =", round(summary(fit3)$r.squared - summary(fit2)$r.squared, 3), "\n")
## Delta R^2 = 0.026
anova(fit2, fit3)
## Analysis of Variance Table
##
## Model 1: BrandLoyalty ~ Credibility + Authenticity + Engagement
## Model 2: BrandLoyalty ~ Credibility + Authenticity + Engagement + Parasocial +
## Homophily
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 69 23.454
## 2 67 22.169 2 1.2848 1.9415 0.1515
The three influencer characteristics alone explain 52.5% of the variance; adding parasocial relationship and homophily raises this only to 55.1%, a non-significant change (r squared difference = .026, F(2, 67) = 1.94, p = .152). The relational block adds no significant explanatory power beyond the characteristics — the empirical answer to RQ3.
Because several predictors are strongly correlated, the LMG method partitions the model’s explained variance fairly among them, giving a more defensible ranking than standardised coefficients (RQ1: which characteristics matter most).
rel <- calc.relimp(fit1, type = "lmg", rela = TRUE)
sort(rel$lmg, decreasing = TRUE)
## Engagement Parasocial Credibility Homophily Authenticity
## 0.33185588 0.25946466 0.19935280 0.11050831 0.09881834
set.seed(1234)
boot_rel <- boot.relimp(fit1, b = 1000, type = "lmg", rela = TRUE)
booteval.relimp(boot_rel)
## Response variable: BrandLoyalty
## Total response variance: 0.6863109
## Analysis based on 73 observations
##
## 5 Regressors:
## Credibility Authenticity Engagement Parasocial Homophily
## Proportion of variance explained by model: 55.14%
## Metrics are normalized to sum to 100% (rela=TRUE).
##
## Relative importance metrics:
##
## lmg
## Credibility 0.19935280
## Authenticity 0.09881834
## Engagement 0.33185588
## Parasocial 0.25946466
## Homophily 0.11050831
##
## Average coefficients for different model sizes:
##
## 1X 2Xs 3Xs 4Xs 5Xs
## Credibility 0.6361685 0.4378675 0.37423325 0.38428480 0.416795908
## Authenticity 0.4810377 0.1211525 -0.04894086 -0.16348675 -0.249102072
## Engagement 0.5795785 0.4489315 0.39364495 0.36255193 0.333882452
## Parasocial 0.5550472 0.4406178 0.34824337 0.27858883 0.231910969
## Homophily 0.4999644 0.2204976 0.11740462 0.05214185 0.007028088
##
##
## Confidence interval information ( 1000 bootstrap replicates, bty= perc ):
## Relative Contributions with confidence intervals:
##
## Lower Upper
## percentage 0.95 0.95 0.95
## Credibility.lmg 0.1994 ABCD_ 0.0822 0.3356
## Authenticity.lmg 0.0988 ___DE 0.0615 0.1572
## Engagement.lmg 0.3319 ABC__ 0.1805 0.4953
## Parasocial.lmg 0.2595 ABCD_ 0.1561 0.3745
## Homophily.lmg 0.1105 _BCDE 0.0448 0.2423
##
## Letters indicate the ranks covered by bootstrap CIs.
## (Rank bootstrap confidence intervals always obtained by percentile method)
## CAUTION: Bootstrap confidence intervals can be somewhat liberal.
##
##
## Differences between Relative Contributions:
##
## Lower Upper
## difference 0.95 0.95 0.95
## Credibility-Authenticity.lmg 0.1005 * 0.0017 0.2099
## Credibility-Engagement.lmg -0.1325 -0.3725 0.1220
## Credibility-Parasocial.lmg -0.0601 -0.2540 0.1483
## Credibility-Homophily.lmg 0.0888 -0.0984 0.2617
## Authenticity-Engagement.lmg -0.2330 * -0.4284 -0.0423
## Authenticity-Parasocial.lmg -0.1606 * -0.2842 -0.0289
## Authenticity-Homophily.lmg -0.0117 -0.1482 0.0829
## Engagement-Parasocial.lmg 0.0724 -0.1338 0.2881
## Engagement-Homophily.lmg 0.2213 -0.0095 0.4274
## Parasocial-Homophily.lmg 0.1490 -0.0213 0.2857
##
## * indicates that CI for difference does not include 0.
## CAUTION: Bootstrap confidence intervals can be somewhat liberal.
If we partition the r squared (55,1%) variance of the model among five predictors we can observe that engagement holds the highest share (33%), following by parasocial(26%) > credibility (20%) > homophily (11%) > authenticity (10%). However, we cannot conclude that engagement is statistically more important than Parasocial or Credibility, since bootstrap comparisons indicated that the relative contributions of these three predictors did not differ significantly from one another.
What interestingly stands out here is that ordinary multiple regression says Parasocial (b=.232 at p=.001), however LMG asks something different in terms of how much unique information does Parasocial provide after four other predictors simultaneously controlled. Parasocial accounts for a substantial share of the model’s explained variance when shared explanatory variance is allocated across correlated predictors. However, it its significance, again, is probably negligent because of the information shared with the other predictors (Engagement (r=.75), Homophily (r=.71),Authenticity (.67), and Credibility (.66).
My H5 remains not supported based on the hypothesis test specified, but additional analyses suggest that parasocial relationships are nevertheless substantially associated with the explanatory structure of Brand Loyalty and that their explanatory information overlaps considerably with the other influencer-related constructs.
Whether homophily mediates the parasocial → brand loyalty relationship, using the causal-steps logic plus a bootstrapped test of the indirect effect (5,000 resamples).
#Step 1: total effect - does PSR predict Brand Loyalty at all?
step1 <- lm(BrandLoyalty ~ Parasocial, data = mydata)
summary(step1)
##
## Call:
## lm(formula = BrandLoyalty ~ Parasocial, data = mydata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.41731 -0.44483 -0.05607 0.44393 1.30403
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.4746 0.2566 5.747 2.10e-07 ***
## Parasocial 0.5551 0.0754 7.361 2.54e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6283 on 71 degrees of freedom
## Multiple R-squared: 0.4329, Adjusted R-squared: 0.4249
## F-statistic: 54.19 on 1 and 71 DF, p-value: 2.541e-10
H0: b(Parasocial) = 0 ; H1: b(Parasocial) ≠ 0 b = 0.555, p = 2.54e-10 - reject H0. There is a significant total effect of Parasocial relationship on Brand Loyalty to be explained. Therefore people with stronger parasocial relationship, tend to report greater brand loyalty.
#Step 2: does PSR predict the mediator, Homophily?
step2 <- lm(Homophily ~ Parasocial, data = mydata)
summary(step2)
##
## Call:
## lm(formula = Homophily ~ Parasocial, data = mydata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.88045 -0.38045 0.01696 0.38245 1.36955
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.40627 0.23729 5.926 1.02e-07 ***
## Parasocial 0.58967 0.06973 8.457 2.38e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.581 on 71 degrees of freedom
## Multiple R-squared: 0.5018, Adjusted R-squared: 0.4948
## F-statistic: 71.52 on 1 and 71 DF, p-value: 2.379e-12
Parasocial → Homophily H0: b(Parasocial) = 0 ; H1: b(Parasocial) ≠ 0 b = 0.589, p = 2.38e-12 - reject H0. Parasocial relationship strongly predicts Homophily — path a is present.
#Step 3: PSR + Homophily -> Brand Loyalty together
step3 <- lm(BrandLoyalty ~ Parasocial + Homophily, data = mydata)
summary(step3)
##
## Call:
## lm(formula = BrandLoyalty ~ Parasocial + Homophily, data = mydata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.43282 -0.44400 -0.05492 0.45045 1.32832
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.39667 0.31551 4.427 3.44e-05 ***
## Parasocial 0.52235 0.10744 4.862 6.89e-06 ***
## Homophily 0.05545 0.12907 0.430 0.669
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6319 on 70 degrees of freedom
## Multiple R-squared: 0.4344, Adjusted R-squared: 0.4182
## F-statistic: 26.88 on 2 and 70 DF, p-value: 2.183e-09
Homophily, controlling for Parasocial: H0: b(Homophily) = 0 ; H1: b(Homophily) ≠ 0 b = 0.055, p = 0.669 - fail to reject H0. Homophily does not significantly predict Brand Loyalty once Parasocial is controlled for.
Parasocial, controlling for Homophily: b = 0.522, p = 6.89e-06 — still significant, and barely smaller than the total effect in Step 1 (0.555 → 0.522).
Homophily doesn’t appear to be the mechanism connecting parasocial relationships to brand loyalty; instead, Parasocial relationship has a fairly direct effect on Brand Loyalty largely independent of Homophily. Once Parasocial is controlled, Homophily provides essentially no statistically significant additional prediction of Brand Loyalty.
#Step 4: formal bootstrapped test of the indirect effect (a*b)
set.seed(1234)
med_fit <- mediation::mediate(
model.m = step2, #Homophily ~ Parasocial
model.y = step3, #BrandLoyalty ~ Parasocial + Homophily
treat = "Parasocial",
mediator = "Homophily",
boot = TRUE, sims = 5000
)
summary(med_fit)
##
## Causal Mediation Analysis
##
## Nonparametric Bootstrap Confidence Intervals with the Percentile Method
##
## Estimate 95% CI Lower 95% CI Upper p-value
## ACME 0.032695 -0.132514 0.230217 0.6952
## ADE 0.522352 0.308295 0.702438 <2e-16 ***
## Total Effect 0.555047 0.420988 0.676442 <2e-16 ***
## Prop. Mediated 0.058906 -0.258228 0.416095 0.6952
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Sample Size Used: 73
##
##
## Simulations: 5000
H0: ACME = 0 (no indirect effect / no mediation) H1: ACME ≠ 0
ACME (average causal mediation effect, Parasocial - Homophily - Brand Loyalty) = 0.033, 95% CI [-0.133, 0.230], p = .695. We fail to reject Ho, consequently H6 (thesis) is not supported. The indirect effect was small and nonsignificant (ACME = .033, p = .695), with only an estimated 5.9% of the total effect mediated. However, the relatively wide confidence interval (95% CI [−.133, .230]) indicates some uncertainty. Therefore, the results provide no evidence that homophily mediates the relationship between parasocial relationship strength and brand loyalty.
ADE (direct effect of Parasocial, not through Homophily) = 0.522, 95% CI [0.308, 0.702], p < .001. highly significant. Total Effect = 0.555, 95% CI [0.421, 0.676], p < .001. Prop. Mediated = 5.9%, CI crosses zero. The estimated proportion mediated was 5.9%, however, not significant.
Consistant with this findings, A bootstrapped mediation analysis (5,000 resamples) was conducted to test whether Homophily mediates the relationship between Parasocial relationship and Brand Loyalty (H6). The indirect effect (ACME) was not statistically significant (β = .033, 95% CI [-.133, .233], p = .695), while the direct effect of Parasocial relationship on Brand Loyalty remained significant (β = .522, 95% CI [.308, .702], p < .001). The proportion of the total effect mediated by Homophily was negligible (5.9%) and not significant. These results indicate that H6 was not supported: Homophily does not mediate the relationship between parasocial relationships and brand loyalty in this sample. Instead, parasocial relationships appear to influence brand loyalty directly.
Homophily just isn’t doing much work in explaining Brand Loyalty, whether as a direct predictor or as a mediator (as also seen in regression model).
Whether brand loyalty differs across the five influencer tiers, using one-way ANOVA plus the non-parametric Kruskal–Wallis test as a robustness check.
mydata %>%
group_by(InfluencerSizeF) %>%
summarise(n = n(),
mean = round(mean(BrandLoyalty), 2),
sd = round(sd(BrandLoyalty), 2))
## # A tibble: 5 × 4
## InfluencerSizeF n mean sd
## <fct> <int> <dbl> <dbl>
## 1 Nano Influencers 7 3.43 0.53
## 2 Mikro Influencers 31 3.06 0.76
## 3 Makro influencers 20 3.29 0.85
## 4 Mega influencers 11 3.68 1.01
## 5 Celebrity influencers 4 3.69 0.9
Numerically, Mikro is lowest and Mega/Celebrity are highest- but note Celebrity has only n = 4, so that group barely has any statistical power at all.
#assumption 1: normality of Brand Loyalty within each tier
mydata %>%
group_by(InfluencerSizeF) %>%
shapiro_test(BrandLoyalty)
## # A tibble: 5 × 4
## InfluencerSizeF variable statistic p
## <fct> <chr> <dbl> <dbl>
## 1 Nano Influencers BrandLoyalty 0.894 0.294
## 2 Mikro Influencers BrandLoyalty 0.928 0.0383
## 3 Makro influencers BrandLoyalty 0.920 0.0990
## 4 Mega influencers BrandLoyalty 0.909 0.235
## 5 Celebrity influencers BrandLoyalty 0.828 0.163
normal distribution in every group (p > .05) except Mikro (p = .038) — with n = 31 there
#assumption 2: homogeneity of variance across tiers
leveneTest(BrandLoyalty ~ InfluencerSizeF, data = mydata)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 4 1.147 0.342
## 68
H0: variances are equal across tiers (homogeneity - what we want) H1: variances differ
F(4,68) = 1.15, p = .342. We fail to reject H0 as variances are homogeneous. Standard ANOVA’s equal-variance assumption is satisfied.
#one-way ANOVA (H7)
aov_tier <- aov(BrandLoyalty ~ InfluencerSizeF, data = mydata)
summary(aov_tier)
## Df Sum Sq Mean Sq F value Pr(>F)
## InfluencerSizeF 4 4.14 1.0359 1.556 0.196
## Residuals 68 45.27 0.6657
H0: mean Brand Loyalty is equal across all 5 tiers H1: at least one tier’s mean differs
We fail to reject H0. Therefore, H7 was not supported (thesis). A one-way ANOVA showed no statistically significant differences in brand loyalty across the five influencer-size categories, F(4,68)=1.56,p=.196. Thus, the results provide no evidence that brand loyalty differs according to the size category of the influencer primarily followed by Generation Z slovenians.
#effect size
eta_squared(aov_tier)
## InfluencerSizeF
## 0.08385766
eta squared = proportion of variance in Brand Loyalty explained by tier membership
interpret_eta_squared(0.08, rules = "cohen1992")
## [1] "small"
## (Rules: cohen1992)
eta squared = 0.08 —based on eta squared we can see that the effect size is small, but with p = .196 it’s not statistically distinguishable from zero. This is very likely a power problem (Celebrity n=4, Nano n=7) rather than evidence of “no effect at all” as the descriptive means do show a real numeric spread.
#post-hoc: WHICH tiers differ from each other
TukeyHSD(aov_tier)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = BrandLoyalty ~ InfluencerSizeF, data = mydata)
##
## $InfluencerSizeF
## diff lwr upr p adj
## Mikro Influencers-Nano Influencers -0.372119816 -1.3289466 0.5847069 0.8111506
## Makro influencers-Nano Influencers -0.141071429 -1.1451998 0.8630569 0.9948070
## Mega influencers-Nano Influencers 0.253246753 -0.8522622 1.3587557 0.9675641
## Celebrity influencers-Nano Influencers 0.258928571 -1.1742117 1.6920688 0.9864775
## Makro influencers-Mikro Influencers 0.231048387 -0.4247353 0.8868321 0.8601240
## Mega influencers-Mikro Influencers 0.625366569 -0.1770850 1.4278181 0.1982474
## Celebrity influencers-Mikro Influencers 0.631048387 -0.5837230 1.8458198 0.5943241
## Mega influencers-Makro influencers 0.394318182 -0.4639853 1.2526217 0.6997521
## Celebrity influencers-Makro influencers 0.400000000 -0.8523681 1.6523681 0.8977736
## Celebrity influencers-Mega influencers 0.005681818 -1.3293471 1.3407107 1.0000000
#non-parametric backup (recommended as the primary test if group sizes are small/uneven or normality
kruskal.test(BrandLoyalty ~ InfluencerSizeF, data = mydata)
##
## Kruskal-Wallis rank sum test
##
## data: BrandLoyalty by InfluencerSizeF
## Kruskal-Wallis chi-squared = 5.5434, df = 4, p-value = 0.2359
H0: all distribution locations of variables are the same H1: at least one is different
chi squared( at df = 4) = 5.54, p = .236. We fail to reject H0. Confirms the ANOVA result.
Conclusion: H7 is not supported. Brand loyalty did not differ significantly across influencer tiers (nano, micro, macro, mega, celebrity) in this sample, F(4, 68) = 1.56, p = .196, η² = .08; the non-parametric Kruskal-Wallis test confirmed this (χ²(4) = 5.54, p = .236). Although descriptive means suggested some numeric variation — with micro-influencers showing the lowest brand loyalty (M = 3.06) and mega/celebrity influencers the highest (M ≈ 3.68). This result should be interpreted cautiously given the small and unequal group sizes, particularly for celebrity influencers (n = 4), which limits the statistical power to detect true differences between tiers.
Power caveat. The celebrity (n = 4) and nano (n = 7) groups were very small, limiting the statistical power to detect differences between influencer tiers. Therefore, the nonsignificant result should be interpreted cautiously as insufficient evidence of tier differences rather than evidence that no differences exist.
mydata %>% group_by(PlatformF) %>%
summarise(n = n(),
mean = round(mean(BrandLoyalty), 2),
sd = round(sd(BrandLoyalty), 2))
## # A tibble: 5 × 4
## PlatformF n mean sd
## <fct> <int> <dbl> <dbl>
## 1 Instagram 50 3.22 0.8
## 2 TikTok 10 3.2 0.71
## 3 Youtube 9 3.75 1.08
## 4 Facebook 2 3.75 0.35
## 5 Other 2 2.62 0.88
summary(aov(BrandLoyalty ~ PlatformF, data = mydata))
## Df Sum Sq Mean Sq F value Pr(>F)
## PlatformF 4 3.50 0.8755 1.297 0.28
## Residuals 68 45.91 0.6752
kruskal.test(BrandLoyalty ~ PlatformF, data = mydata)
##
## Kruskal-Wallis rank sum test
##
## data: BrandLoyalty by PlatformF
## Kruskal-Wallis chi-squared = 4.866, df = 4, p-value = 0.3013
Interpretation. Brand loyalty did not differ significantly across primary social-media platforms, F(4,68)=1.30,p=.280. The Kruskal–Wallis test produced the same conclusion, chi squared(4)= 4.87,p=.301.
Platform groups were highly unbalanced, particularly for Facebook (n = 2), which limited the power to detect platform differences. However, this imbalance is consistent with expected social-media usage patterns among Generation Z, who are more concentrated on platforms such as Instagram, TikTok, and YouTube. Therefore, the small Facebook subgroup may reflect the characteristics of the target population rather than simply a sampling limitation.
cor.test(
mydata$ActiveSearchFreq,
mydata$BrandLoyalty,
method = "spearman",
exact = FALSE
)
##
## Spearman's rank correlation rho
##
## data: mydata$ActiveSearchFreq and mydata$BrandLoyalty
## S = 28635, p-value = 2.869e-07
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.5582632
cor.test(
mydata$ExposureFreq,
mydata$BrandLoyalty,
method = "spearman",
exact = FALSE
)
##
## Spearman's rank correlation rho
##
## data: mydata$ExposureFreq and mydata$BrandLoyalty
## S = 58984, p-value = 0.4485
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.09008413
Active search was moderately and positively associated with brand loyalty (r =.56,p<.001), whereas passive exposure was not significantly associated with brand loyalty (r =.09,p=.449). This suggests that brand loyalty is more strongly associated with actively seeking influencer content than with passive exposure to it. Therefore, effortful, self-directed engagement (not passive exposure) accompanies loyalty, as shown in the regression.
mydata %>% group_by(GenderF) %>%
summarise(n = n(),
mean = round(mean(BrandLoyalty), 2),
sd = round(sd(BrandLoyalty), 2))
## # A tibble: 2 × 4
## GenderF n mean sd
## <fct> <int> <dbl> <dbl>
## 1 Male 21 3.62 0.86
## 2 Female 52 3.15 0.78
t.test(BrandLoyalty ~ GenderF, data = mydata)
##
## Welch Two Sample t-test
##
## data: BrandLoyalty by GenderF
## t = 2.1657, df = 34.105, p-value = 0.03742
## alternative hypothesis: true difference in means between group Male and group Female is not equal to 0
## 95 percent confidence interval:
## 0.02901479 0.91100353
## sample estimates:
## mean in group Male mean in group Female
## 3.619048 3.149038
effectsize::cohens_d(
BrandLoyalty ~ GenderF,
data = mydata,
pooled_sd = TRUE
)
## Cohen's d | 95% CI
## ------------------------
## 0.58 | [0.07, 1.10]
##
## - Estimated using pooled SD.
effectsize::interpret_cohens_d(0.58, rules = "cohen1988")
## [1] "medium"
## (Rules: cohen1988)
Male respondents reported significantly higher brand loyalty (M = 3.62, SD = 0.86) than female respondents (M = 3.15, SD = 0.78), Welch’s t(34.11) = 2.17, p = .037, with a mean difference of 0.47 points (95% CI [0.03, 0.91]). The difference represented a medium effect size (Cohen’s d = 0.58, 95% CI [0.07, 1.10]). Given the unequal group sizes (n = 21 males; n = 52 females), this exploratory finding should be interpreted with some caution.
# tidy count + valid percent table for any single variable
freq <- function(df, var) {
df %>%
janitor::tabyl(!!rlang::sym(var)) %>%
janitor::adorn_pct_formatting(digits = 1)
}
freq(mydata, "GenderF")
## GenderF n percent
## Male 21 28.8%
## Female 52 71.2%
freq(mydata, "BirthF")
## BirthF n percent
## 1997–2000 43 58.9%
## 2001–2004 19 26.0%
## 2005–2008 10 13.7%
## 2009–2012 1 1.4%
freq(mydata, "ActivityF")
## ActivityF n percent valid_percent
## 5 of more times per week 11 15.1% 15.3%
## 3-4 times per week 31 42.5% 43.1%
## 1–2 times per week 23 31.5% 31.9%
## A few times a month 7 9.6% 9.7%
## <NA> 1 1.4% -
freq(mydata, "SocialMediaActivityF")
## SocialMediaActivityF n percent
## Several times per day 63 86.3%
## Once per day 8 11.0%
## 1–3 times per week 1 1.4%
## 1–3 times per month 1 1.4%
## Less than once a month 0 0.0%
freq(mydata, "PlatformF")
## PlatformF n percent
## Instagram 50 68.5%
## TikTok 10 13.7%
## Youtube 9 12.3%
## Facebook 2 2.7%
## Other 2 2.7%
freq(mydata, "PurchaseHabitsF")
## PurchaseHabitsF n percent
## Several times a month 4 5.5%
## Once a month 16 21.9%
## Every few months 31 42.5%
## Once or twice a year 18 24.7%
## Less than once a year/never 4 5.5%
freq(mydata, "PurchaseInflF")
## PurchaseInflF n percent
## Yes 47 64.4%
## No 26 35.6%
freq(mydata, "BrandF")
## BrandF n percent valid_percent
## Adidas 3 4.1% 7.0%
## Nike 5 6.8% 11.6%
## SWY 15 20.5% 34.9%
## Lelosi 0 0.0% 0.0%
## Under Armour 0 0.0% 0.0%
## Gymshark 4 5.5% 9.3%
## Lululemon 0 0.0% 0.0%
## Craft 1 1.4% 2.3%
## Aeon 4 5.5% 9.3%
## Myprotein 6 8.2% 14.0%
## UniQlo 1 1.4% 2.3%
## Luactive 2 2.7% 4.7%
## Prozis 1 1.4% 2.3%
## Rúngne 1 1.4% 2.3%
## <NA> 30 41.1% -
freq(mydata, "InfluencerExposureF")
## InfluencerExposureF n percent
## Daily 17 23.3%
## Several times a week 32 43.8%
## Once a week 14 19.2%
## Two to three times a month 5 6.8%
## About once a month 3 4.1%
## Less often than once a month 2 2.7%
freq(mydata, "ContentSearchF")
## ContentSearchF n percent
## Daily 1 1.4%
## Several times a week 14 19.2%
## Once a week 7 9.6%
## Two to three times a month 16 21.9%
## About once a month 8 11.0%
## Less often than once a month 27 37.0%
freq(mydata, "IncomeF")
## IncomeF n percent
## Up to 500 EUR 6 8.2%
## 501–1,000 EUR 7 9.6%
## 1,001–1,500 EUR 25 34.2%
## 1,501–2,000 EUR 20 27.4%
## 2,001–2,500 EUR 9 12.3%
## 2,501 EUR or more 3 4.1%
## Prefer not to answer 3 4.1%
freq(mydata, "EducationF")
## EducationF n percent
## Primary school 1 1.4%
## Lower or vocational secondary school 2 2.7%
## Upper secondary 15 20.5%
## Higher vocational education 39 53.4%
## University degree 16 21.9%
## Postgraduate 0 0.0%
freq(mydata, "AreaF")
## AreaF n percent
## Urban 32 43.8%
## Suburban 21 28.8%
## Rural 20 27.4%
freq(mydata, "InfluencerSizeF")
## InfluencerSizeF n percent
## Nano Influencers 7 9.6%
## Mikro Influencers 31 42.5%
## Makro influencers 20 27.4%
## Mega influencers 11 15.1%
## Celebrity influencers 4 5.5%
psych::describe(mydata)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## Q1 1 73 2.58 0.78 2.00 2.46 0.00 2.00 5.00 3.00 1.05 0.00 0.09
## Q2 2 73 2.40 0.91 2.00 2.36 1.48 1.00 5.00 4.00 0.36 -0.23 0.11
## Q3 3 73 1.18 0.51 1.00 1.05 0.00 1.00 4.00 3.00 3.38 12.90 0.06
## Q4 4 73 1.58 1.00 1.00 1.37 0.00 1.00 5.00 4.00 1.73 2.33 0.12
## Q5 5 73 3.03 0.96 3.00 3.03 1.48 1.00 5.00 4.00 -0.05 -0.35 0.11
## Q6 6 73 1.36 0.48 1.00 1.32 0.00 1.00 2.00 1.00 0.59 -1.68 0.06
## Q7 7 44 19.82 9.81 22.50 20.22 9.64 1.00 35.00 34.00 -0.40 -1.16 1.48
## Q8 8 43 5.77 3.88 3.00 5.49 2.97 1.00 14.00 13.00 0.50 -1.27 0.59
## Q9 9 16 5.38 2.53 6.00 5.36 2.22 1.00 10.00 9.00 -0.03 -0.93 0.63
## Q10 10 43 1.40 0.49 1.00 1.37 0.00 1.00 2.00 1.00 0.41 -1.87 0.08
## Q11 11 73 2.64 1.03 2.00 2.61 1.48 1.00 5.00 4.00 0.51 -0.38 0.12
## Q12 12 73 2.33 1.19 2.00 2.17 1.48 1.00 6.00 5.00 1.16 1.16 0.14
## Q13 13 73 4.33 1.58 4.00 4.42 2.97 1.00 6.00 5.00 -0.35 -1.32 0.19
## Q14a 14 73 3.71 0.86 4.00 3.75 1.48 1.00 5.00 4.00 -0.47 0.23 0.10
## Q14b 15 73 3.93 0.80 4.00 3.98 0.00 2.00 5.00 3.00 -0.51 -0.12 0.09
## Q14c 16 73 3.84 0.80 4.00 3.85 1.48 2.00 5.00 3.00 -0.19 -0.59 0.09
## Q14d 17 73 3.51 1.06 4.00 3.54 1.48 1.00 5.00 4.00 -0.33 -0.70 0.12
## Q15a 18 73 3.63 0.96 4.00 3.68 1.48 1.00 5.00 4.00 -0.32 -0.51 0.11
## Q15b 19 73 3.77 0.94 4.00 3.83 1.48 2.00 5.00 3.00 -0.33 -0.79 0.11
## Q15c 20 73 3.93 0.80 4.00 3.98 0.00 2.00 5.00 3.00 -0.51 -0.12 0.09
## Q15d 21 73 3.99 0.95 4.00 4.10 1.48 1.00 5.00 4.00 -1.03 1.06 0.11
## Q16a 22 73 2.75 1.20 3.00 2.73 1.48 1.00 5.00 4.00 0.19 -1.11 0.14
## Q16b 23 73 2.34 1.17 2.00 2.25 1.48 1.00 5.00 4.00 0.61 -0.72 0.14
## Q16c 24 73 2.45 1.27 2.00 2.34 1.48 1.00 5.00 4.00 0.53 -0.85 0.15
## Q16d 25 73 3.58 1.10 4.00 3.64 1.48 1.00 5.00 4.00 -0.46 -0.59 0.13
## Q17a 26 73 3.23 1.16 3.00 3.29 1.48 1.00 5.00 4.00 -0.35 -0.75 0.14
## Q17b 27 73 3.58 1.00 4.00 3.61 1.48 1.00 5.00 4.00 -0.33 -0.68 0.12
## Q17c 28 73 3.07 1.32 3.00 3.08 1.48 1.00 5.00 4.00 -0.05 -1.12 0.15
## Q17d 29 73 3.16 1.19 3.00 3.19 1.48 1.00 5.00 4.00 -0.12 -1.03 0.14
## Q18a 30 73 3.48 0.96 4.00 3.53 1.48 1.00 5.00 4.00 -0.69 0.12 0.11
## Q18b 31 73 3.25 1.02 3.00 3.25 1.48 1.00 5.00 4.00 -0.27 -0.45 0.12
## Q18c 32 73 2.88 0.96 3.00 2.86 1.48 1.00 5.00 4.00 0.15 -0.55 0.11
## Q18d 33 73 3.71 0.99 4.00 3.83 0.00 1.00 5.00 4.00 -1.01 0.98 0.12
## Q19a 34 73 3.00 1.15 3.00 3.03 1.48 1.00 5.00 4.00 -0.21 -0.97 0.14
## Q19b 35 73 3.34 0.96 3.00 3.31 1.48 2.00 5.00 3.00 0.12 -1.00 0.11
## Q19c 36 73 3.60 0.85 4.00 3.61 1.48 2.00 5.00 3.00 0.02 -0.70 0.10
## Q19d 37 73 3.19 1.10 3.00 3.19 1.48 1.00 5.00 4.00 -0.13 -0.91 0.13
## Q20 38 73 1.71 0.46 2.00 1.76 0.00 1.00 2.00 1.00 -0.92 -1.17 0.05
## Q21 39 73 3.92 0.81 4.00 3.97 0.00 1.00 5.00 4.00 -0.77 1.16 0.10
## Q22 40 73 1.84 0.83 2.00 1.80 1.48 1.00 3.00 2.00 0.31 -1.51 0.10
## Q23 41 73 3.55 1.39 3.00 3.51 1.48 1.00 7.00 6.00 0.34 0.15 0.16
## ExposureFreq 42 73 4.67 1.19 5.00 4.83 1.48 1.00 6.00 5.00 -1.16 1.16 0.14
## ActiveSearchFreq 43 73 2.67 1.58 3.00 2.58 2.97 1.00 6.00 5.00 0.35 -1.32 0.19
## BirthF 44 73 1.58 0.78 1.00 1.46 0.00 1.00 4.00 3.00 1.05 0.00 0.09
## ActivityF 45 72 2.36 0.86 2.00 2.33 1.48 1.00 4.00 3.00 0.17 -0.66 0.10
## SocialMediaActivityF 46 73 1.18 0.51 1.00 1.05 0.00 1.00 4.00 3.00 3.38 12.90 0.06
## PlatformF 47 73 1.58 1.00 1.00 1.37 0.00 1.00 5.00 4.00 1.73 2.33 0.12
## PurchaseHabitsF 48 73 3.03 0.96 3.00 3.03 1.48 1.00 5.00 4.00 -0.05 -0.35 0.11
## PurchaseInflF 49 73 1.36 0.48 1.00 1.32 0.00 1.00 2.00 1.00 0.59 -1.68 0.06
## BrandF 50 43 5.77 3.88 3.00 5.49 2.97 1.00 14.00 13.00 0.50 -1.27 0.59
## InfluencerExposureF 51 73 2.33 1.19 2.00 2.17 1.48 1.00 6.00 5.00 1.16 1.16 0.14
## ContentSearchF 52 73 4.33 1.58 4.00 4.42 2.97 1.00 6.00 5.00 -0.35 -1.32 0.19
## GenderF 53 73 1.71 0.46 2.00 1.76 0.00 1.00 2.00 1.00 -0.92 -1.17 0.05
## EducationF 54 73 3.92 0.81 4.00 3.97 0.00 1.00 5.00 4.00 -0.77 1.16 0.10
## AreaF 55 73 1.84 0.83 2.00 1.80 1.48 1.00 3.00 2.00 0.31 -1.51 0.10
## InfluencerSizeF 56 73 2.64 1.03 2.00 2.61 1.48 1.00 5.00 4.00 0.51 -0.38 0.12
## IncomeF 57 73 3.55 1.39 3.00 3.51 1.48 1.00 7.00 6.00 0.34 0.15 0.16
## Credibility 58 73 3.75 0.75 3.75 3.75 0.74 2.00 5.00 3.00 -0.01 -0.67 0.09
## Authenticity 59 73 3.83 0.80 4.00 3.87 0.74 1.75 5.00 3.25 -0.38 -0.36 0.09
## Engagement 60 73 2.78 0.96 2.50 2.75 0.74 1.00 4.75 3.75 0.39 -0.78 0.11
## Parasocial 61 73 3.26 0.98 3.50 3.25 1.11 1.00 5.00 4.00 0.04 -0.73 0.11
## Homophily 62 73 3.33 0.82 3.25 3.37 0.74 1.00 5.00 4.00 -0.49 0.44 0.10
## BrandLoyalty 63 73 3.28 0.83 3.25 3.25 1.11 2.00 5.00 3.00 0.24 -0.97 0.10
## StdResid 64 73 0.00 1.01 0.04 -0.01 1.19 -2.25 2.18 4.43 0.10 -0.61 0.12
## CooksD 65 73 0.02 0.03 0.01 0.01 0.01 0.00 0.12 0.12 2.50 5.35 0.00
## StdFittedValues 66 73 0.00 1.00 -0.09 -0.04 1.06 -1.79 2.10 3.90 0.32 -0.82 0.12
| Hypothesis | Test | Outcome |
|---|---|---|
| H1 — five predictors jointly predict loyalty | Multiple regression (omnibus) | Supported (R² = .55, p < .001) |
| H2 — credibility → loyalty | Regression coefficient | Supported (p = .015) |
| H3 — authenticity → loyalty | Regression coefficient | Not supported (p = .118) |
| H4 — engagement → loyalty | Regression coefficient | Supported (p = .003) |
| H5 — parasocial → loyalty | Regression coefficient | Not supported at multivariate level (p = .101; strong bivariate) |
| H6 — homophily mediates parasocial → loyalty | Bootstrapped mediation | Not supported (substantive null) |
| H7 — loyalty differs by tier | ANOVA + Kruskal–Wallis | Not supported (inconclusive; underpowered) |