Vorheriger Artikel Nächster Artikel

20 Zeilen Code, die jeden klassischen A/B-Test schlagen

Der klassische lässt viel Potential liegen, behauptet der kanadische Programmierer Steve Hanov. Er veröffentlichte auf seinem eine Alternative, die dieses Potential nutzen und dennoch ebenso gute Ergebnisse liefern soll.

20 Zeilen Code, die jeden klassischen A/B-Test schlagen
20 Zeilen Code sollen ausreichen, um den klassischen A/B-Test zu schlagen. (Foto: Riebart / flickr.com, Lizenz: CC-BY)

20 Zeilen Code als bessere Alternative zum klassischen A/B-Test, das klingt zu gut um wahr zu sein. Der kanadische Programmierer Steve Hanov behauptet dennoch, diesem Ziel mithilfe der Epsilon-Greedy Methode gerecht zu werden.

Der A/B-Test: einfach aber effektiv

Ein klassischer A/B-Test ist schnell eingerichtet. Wenn die Zielgruppe segmentiert und in einem gleichbleibenden Verhältnis auf mehrere zu testende Alternativen verteilt wurde, gilt es abzuwarten. Erst wenn die Daten ein eindeutiges Ergebnis zulassen, wird anhand der Conversion-Rate die Effektivität der Alternativen abgelesen. Hanov bemängelt nun, dass schon während des A/B-Tests wertvolles Potential verlorengeht.

Eine Alternative zum klassischen A/B-Test

Hanov schlägt vor, die zu testenden Varianten zu Beginn gleichberechtigt nebeneinander zu stellen. Sobald erste Ergebnisse zur Verfügung stehen, wird in 90% der Fälle die Variante mit der aktuell besten Conversion-Rate verwendet. Sinkt dessen Conversion-Rate unter den Wert einer anderen Variante, wird automatisch gewechselt. In den verbliebenen 10% der Fälle kommt eine der Alternativen zum Einsatz.

def choose():
if math.random() < 0.1:
# exploration!
# choose a random lever 10% of the time.
else:
# exploitation!
# for each lever,
# calculate the expectation of reward.
# This is the number of trials of the lever divided
# by the total reward given by that lever.
# choose the lever with the greatest
# expectation of reward.
# increment the number of times the chosen
# lever has been played.
# store test data in redis, choice in session key, etc..
def reward(choice, amount):
# add the reward to the total for the given lever.

Die Vorteile liegen auf der Hand: Erstens wird immer die zu diesem Zeitpunkt effektivste Variante verwendet. Zweitens sind auf diese Weise Tests mit mehr als zwei Varianten unproblematisch umsetzbar. Und drittens läuft der Test ohne eigenes Zutun, weil sich die Wahl der Variante automatisch dem bisherigen Testverlauf anpasst.

Ob sich dieser Ansatz in der Praxis behauptet, lässt sich schwer einschätzen. Gerade die Feinheiten eines intensiven A/B-Tests dürften den angegebenen Umfang von 20 Zeilen sprengen. Eine diskussionswürdige Alternative zum bekannten Muster liefert Hanov dennoch.

Was haltet ihr von dieser Herangehensweise?

Weitere Artikel:

