Ghostwriting-Service Dr. Rainer Hastedt

Fachtexte, White Papers, statistische Auswertungen

Erfolgsmessung im Marketing - Folge 30: Die für einen Signifikanztest erforderliche Gruppengröße (Power-Analyse, Teil 2)

Ich hatte in Folge 24, Folge 25 und Folge 26 die durchschnittlichen Konversionsraten für vier Varianten einer Landing-Page verglichen. Die Besucher wurden durch Zufallsauswahl in vier Gruppen eingeteilt. Jeder Besucher sah nur die für seine Gruppe vorgesehene Variante der Landing-Page.

Die für meinen Test gebildeten vier Gruppen umfassten jeweils 35 Leads. Für eine der vier Varianten (H1T1) ergab sich eine wesentlich höhere durchschnittliche Konversionsrate als für die anderen Varianten. Mein Permutations-F-Test zeigte, dass die Unterschiede zwischen den vier Mittelwerten nicht alle zufallsbedingt sind. Die anschließenden paarweisen Mittelwertvergleiche lieferten trotzdem kein signifikantes Ergebnis.

Ich schätze jetzt, welche Gruppengrößen für meine Mittelwertvergleiche sinnvoll gewesen wären. Anschließend bewerte ich die Güte der in Folge 26 durchgeführten Mittelwertvergleiche (vier Gruppen mit jeweils 35 Leads).

Power-Analyse zur Testplanung

Ich vermute, dass für Variante H1T1 eine um 20 Prozentpunkte höhere durchschnittliche Konversionsrate zu erwarten ist als für die anderen drei Varianten.

Die vier Varianten unterscheiden sich nur im Hinblick auf die gewählte Kombination aus Headline und Produktbeschreibung:

  • Landing-Page H1T1 mit H1 und T1
  • Landing-Page H2T1 mit H2 und T1
  • Landing-Page H1T2 mit H1 und T2
  • Landing-Page H2T2 mit H2 und T2

Wenn Variante H1T1 bei einem späteren Test die höchste durchschnittliche Konversionsrate aufweisen würde, dann könnte dieses Ergebnis auf Zufall beruhen oder - wie von mir vermutet - auf der gewählten Kombination aus Headline und Produktbeschreibung.

Wie groß sollten die vier Gruppen mindestens sein, damit ich meine Vermutung anhand von Mittelwertvergleichen erhärten kann?

Mein Lösungsansatz basiert auf dem in Folge 29 erläuterten Grundprinzip. Daher beschreibe ich das Verhalten der Besucher durch binomialverteilte Zufallsvariablen (1 = Konversion ja, 0 = Konversion nein).

Für die Varianten H2T2, H1T2 und H2T2 wähle ich 0,5 als durchschnittliche Konversionsrate, was dem bisherigen Niveau entsprechen soll. Für Variante H1T1 erwarte ich 0,7 als durchschnittliche Konversionsrate (20 Prozentpunkte höher als 0,5).

vH1T1 <- rbinom(n,1,0.7)
vH1T2 <- rbinom(n,1,0.5)
vH2T1 <- rbinom(n,1,0.5)
vH2T2 <- rbinom(n,1,0.5)

Ich kann meine Vermutung durch drei paarweise Mittelwertvergleiche untermauern:

  • H1T1 im Vergleich mit H1T2
  • H1T1 im Vergleich mit H2T1
  • H1T1 im Vergleich mit H2T2

Jeder dieser drei Mittelwertvergleiche sollte einen p-Wert in Höhe von maximal 0,05 liefern, weil Variante H1T1 - gemessen an der durchschnittlichen Konversionsrate - nach meiner Vermutung signifikant besser ist als die anderen drei Varianten.

Bei meiner Simulation erzeuge ich die Zufallszahlen vH1T1, vH1T2, vH2T1 und vH2T2 tausendmal und mache für jeden dieser tausend Durchgänge meine drei Mittelwertvergleiche. Der Anteil der Durchgänge mit den erwarteten Ergebnissen (alle drei p-Werte kleiner oder gleich 0,05) ist dann der Schätzwert für die Power, die mindestens gleich 0,8 sein sollte.

Ich finde durch Ausprobieren, dass n = 135 eine sinnvolle Gruppengröße gewesen wäre (im Zahlenbeispiel aus Folge 26 hatte ich nur 35 Leads pro Gruppe):

n <- 135
nsim <- 1000
korrekt <- 0
library(DAAG)
for (i in 1:nsim) {
 vH1T1 <- rbinom(n,1,0.7)
 vH1T2 <- rbinom(n,1,0.5)
 vH2T1 <- rbinom(n,1,0.5)
 vH2T2 <- rbinom(n,1,0.5)
 p1 <- twotPermutation(vH1T1,vH1T2,plotit=FALSE)
 p2 <- twotPermutation(vH1T1,vH2T1,plotit=FALSE)
 p3 <- twotPermutation(vH1T1,vH2T2,plotit=FALSE)
 holm <- p.adjust(c(p1,p2,p3),"holm")
  if(holm[1] <= 0.05 &
   holm[2] <= 0.05 &
   holm[3] <= 0.05)
  korrekt <- korrekt + 1
}
korrekt/nsim

