Ich habe verschiedene Analysen durchgeführt, jeweils mit den Views als abhängige Variable

Analyse 1: Einfaktorielle ANOVA mit content_type

Frage: Beeinflusst die Art des Contents die Anzahl Views auf der Plattform Instagram?

library(tidyr)
## Warning: Paket 'tidyr' wurde unter R Version 4.4.2 erstellt
library(ggplot2)
## Warning: Paket 'ggplot2' wurde unter R Version 4.4.2 erstellt
#### Datensat einlesen und vorbereiten 
data <- read.csv("C:/Users/Marlene/Documents/R_Files/Engagement_Tracker_Plus.csv", sep = ";", encoding = "UTF-8")

# Spalten umbenennen
names(data)[names(data) == "Art.des.Contents"] <- "content_type"
names(data)[names(data) == "Block"] <- "time_block"
names(data)[names(data) == "IG.views.3h"] <- "views_IG"
names(data)[names(data) == "Weekday"] <- "weekday"

# content_type umwandeln 
data$content_type <- factor(data$content_type)

# Einfaktorielle ANOVA mit content_type
anova_result <- aov(views_IG ~ content_type, data = data)
summary(anova_result)
##              Df  Sum Sq Mean Sq F value Pr(>F)
## content_type  3 2202265  734088   1.736  0.194
## Residuals    19 8034582  422873

Ergebnis: p-Wert = 0.194 -> nicht signifikant

Gruppenmittelwerte anschauen, um trotzdem Unterschiede zu sehen

aggregate(views_IG ~ content_type, data = data, mean)
##   content_type views_IG
## 1            1 1937.429
## 2            2 1665.889
## 3            3 2074.500
## 4            4 1049.000

Ergebnis:

  • Content-Typ 3 hatte im Schnitt die höchsten Views,
  • Content-Typ 4 hatte die niedrigsten Views,
  • Aber: Die Unterschiede waren laut ANOVA nicht statistisch signifikant, vermutlich auch wegen kleiner Stichprobengröße oder großer Streuung.

Analyse 2: Zweifaktorielle ANOVA mit Interaktion mit time_block und weekday

Frage: Haben time_block, weekday oder ihre Kombination einen Einfluss auf views_IG?

data$time_block <- factor(data$time_block)
data$weekday <- factor(data$weekday)

anova_2way <- aov(views_IG ~ time_block * weekday, data = data)
summary(anova_2way)
##                    Df  Sum Sq Mean Sq F value Pr(>F)
## time_block          3  339427  113142   0.125  0.939
## weekday             6 1531939  255323   0.282  0.913
## time_block:weekday 10 5645795  564580   0.623  0.751
## Residuals           3 2719685  906562

Ergebnis:

Analysen 3 & 4 mit umgebautem Format für größere Stichprobe

ich habe den Datensatz von der breiten in die lange Form überführt, sodass jede Kombination aus Beitrag und Plattform als eigene Beobachtung behandelt wird, damit haben wir eine größere Stichprobe. Da es sich um identische Beiträge handelt, die parallel auf mehreren Plattformen veröffentlicht wurden, liegen keine vollständig unabhängigen Beobachtungen vor. Für eine explorative Analyse ist das aber in Ordnung. Die Ergebnisse sind entsprechend eher als beschreibend und hypothesengenerierend zu verstehen.

# Datensatz umbauen für größere Stichprobe -> long format
names(data)[names(data) == "TT.views.3h"] <- "views_TT"
names(data)[names(data) == "YT.views.3h"] <- "views_YT"

# Neuen Datensatz mit ausgewählten Spalten erstellen
data_selected <- data[, c("Reel", "weekday", "content_type", "time_block",
                          "views_IG", "views_TT", "views_YT")]

# Datensatz in long-format umwandeln
data_long <- pivot_longer(data_selected,
                          cols = c("views_IG", "views_TT", "views_YT"),
                          names_to = "plattform",
                          values_to = "views")

# In Faktro umwanden 
data_long$weekday <- factor(data_long$weekday)
data_long$time_block <- factor(data_long$time_block)

head(data_long)
## # A tibble: 6 × 6
##   Reel                        weekday  content_type time_block plattform views
##   <chr>                       <fct>    <fct>        <fct>      <chr>     <int>
## 1 Rechnen ohne Taschenrechner Tuesday  1            1          views_IG   3236
## 2 Rechnen ohne Taschenrechner Tuesday  1            1          views_TT   1308
## 3 Rechnen ohne Taschenrechner Tuesday  1            1          views_YT   1249
## 4 Duzen oder Siezen           Thursday 2            2          views_IG   2917
## 5 Duzen oder Siezen           Thursday 2            2          views_TT   4330
## 6 Duzen oder Siezen           Thursday 2            2          views_YT   1231

Analyse 3: Zweifaktorielle ANOVA mit Interaktion mit time_block und weekday

anova_long_2way <- aov(views ~ time_block * weekday, data = data_long)
summary(anova_long_2way)
##                    Df   Sum Sq Mean Sq F value Pr(>F)  
## time_block          3   621883  207294   0.448 0.7198  
## weekday             6  3436930  572822   1.238 0.3035  
## time_block:weekday 10 11012038 1101204   2.380 0.0218 *
## Residuals          49 22672127  462696                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Ergebnis:

  • time_block + weekday: Signifikante Interaktion!!! (p = 0.0218)
  • Der Einfluss des Wochentags auf die View-Zahl hängt von der Tageszeit ab und umgekehrt.