E-Commerce: In 8 Schritten zum eigenen A/B-Test (@t3n.de)

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
9 Antworten
  1. von michsch am 05.06.2012 (13:00 Uhr)

    Grundlegend neu scheint dieses Konzept nicht zu sein. Wenn ich das richtig verstehe, dann überträgt Hanov das System von Google AdWords und der Auswahl von Anzeigen in Werbekampagnen auf einen A/B-Test. Auch wenn Google AdWords hier mit Sicherheit komplexer ist lässt sich das schon miteinander vergleichen.
    Für klar Konversions orientierte Websites und Kampagnen (z.B. Online-Shops) kann diese Methode durchaus sinnvoll sein.
    Weiß jemand, wie der Google Website Optimizer hier bei A/B-Tests verfährt?

    Antworten Teilen
  2. von Malte am 05.06.2012 (13:16 Uhr)

    Moment, ich verändere die Stichprobe abhängig vom Ergebnis? Das klingt auf den ersten Blick aus statistischer Sicht nicht sehr solide. Unter Umständen (vor allem bei kleineren Zahlen) verpasse ich damit signifikante Unterschiede, wenn die 10% nicht hinreichend repräsentativ sind. Abgesehen davon kann ich dadurch keine weitere Segmentierung auf Basis der Ergebnisse vornehmen.

    Antworten Teilen
  3. von Andreas Hahn am 05.06.2012 (13:39 Uhr)

    Warum ist das statistisch nicht solide?
    Der A/B-Test findet halt nur jedes 10. Mal statt. Natürlich dürfen dann auch nur die Daten der 10%, die mit verschiedenen Titeln ausgestattet sind, berücksichtigt werden.

    Gerade für Webseiten mit hohem Besucheraufkommen klingt dieses Vorgehen absolut sinnvoll. Nach nur kurzer Zeit hat man erste Ergebnisse und sie werden sofort vollautomatisch aktiviert. Wenn man das ganze noch mit einem Zeitfenster (einige Tage oder eine gewisse Zahl an Seitenaufrufen) kombiniert, kann man sogar sich ändernde Befindlichkeiten über die Zeit hinweg automatisieren, ohne einen erneuten Test durchzuführen.

    Antworten Teilen
  4. von Andreas Hahn am 05.06.2012 (14:16 Uhr)

    @Jörg Dennis Krüger
    Wenn ich mir die Zahlen im genannten Link anschaue, erreicht dieses Vorgehen aber doch genau das gewünschte Ziel. Ich erspare mir nach Abschluss des Tests Entscheidungen zu treffen, die Conversion Rates während des Tests sind höher.
    Nachteil: Ich brauche länger zur Entscheidung. Dafür kann auf diesem Weg gut eine Fire-and-Forget-Lösung umgesetzt werden, die kontinuierlich die besten Conversion Rates erhält. Vor allem für Texte, die länger als 2 Tage relevant sind, dürfte das interessant sein. Gegebenenfalls ändert sich die beste Überschrift ja mit der Medienlage o.ä.. Dies wird dann automatisch angepasst.

    Antworten Teilen
  5. von Matthias am 05.06.2012 (14:40 Uhr)

    Eigentlich sind es nur 4 Zeilen. Der Rest ist Dokumentation.

    Viel interessanter aber ist: Was soll denn das für ein Code sein? Welche Programmiersprache? Das sieht für mich eher wie ein geschriebener Ablauf aus. Aber bei weitem noch kein nutzbarer Code. Wenn man das in JS oder PHP o.ä. umsetzen würde, dann würden 4 Zeilen nicht reichen.
    Vermute ich mal. Ich hab Marketing studiert; nicht Informatik ;-)

    Interessant ist: Mittlerweile ist der verlinkte Artikel veraltet. Google Analytics bietet A/B/C/D/... Tests seit neuestem.

    Antworten Teilen
  6. von Jörg Dennis Krüger am 05.06.2012 (14:55 Uhr)

    @Andreas Hahn
    Natürlich ist ein solches permanentes Optimieren ein netter Ansatz, für den es auch seine Berechtigung gibt. Zu sagen, er ist besser als reines Testing, ist aber so, als wenn man sagt, dass ein Mercedes besser ist, als ein Mini. Gerade solche "Fire and Forget"-Lösungen haben Charme - bieten aber viele Gefahren. Insbesondere sorgen sie dafür, dass man nur die mit den vorhandenen Varianten bestmögliche CR erreicht - aber das Testing neuer (ganz anderer) Varianten und das Lernen von den Besucher damit erschwert wird. Zudem ist der Vergleich der Conversion-Rates während der Optimierung ein rein theoretischer - ein guter Optimierer schaltet natürlich signifikant schlecht laufende Testvariante vorzeitig ab und erhöht somit die durchschnittliche Conversion-Rate während eines Tests.

    Ein wenig mehr dazu habe ich jetzt auch noch drüben bei ConversionBoosting.com geschrieben http://conversionboosting.com/article/ab-tests-sind-schnee-von-gestern-meinungen-zum-multi-armed-bandid-ansatz_2848/

    Antworten Teilen
  7. von Malte am 05.06.2012 (15:04 Uhr)

    @Andreas Hahn
    Eben, die Stichprobe für die 10% ist wesentlich kleiner als die für die 90%. Das bedeutet, dass die Ergebnisse nicht mit einander vergleichbar sind. Abweichungen in der kleinen Stichprobe wirken sich stärker aus als in der großen. Gerade bei mehr als zwei Lösungen haben die hinteren Plätze überhaupt keine Chance mehr vergleichbare Ergebnisse zu produzieren, je nach Gesamtklickzahlen dürfte es da schnell schwer werden statistische Signifikanz zu erreichen.
    tldr: was @Jörg Dennis Krüger sagt.

    Antworten Teilen
  8. von Jörg Dennis Krüger am 05.06.2012 (15:38 Uhr)

    @Malte

    TBH: TLDR bei einem solch komplexen Thema? LOL.

    Antworten Teilen
  9. von Andreas Hahn am 05.06.2012 (16:30 Uhr)

    @Malte
    So wie ich das verstehe werden die 90% gar nicht in die Stichprobe einbezogen, sondern nur die Daten aus den 10% werden zum Testen berücksichtigt.

    Abgesehen davon sind die Größen der Stichproben von verschiedenen Varianten ab einem gewissen Umfang ziemlich irrelevant. Es müsste auch möglich sein, die angezeigten 90% mit auszuwerten. Es interessiert ja nur das Verhältnis von Click through zu Variante. Die mit höchstem Verhältnis wird gewählt. Und um sicher zu stellen, dass alle Varianten mal zur Wahl gestellt werden, werden in 10% der Fälle auch andere angezeigt.
    Mehr Daten verbessern die statistische Relevanz. Wenn das Signifikanzniveau aber erst mal die gewünschte Größe hat, ändern weitere Daten nicht mehr so viel an der Schätzung.

    Ein Einsatz dieses Verfahrens macht natürlich nur bei entsprechenden Leserzahlen Sinn. Wenn ich nur 100 Besucher habe, habe ich nur 10 Testsamples. Da ist die statistische Relevanz natürlich fraglich. (Kommt auch auf den Test an.) Was man aber nie vergessen darf: Aus mathematischer Sicht braucht man meist deutlich weniger Testsamples für ein annehmbares Signifikanzniveau, als man so nach Gefühl meinen würde.

    Zusammengefasst: Wir sehen das wohl alle ziemlich ähnlich.

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema A/B-Test
Conversion-Optimierung von A bis Z: 26 Tipps für eine höhere Konversionsrate [Infografik]
Conversion-Optimierung von A bis Z: 26 Tipps für eine höhere Konversionsrate [Infografik]

Eine umfangreiche Infografik gibt euch 26 Tipps zur Conversion-Optimierung. Von A bis Z liefert die Grafik hilfreiche Hinweise zur Steigerung eurer Konversionsrate. » weiterlesen

A oder B? So nutzt ihr Split-Testing auf Facebook
A oder B? So nutzt ihr Split-Testing auf Facebook

Egal, ob für einen Facebook-Post oder für Werbung, A/B-Tests können dabei helfen, das Optimum aus euren Beiträgen heraus zu holen. Wir zeigen euch daher, worauf ihr bei einem A/B-Test auf … » weiterlesen

Und es hat Klick gemacht: 7 Tipps für gut konvertierende CTA-Buttons
Und es hat Klick gemacht: 7 Tipps für gut konvertierende CTA-Buttons

CTA-Buttons sind vielleicht das wichtigste Detail im E-Commerce. Wir verraten euch, worauf ihr bei der Erstellung eines CTA-Buttons achten müsst. » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n 38 jetzt kostenfrei probelesen! Alle Inhalte des t3n Magazins Diesen Hinweis verbergen