Multi-Armed Bandit
Lass ABlyft den Traffic automatisch zu den Variations verschieben, die beim Primary Goal am besten abschneiden.
Standardmäßig legst du den Traffic-Anteil jeder Variation selbst fest, und der Split bleibt gleich, bis du ihn änderst. Mit dem Multi-Armed Bandit passt ABlyft den Split automatisch an: Variations, die beim Primary Goal des Experiments besser abschneiden, erhalten mehr Traffic, und jede Variation bekommt trotzdem genug Traffic, um weiter dazuzulernen.
Nutze ihn, wenn du schon während des Experiments möglichst viele Conversions oder möglichst viel Revenue erzielen möchtest. Geht es dir vor allem um einen sauberen Vergleich mit gleich großen Gruppen, bleib beim manuellen Split.
- Er optimiert das vorhandene Primary Goal des Experiments. Du musst nichts weiter einrichten.
- Er arbeitet mit einer bayesschen Methode (Thompson Sampling). Eine Variation, deren Ergebnis noch unsicher ist, bekommt weiterhin genug Traffic, um bewertet zu werden.
- Visitors behalten die Variation, der sie zugeteilt wurden. Ein neuer Split betrifft nur Visitors, die zum ersten Mal per Bucketing zugeteilt werden.
- Er ändert nicht, wie die Results berechnet werden. Deine Statistical Methods (Frequentist oder Bayesian) bleiben, wie du sie eingestellt hast.
Distribution Modes
| Mode | Beschreibung |
|---|---|
| Manual (Standard) | Du legst den Traffic-Anteil jeder Variation fest, siehe Traffic Allocation. |
| Multi-Armed Bandit | ABlyft berechnet den Traffic-Anteil jeder Variation automatisch. |
Jedes Experiment nutzt Manual, bis du den Multi-Armed Bandit aktivierst.
Den Multi-Armed Bandit aktivieren
- Öffne das Experiment.
- Klicke oben auf das Zahnrad-Symbol (Edit settings).
- Klicke im Bereich Traffic Split & Distribution auf Enable Multi-Armed Bandit.
- Bestätige das Fenster Enable Multi-Armed Bandit? („Traffic allocation will be automatically optimized based on your Primary Metric. Variations with 0% traffic will not take part. Existing visitors will remain assigned to their current variations. Only new visitors will be affected by allocation changes.“).
Voraussetzungen:
- Mindestens zwei Variations mit mehr als 0 % Traffic. Sonst ist der Button deaktiviert, mit dem Tooltip „At least two variations with traffic are required.“
- Ein Primary Goal, also das erste Goal des Experiments. Ohne es lässt ABlyft den Split unverändert.
Was beim Aktivieren passiert:
- Alle Variations mit mehr als 0 % Traffic nehmen teil.
- Variations mit 0 % Traffic bleiben außen vor und behalten 0 %. Um sie später einzubeziehen, wechsle zurück zu Manual, gib ihnen Traffic und aktiviere den Bandit erneut.
- Der Traffic wird sofort gleichmäßig auf die teilnehmenden Variations verteilt, zum Beispiel 34 / 33 / 33 % bei drei Variations. Den Rest erhält die Baseline.
- Die Lernphase beginnt.
Du kannst den Bandit in jedem Status aktivieren, auch während das Experiment läuft. Optimiert wird der Split nur, solange das Experiment Running ist.
Lernphase
Bevor ABlyft etwas optimiert, sammelt es mit dem gleichmäßigen Split erste Daten. Die Lernphase endet, wenn beide Voraussetzungen erfüllt sind:
| Voraussetzung | Wert |
|---|---|
| Laufzeit seit dem Aktivieren des Bandits (oder seit dem Neustart der Lernphase) | Mindestens 24 Stunden |
| Visitors pro teilnehmender Variation in dieser Zeit | Mindestens 100 |
Visitors werden in ganzen Tagen gezählt, also zählen alle Visitors ab dem Tag, an dem die Lernphase begonnen hat. Diese Schwellen sind fest und unabhängig von den Decision Rules deines Projects oder Experiments. Du musst nichts tun: Die Optimierung startet automatisch, sobald beide Voraussetzungen erfüllt sind.
Optimierung
Nach der Lernphase berechnet ABlyft den Split alle 15 Minuten neu, solange das Experiment läuft.
- Variations, die beim Primary Goal mit höherer Wahrscheinlichkeit die beste sind, erhalten mehr Traffic. Ein hohes, aber noch unsicheres Ergebnis bekommt nicht automatisch den Großteil des Traffics.
- Jede teilnehmende Variation behält mindestens 5 % des Traffics, damit der Bandit weiter erkundet.
- Die Anteile sind ganze Zahlen und ergeben immer genau 100 %.
- Der Split wird nur geändert, wenn sich ein Anteil um mindestens 2 Prozentpunkte verschiebt. So entstehen keine ständigen kleinen Änderungen.
- Jede Änderung wird automatisch veröffentlicht.
- Ist keine Berechnung möglich, zum Beispiel weil das Experiment kein Primary Goal hat, bleibt der letzte Split bestehen. Der nächste Durchlauf versucht es erneut.
Das Primary Goal kann eines davon sein:
| Primary Goal | Was der Bandit vergleicht |
|---|---|
| Goal mit Counting Method One | Conversion Rate pro Visitor |
| Goal mit Counting Method Every | Conversions pro Visitor (kann über 1 liegen) |
| Revenue-Goal | Durchschnittlicher Wert pro Visitor, mit dem Value Filter des Goals |
Die Winning Direction des Goals wird berücksichtigt: Bei Decrease wird die Variation mit dem niedrigsten Wert bevorzugt.
Status
Solange der Bandit aktiv ist, zeigt ABlyft seinen Status an zwei Stellen:
- In den Experiment-Einstellungen, Bereich Traffic Split & Distribution: ein Badge Multi-Armed Bandit — Learning mit dem Hinweis „The system is collecting initial observations before optimizing traffic allocation.“ oder Multi-Armed Bandit — Optimizing mit dem Zeitpunkt der letzten Änderung, zum Beispiel „Last optimized: 12 minutes ago“.
- In der Status-Karte der Experiment-Übersicht: ein Badge Multi-Armed Bandit · Learning oder Multi-Armed Bandit · Optimizing. Fahre mit der Maus darüber, um den Zeitpunkt der letzten Optimierung zu sehen.
| Status | Bedeutung |
|---|---|
| Learning | ABlyft sammelt erste Daten. Der Traffic ist gleichmäßig verteilt. |
| Optimizing | ABlyft passt den Split alle 15 Minuten an. |
Die Traffic-Felder der Variations sind schreibgeschützt, solange der Bandit aktiv ist. Der Slider Overall traffic allocation (%) bleibt bearbeitbar: Er entscheidet weiterhin, wie viele berechtigte Visitors am Experiment teilnehmen.
Änderungen bei aktivem Bandit
Manche Änderungen machen die bisherigen Daten unvergleichbar. ABlyft setzt den Traffic dann auf einen gleichmäßigen Split über die teilnehmenden Variations zurück und startet die Lernphase neu. Die Optimierung läuft automatisch weiter, sobald die Voraussetzungen der Lernphase wieder erfüllt sind.
| Änderung | Auswirkung |
|---|---|
| Du fügst eine Variation hinzu | Die neue Variation nimmt teil. Die Lernphase startet neu. |
| Du löschst eine Variation | Die Variation wird aus dem Bandit entfernt. Die Lernphase startet neu. |
| Du änderst das Primary Goal (ein anderes Goal an die erste Stelle) | Die Lernphase startet neu. |
Setzt du die Results des Experiments zurück, nutzt der Bandit nur Daten, die nach dem Zurücksetzen gesammelt wurden. In allen Fällen behalten Visitors die Variation, der sie zugeteilt wurden.
Den Multi-Armed Bandit deaktivieren
- Öffne die Experiment-Einstellungen (Zahnrad-Symbol, Edit settings).
- Klicke in Traffic Split & Distribution auf Disable Multi-Armed Bandit.
- Bestätige das Fenster Disable Multi-Armed Bandit? („Automatic traffic optimization will stop. The current traffic allocation will be preserved and can be adjusted manually.“).
Der letzte Split bleibt erhalten; er wird nicht auf gleiche Anteile zurückgesetzt. Die Traffic-Felder sind wieder bearbeitbar. Aktivierst du den Bandit später erneut, beginnt eine neue Lernphase.
Gut zu wissen
Wechseln Visitors die Variation, wenn sich der Split ändert?
Nein. Die Variation eines Visitors wird einmal zugeteilt und im Browser gespeichert. Ein neuer Split betrifft nur Visitors, die neu ins Experiment kommen.
Ändert der Bandit die Statistics?
Nein. Die Statistical Method und die Decision Rules bleiben, wie sie eingestellt sind. Bedenke, dass Variations mit kleinerem Anteil langsamer Daten sammeln und daher länger für ein klares Ergebnis brauchen können.
Warum gibt es keine SRM-Warnung?
Der SRM check vergleicht die Participants mit dem geplanten Split. Sobald der Bandit den Split geändert hat, ist dieser Vergleich nicht mehr aussagekräftig. ABlyft zeigt den SRM check deshalb für Experiments nicht an, deren Traffic vom Bandit optimiert wurde, auch nachdem du zurück zu Manual gewechselt hast.
Kann ich den Traffic einer Variation über die API ändern?
Nicht, solange der Bandit aktiv ist. Eine Änderung von traffic_allocation einer Variation über die
REST API schlägt mit einem 422-Validierungsfehler fehl, und der
MCP-Server gibt einen Fehler zurück. Deaktiviere zuerst den Bandit.
Was passiert, wenn ich das Experiment klone?
Der Klon startet immer mit dem Distribution Mode Manual.
Warum hat sich der Split länger nicht geändert?
- Das Experiment ist noch in der Lernphase.
- Das Experiment ist nicht Running.
- Kein Anteil würde sich um mindestens 2 Prozentpunkte ändern.
- Das Experiment hat kein Primary Goal.
Kann ich die Schwellen ändern?
Nein. Die 24 Stunden, 100 Visitors pro Variation und das Minimum von 5 % pro Variation sind fest.