Drücke die Tasten ◄ ► für weitere Artikel  

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

Der klassische A/B-Test lässt viel Potential liegen, behauptet der kanadische Programmierer Steve Hanov. Er veröffentlichte auf seinem Blog 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)

Autor:
110 Shares bis jetzt – Dankeschön!

Bewerten
VN:F [1.9.22_1171]
14 Antworten
  1. von Daniel Zehle via facebook am 05.06.2012 (12:34Uhr)

    sehr interessant

  2. von michsch am 05.06.2012 (13:00Uhr)

    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?

  3. von Malte am 05.06.2012 (13:16Uhr)

    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.

  4. von datenonkel via facebook am 05.06.2012 (13:29Uhr)

    Eine Software - wie maxymiser - benutzen und einen richtigen MVT durchführen!

  5. von Andreas Hahn am 05.06.2012 (13:39Uhr)

    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.

  6. von Jörg Dennis Krüger via facebook am 05.06.2012 (13:49Uhr)

    In der Form: Totaler Unfug. Die Ziele eines solchen Vorgehens und die Ziele eines A/B oder multivariaten Tests sind vollkommen unterschiedlich.Mehr Infos dazu beispielsweise im Blog von Wingify: http://visualwebsiteoptimizer.com/split-testing-blog/multi-armed-bandit-algorithm/

  7. von Andreas Hahn am 05.06.2012 (14:16Uhr)

    @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.

  8. von Matthias am 05.06.2012 (14:40Uhr)

    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.

  9. von A/B-Tests sind Schnee von gestern!? (Mei… am 05.06.2012 (14:51Uhr)

    [...] A/B-Testing mehr zu betreiben, sondern einen solchen Ansatz zu verfahren. T3N hat diesen Beitrag neutral ins Deutsche übertragen und zur Diskussion gestellt (Gruppe A).Als Antwort darauf hat das Team von Visual Website Optimizer einen sehr ausführlichen [...]

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

    @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/

  11. von Malte am 05.06.2012 (15:04Uhr)

    @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.

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

    @Malte

    TBH: TLDR bei einem solch komplexen Thema? LOL.

  13. von Andreas Hahn am 05.06.2012 (16:30Uhr)

    @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.

  14. von Michael van Laar via facebook am 08.06.2012 (08:59Uhr)

    Wird in meiner neuen Website gleich mal verbaut :-)

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
Landingpages: Diese 10 Fehler solltet ihr vermeiden
Landingpages: Diese 10 Fehler solltet ihr vermeiden

Die perfekte Landingpage zu erstellen ist nicht einfach. Wir zeigen euch die zehn häufigsten Fehler, damit ihr sie zukünftig vermeiden könnt. » weiterlesen

5 WordPress-Plugins für A/B-Tests
5 WordPress-Plugins für A/B-Tests

A/B-Tests helfen Seitenbetreibern, die Conversion-Rate ihrer Website zu steigern. Titel von Artikeln oder ganze Landingpages: Mit diesen fünf WordPress-Plugins lassen sich fast alle Bestandteile... » weiterlesen

A/B-Test: 71 Tipps für mehr Conversions
A/B-Test: 71 Tipps für mehr Conversions

Das Software-Unternehmen Optimizely hat eine Liste mit insgesamt 71 Tipps für den perfekten A/B-Test zusammengestellt. Agenturen, Unternehmen und Blogger finden hier praxisnahe Hinweise, die sie bei. ... » weiterlesen

Kennst Du schon unser t3n Magazin?

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