Ich habe die wegen der drei Mittelwertvergleiche erforderliche Holm-Korrektur bereits in Folge 26 ausführlich erläutert.

Ergebnis:

Wenn ich durch Mittelwertvergleiche die Vermutung erhärten will, dass für Variante H1T1 eine um 20 Prozentpunkte höhere durchschnittliche Konversionsrate zu erwarten ist als für die anderen drei Varianten, dann brauche ich ungefähr 135 Leads pro Gruppe. Mit deutlich kleineren Gruppen würde ich mich auf Tests von relativ geringer Güte einlassen (geschätzte Power niedriger als 0,8).

Je niedriger die geschätzte Power, umso größer ist die Gefahr, beim späteren Test ein unbrauchbares Ergebnis zu erhalten (Mittelwertunterschiede im Rahmen des Erwarteten aber nicht signifikant).

Im Fall relativ kleiner Gruppen wäre die in Folge 28 besprochene logistische Regression eine interessante Alternative.

Nachträgliche Power-Schätzung

In meinem in Folge 24 besprochenen Zahlenbeispiel ergaben sich die folgenden durchschnittlichen Konversionsraten:

Variante Besucher Mittelwert
H1T1 35 0,77
H1T2 35 0,51
H2T1 35 0,57
H2T2 35 0,46

Ich modifiziere den im letzten Abschnitt entwickelten R-Code, indem ich die Gruppengröße und die Mittelwerte meiner binomialverteilten Zufallsvariablen wie in der Tabelle festlege:

n <- 35
vH1T1 <- rbinom(n,1,0.77)
vH1T2 <- rbinom(n,1,0.51)
vH2T1 <- rbinom(n,1,0.57)
vH2T2 <- rbinom(n,1,0.46)

Ich wähle wieder nsim = 1.000 Durchgänge:

n <- 35
nsim <- 1000
korrekt <- 0
library(DAAG)
for (i in 1:nsim) {
 vH1T1 <- rbinom(n,1,0.77)
 vH1T2 <- rbinom(n,1,0.51)
 vH2T1 <- rbinom(n,1,0.57)
 vH2T2 <- rbinom(n,1,0.46)
 p1 <- twotPermutation(vH1T1,vH1T2,plotit=FALSE)
 p2 <- twotPermutation(vH1T1,vH2T1,plotit=FALSE)
 p3 <- twotPermutation(vH1T1,vH2T2,plotit=FALSE)
 holm <- p.adjust(c(p1,p2,p3),"holm")
  if(holm[1] <= 0.05 &
   holm[2] <= 0.05 &
   holm[3] <= 0.05)
  korrekt <- korrekt + 1
}
korrekt/nsim

Mein Power-Schätzwert liegt bei 0,2 (für eine genauere Schätzung müsste ich die Anzahl der Durchgänge nsim wesentlich höher ansetzen). Die Mittelwertvergleiche aus Folge 26 sind auch nach dieser Schätzung von schlechter Qualität (Power weit niedriger als 0,8).

Ich finde durch Ausprobieren, dass mindestens 100 Leads pro Gruppe erforderlich gewesen wären - sofern die Mittelwerte wie in der Tabelle sind:

n <- 100
nsim <- 1000
korrekt <- 0
library(DAAG)
for (i in 1:nsim) {
 vH1T1 <- rbinom(n,1,0.77)
 vH1T2 <- rbinom(n,1,0.51)
 vH2T1 <- rbinom(n,1,0.57)
 vH2T2 <- rbinom(n,1,0.46)
 p1 <- twotPermutation(vH1T1,vH1T2,plotit=FALSE)
 p2 <- twotPermutation(vH1T1,vH2T1,plotit=FALSE)
 p3 <- twotPermutation(vH1T1,vH2T2,plotit=FALSE)
 holm <- p.adjust(c(p1,p2,p3),"holm")
  if(holm[1] <= 0.05 &
   holm[2] <= 0.05 &
   holm[3] <= 0.05)
  korrekt <- korrekt + 1
}
korrekt/nsim

Die geschätzte Mindest-Gruppengröße hängt davon ab, welche Annahmen ich über die Mittelwerte der vier Gruppen mache. Im vorherigen Abschnitt lag der Schwellenwert bei n = 135, jetzt bei n = 100.

Für den Test der Vermutung, dass Variante H1T1 besser abschneidet als die anderen sind drei paarweise Mittelwertvergleiche ausreichend. Ich habe mich daher in diesem Beitrag mit drei von sechs möglichen paarweisen Mittelwertvergleichen begnügt.

Bei drei paarweisen Vergleichen muss ich die p-Werte weniger stark nach oben korrigieren als bei sechs paarweisen Vergleichen. Dies ergibt sich aus meinen Ausführungen in Folge 26 und ist am leichtesten für das Bonferroni-Verfahren nachvollziehbar, wo ich jeden p-Wert mit der Anzahl der paarweisen Mittelwertvergleiche multipliziere.