Nächstes Ziel: Herausausfinden, an welchem Wochentag zu welcher Uhrzeit gibt es im Schnitt die meisten Views?

Wir lassen und die Gruppenmittelwerte geordnet anzeigen

# Gruppenmittelwerte anzeigen, geordnet Überblick über die mittleren Views je Kombination:
summary_df <- aggregate(views ~ weekday + time_block, data = data_long, mean)
summary_df[order(-summary_df$views), ]
##      weekday time_block     views
## 8   Thursday          2 2826.0000
## 11    Monday          3 2251.3333
## 14 Wednesday          3 1667.3333
## 3    Tuesday          1 1382.6667
## 19   Tuesday          4 1370.6667
## 18  Thursday          4 1361.3333
## 4     Friday          2 1358.6667
## 5     Monday          2 1208.6667
## 16    Monday          4 1197.6667
## 9  Wednesday          2 1183.6667
## 1     Monday          1 1181.6667
## 20 Wednesday          4 1168.3333
## 17  Saturday          4 1113.3333
## 7     Sunday          2 1031.6667
## 12  Thursday          3  931.0000
## 2   Thursday          1  912.6667
## 10    Friday          3  897.0000
## 13   Tuesday          3  893.6667
## 6   Saturday          2  793.3333
## 15    Friday          4  727.0000

Ergebnis: Top-Zeitpunkt: Donnerstag im Zeitblock 2!

Mögliche grafische Darstellung: Heatmap

library(ggplot2)

ggplot(summary_df, aes(x = time_block, y = weekday, fill = views)) +
  geom_tile(color = "white") +
  scale_fill_gradient(low = "lightblue", high = "darkblue") +
  labs(title = "Durchschnittliche Views pro Wochentag und Zeitblock",
       x = "Time Block", y = "Wochentag", fill = "Ø Views") +
  theme_minimal() +
  theme(axis.text.x = element_text(size = 12),
        axis.text.y = element_text(size = 12),
        plot.title = element_text(size = 14, face = "bold"))

Analyse 4: Dreifaktorielle ANOVA mit Interaktion mit time_block, weekday und plattform

data_long$plattform <- factor(data_long$plattform)

anova_3way <- aov(views ~ time_block * weekday * plattform, data = data_long)
summary(anova_3way)
##                              Df   Sum Sq Mean Sq F value Pr(>F)   
## time_block                    3   621883  207294   0.550 0.6605   
## weekday                       6  3436930  572822   1.521 0.2743   
## plattform                     2  8522479 4261239  11.312 0.0035 **
## time_block:weekday           10 11012038 1101204   2.923 0.0609 . 
## time_block:plattform          6  1069713  178286   0.473 0.8126   
## weekday:plattform            12  1721021  143418   0.381 0.9392   
## time_block:weekday:plattform 20  7968516  398426   1.058 0.4904   
## Residuals                     9  3390397  376711                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Ergebnis:

  • Plattform hat einen signifikanten Effekt (p=0.0035)
  • Interaktion time_block und weekday knapp nicht signifikant (p=0.0609).

Welche Plattform gibt im Schnitt die meisten Views?

aggregate(views ~ plattform, data = data_long, mean)
##   plattform     views
## 1  views_IG 1739.1304
## 2  views_TT  953.7391
## 3  views_YT 1041.1739

Ergebnis:

  • Instagram hat im Schnitt mit Abstand die höchsten Views.
  • Und wie ANOVA gezeigt hat: Diese Unterschiede sind statistisch signifikant (p = 0.0035).

Nochmal time_block und weekday checken

Da die Interaktion zwischen Zeitblock und Wochentag eben knapp signifiant (p=0.0609) und bei vorheriger Analyse signifikant (p = 0.0218) war, schauen wir uns nochmal die Gruppenmittelwerte an

summary_combo <- aggregate(views ~ weekday + time_block, data = data_long, mean)
summary_combo[order(-summary_combo$views), ]
##      weekday time_block     views
## 8   Thursday          2 2826.0000
## 11    Monday          3 2251.3333
## 14 Wednesday          3 1667.3333
## 3    Tuesday          1 1382.6667
## 19   Tuesday          4 1370.6667
## 18  Thursday          4 1361.3333
## 4     Friday          2 1358.6667
## 5     Monday          2 1208.6667
## 16    Monday          4 1197.6667
## 9  Wednesday          2 1183.6667
## 1     Monday          1 1181.6667
## 20 Wednesday          4 1168.3333
## 17  Saturday          4 1113.3333
## 7     Sunday          2 1031.6667
## 12  Thursday          3  931.0000
## 2   Thursday          1  912.6667
## 10    Friday          3  897.0000
## 13   Tuesday          3  893.6667
## 6   Saturday          2  793.3333
## 15    Friday          4  727.0000

Ergebnis:

  • Donnerstag in Block 2 ist mit Abstand der beste Zeitpunkt.
  • Auch Montag in Block 3 und Mittwoch in Block 3 schneiden stark ab.

Interpreation/Fazit

Basierend auf der explorativen Analyse ist Instagram die Plattform mit den höchsten durchschnittlichen Views und einem statistisch signifikanten Vorteil gegenüber den anderen Plattformen. Außerdem zeigt sich, dass Donnerstag im Zeitblock2 die höchste durchschnittliche Reichweite erzielt, unabhängig von der Plattform.