Untersuchung der Click-Through-Rate (CTR) in Abhängigkeit von verschiedenen Faktoren wie dem Veröffentlichungsformat und dem Veröffentlichungszeitraum.

Beispiel einer einfaktorielle ANOVA sowie einer zweifaktorielle ANOVA mit Interaktion.

Daten laden

Datensatz via GitHub-RAW-Link herunterladen. Dieser enthält Informationen zu verschiedenen Social-Media-Posts, darunter:

# Daten von GitHub laden
url <- "https://raw.githubusercontent.com/ganzma/data-science-education/refs/heads/main/data.csv"
data <- read.csv(url)

# Vorschau der ersten Zeilen
head(data)
##   UhrzeitBlock     Format Themenbereich  CTR
## 1        15-18       Live    Motivation 3.15
## 2        09-12       Reel    Motivation 4.34
## 3        21-00 Einzelbild    Motivation 2.95
## 4        18-21       Reel       Bildung 3.96
## 5        15-18       Live     Lifestyle 3.30
## 6        06-09       Reel     Lifestyle 3.55

Einfaktorielle ANOVA: Einfluss des Formats auf die CTR

Fragestellung: Hat das Format einen Einfluss auf die CTR?

# Format als kategorialen Faktor definieren
data$Format <- factor(data$Format)

# Einfaktorielle ANOVA berechnen
anova1 <- aov(CTR ~ Format, data = data)

# ANOVA-Ergebnisse anzeigen
summary(anova1)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Format       4  2.526  0.6315    4.66 0.00403 **
## Residuals   35  4.743  0.1355                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretation:
n der Analyse zeigt sich ein signifikanter Effekt von Format:

Fazit:
Das Veröffentlichungsformat hat einen statistisch signifikanten Einfluss auf den Erfolg eines Social-Media-Beitrags – gemessen an der CTR.

Post-hoc-Test: TukeyHSD zur Bestimmung signifikanter Unterschiede zwischen Formaten

Die einfaktorielle ANOVA hat gezeigt, dass es signifikante Unterschiede in der durchschnittlichen CTR zwischen den verschiedenen Formaten gibt. Allerdings sagt die ANOVA nur, dass ein Unterschied besteht, aber nicht zwischen welchen Gruppen genau.

Um das herauszufinden, führen wir einen Post-hoc-Test durch. Er prüft alle möglichen Paarvergleiche zwischen den Gruppen und kontrolliert dabei das Fehlerrisiko durch Mehrfachvergleiche.

# Post-hoc-Test nach signifikanter ANOVA
TukeyHSD(anova1)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = CTR ~ Format, data = data)
## 
## $Format
##                             diff         lwr       upr     p adj
## Karussell-Einzelbild  0.25055556 -0.30725218 0.8083633 0.6980761
## Live-Einzelbild       0.24055556 -0.31725218 0.7983633 0.7284792
## Reel-Einzelbild       0.67805556  0.21136012 1.1447510 0.0016465
## Story-Einzelbild      0.29984127 -0.23352494 0.8332075 0.4973607
## Live-Karussell       -0.01000000 -0.62104776 0.6010478 0.9999988
## Reel-Karussell        0.42750000 -0.10168288 0.9566829 0.1618888
## Story-Karussell       0.04928571 -0.53953464 0.6381061 0.9992205
## Reel-Live             0.43750000 -0.09168288 0.9666829 0.1456935
## Story-Live            0.05928571 -0.52953464 0.6481061 0.9983896
## Story-Reel           -0.37821429 -0.88156761 0.1251390 0.2185308

Interpretation: - Der Vergleich Reel vs. Einzelbild zeigt eine signifikant höhere CTR für Reels, da p<0.05: - Mittelwertsunterschied (diff): +0.678 - 95%-Konfidenzintervall: [0.211, 1.145] - Adjustierter p-Wert: 0.0016signifikant

Zweifaktorielle ANOVA mit Interaktion: Format und UhrzeitBlock

Fragestellung: Haben Format, UhrzeitBlock und ihre Interaktion einen Einfluss auf die CTR?

# UhrzeitBlock ebenfalls als Faktor definieren
data$UhrzeitBlock <- factor(data$UhrzeitBlock)

# Zweifaktorielle ANOVA mit Interaktion
anova2 <- aov(CTR ~ Format * UhrzeitBlock, data = data)

# Ergebnisse anzeigen
summary(anova2)
##                     Df Sum Sq Mean Sq F value   Pr(>F)    
## Format               4  2.526  0.6315   8.340 0.000546 ***
## UhrzeitBlock         5  1.543  0.3087   4.077 0.011913 *  
## Format:UhrzeitBlock 12  1.837  0.1531   2.021 0.085960 .  
## Residuals           18  1.363  0.0757                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretation:

Fazit: