Kapitel 13: A/B Testing – Methodik, Tools und Implementierung
A/B Testing ist die wissenschaftliche Grundlage für datengetriebene Conversion-Optimierung. Wer konsequent testet, trifft bessere Entscheidungen als wer auf Bauchgefühl oder HiPPO-Meinungen setzt. Dieses Kapitel erklärt die statistischen Grundlagen, den professionellen Testprozess, die wichtigsten Tools und die technische Implementierung – inklusive Integration mit GA4 und serverseitigem Testing.
13.1 Was ist A/B Testing und warum ist es unverzichtbar?
A/B Testing (auch Split Testing genannt) ist eine kontrollierte Methode zum Vergleich zweier oder mehrerer Varianten einer Website, App oder Marketingkampagne. Variante A (Control) und Variante B (Treatment) werden gleichzeitig an zufällig aufgeteilte Nutzersegmente ausgeliefert. Der Gewinner wird anhand eines vordefinierten Erfolgsmetriks ermittelt.
Warum A/B Testing statt Bauchgefühl?
- Kausalität statt Korrelation: Durch Randomisierung können kausale Aussagen getroffen werden – andere Faktoren sind kontrolliert.
- Schutz vor Confirmation Bias: Das Experiment entscheidet, nicht die Person mit dem grössten Einfluss im Raum (HiPPO-Problem).
- Quantifiziertes Risiko: Statistische Signifikanz gibt an, wie wahrscheinlich ein Ergebnis durch Zufall entstanden ist.
- Skalierbare Lernkurve: Jeder Test liefert verwertbare Erkenntnisse – auch gescheiterte Tests.
Grundbegriffe im A/B Testing
| Begriff | Definition | Praxisbeispiel |
|---|---|---|
| Control (A) | Die aktuelle, unveränderte Version | Blauer CTA-Button "Jetzt kaufen" |
| Treatment (B) | Die veränderte Variante | Oranger CTA-Button "Kostenlos testen" |
| Primär-Metrik | Der Haupt-KPI, der den Gewinner bestimmt | Checkout-Conversion-Rate |
| Guardrail-Metrik | KPI, der nicht negativ beeinflusst werden darf | Bounce Rate, durchschnittlicher Bestellwert |
| Signifikanzniveau (α) | Maximal tolerierter Fehler 1. Art (False Positive) | α = 0.05 → 5% Wahrscheinlichkeit für Falsch-Positiv |
| Statistische Power (1−β) | Wahrscheinlichkeit, einen echten Effekt zu entdecken | Power = 80% ist der Mindeststandard |
| Minimum Detectable Effect (MDE) | Kleinste Verbesserung, die klinisch relevant ist | +2% Conversion Rate ist das Minimum |
| p-Wert | Wahrscheinlichkeit, das beobachtete Ergebnis unter H₀ zu sehen | p = 0.03 → signifikant bei α = 0.05 |
13.2 Statistische Grundlagen: Worauf es wirklich ankommt
Viele A/B-Tests liefern falsche Ergebnisse – nicht wegen technischer Fehler, sondern wegen statistischer Missverständnisse. Ein solides Verständnis der Grundlagen ist die wichtigste Investition für jeden CRO-Experten.
Die zwei Fehlertypen
| Fehlertyp | Bezeichnung | Was passiert | Kontrolle |
|---|---|---|---|
| Typ I Fehler (α) | False Positive | B ist kein Gewinner, wird aber als Gewinner deklariert | Signifikanzniveau α (z.B. 5%) |
| Typ II Fehler (β) | False Negative | B ist ein echter Gewinner, wird aber nicht erkannt | Power (1−β), z.B. 80% |
Wenn Sie den Test täglich beobachten und stoppen, sobald Signifikanz erreicht ist, erhöhen Sie die False-Positive-Rate massiv. Bei täglich überprüften Tests liegt die echte False-Positive-Rate nicht bei 5%, sondern bei bis zu 26%. Lösung: Stichprobengrösse vorab berechnen, Test vollständig laufen lassen, oder Sequential Testing / Bayesianische Methoden einsetzen.
Stichprobengrösse berechnen
Vor jedem Test muss die benötigte Stichprobengrösse berechnet werden. Die Inputs:
- Baseline Conversion Rate: Aktueller Wert der Primär-Metrik (z.B. 3.2%)
- Minimum Detectable Effect (MDE): Kleinste Verbesserung, die relevant ist (z.B. +10% relativ = 3.52% absolut)
- Signifikanzniveau α: Standard 5% (0.05)
- Power (1−β): Standard 80%, besser 90%
from scipy import stats
import math
def berechne_stichprobengroesse(baseline_rate, mde_relativ, alpha=0.05, power=0.80):
"""
Berechnet die benötigte Stichprobengrösse pro Variante.
baseline_rate: Aktuelle Conversion Rate (z.B. 0.032 für 3.2%)
mde_relativ: Minimaler detektierbarer Effekt, relativ (z.B. 0.10 für +10%)
alpha: Signifikanzniveau (Standard 0.05)
power: Statistische Power (Standard 0.80)
"""
p1 = baseline_rate
p2 = baseline_rate * (1 + mde_relativ)
# z-Werte
z_alpha = stats.norm.ppf(1 - alpha / 2) # zweiseitiger Test
z_beta = stats.norm.ppf(power)
# Pooled proportion
p_pool = (p1 + p2) / 2
n = (z_alpha * math.sqrt(2 * p_pool * (1 - p_pool)) +
z_beta * math.sqrt(p1 * (1 - p1) + p2 * (1 - p2))) ** 2 / (p2 - p1) ** 2
return math.ceil(n)
# Beispiel: 3.2% Baseline, +10% MDE, 95% Konfidenz, 80% Power
n = berechne_stichprobengroesse(0.032, 0.10)
print(f"Benötigte Stichprobengrösse pro Variante: {n:,}")
# Output: Benötigte Stichprobengrösse pro Variante: 14,753
Teilen Sie die benötigte Stichprobengrösse durch den täglichen Traffic auf der Testseite und multiplizieren Sie mit der Anzahl Varianten. Führen Sie Tests mindestens 2 Wochen durch, um Wochentag-Effekte auszugleichen – auch wenn die Stichprobengrösse früher erreicht wird.
Konfidenzintervalle verstehen
Ein 95%-Konfidenzintervall bedeutet: Würde man den Test 100-mal durchführen, würde das Intervall 95-mal den wahren Populationsparameter enthalten. Es ist kein Wahrscheinlichkeits-Statement über den konkreten Test. Breite Konfidenzintervalle signalisieren geringe Teststärke – entweder zu wenig Traffic oder zu kurze Laufzeit.
13.3 Der professionelle A/B-Testing-Prozess
Professionelles A/B Testing folgt einem strukturierten Prozess. Ad-hoc-Tests ohne Hypothese und Dokumentation führen zu verschwendeten Ressourcen und falschen Schlussfolgerungen.
Phase 1: Research und Hypothese
- Quantitative Analyse: Wo verlieren Sie Nutzer? Funnel-Analyse in GA4, hohe Bounce Rates, niedrige Add-to-Cart-Raten.
- Qualitative Analyse: Warum verlieren Sie Nutzer? Heatmaps, Session Recordings, User-Feedback, Umfragen.
- Hypothese formulieren: "Wenn wir [Änderung X] vornehmen, dann [erwartetes Ergebnis Y], weil [Begründung Z]."
- Priorisierung: PIE-Framework (Potential, Importance, Ease) oder ICE-Score (Impact, Confidence, Ease).
Beispiel: Hypothesen-Formulierung nach dem PIE-Framework
Beobachtung: 68% der Nutzer verlassen die Produktseite ohne Add-to-Cart. Heatmap zeigt: CTA-Button wird erst nach Scrollen sichtbar.
Hypothese: "Wenn wir den CTA-Button auf der Produktseite above-the-fold positionieren und den Text von 'In den Warenkorb' zu 'Jetzt kaufen – kostenloser Versand' ändern, dann erhöht sich die Add-to-Cart-Rate um mindestens 8%, weil Nutzer sofort die primäre Handlung und den Kaufanreiz sehen."
PIE-Score: Potential: 8 | Importance: 9 (Produktseite = meistbesuchte Seite) | Ease: 7 → PIE: 8.0
Phase 2: Test-Design und Setup
- Stichprobengrösse berechnen (vor dem Start, nicht danach)
- Segmentierung planen: Welche Nutzergruppen werden getestet? (Neue vs. wiederkehrende Nutzer, Gerät, Traffic-Quelle)
- Traffic-Aufteilung: Standard 50/50 für zwei Varianten. Bei mehreren Varianten entsprechend anpassen.
- Guardrail-Metriken definieren: Was darf auf keinen Fall schlechter werden?
- Testdokumentation: Alle Parameter in einem Test-Protokoll festhalten (Datum, Hypothese, Varianten, erwartete Laufzeit, KPIs).
Phase 3: Implementierung und QA
- Variante auf allen relevanten Geräten und Browsern testen
- Tracking-Events für Primär- und Guardrail-Metriken validieren
- SRM-Check (Sample Ratio Mismatch): Traffic-Aufteilung stimmt mit Soll überein?
- Test mit internen Nutzern exkludieren (IP-Filter oder Cookie-Ausschluss)
Phase 4: Auswertung und Entscheidung
- Test vollständig abwarten: Erst auswerten, wenn die berechnete Stichprobengrösse erreicht wurde.
- Primär-Metrik prüfen: Ist der Unterschied statistisch signifikant? (p < α)
- Guardrail-Metriken prüfen: Hat die Variante negative Nebeneffekte?
- Praktische Signifikanz prüfen: Ist der Effekt auch wirtschaftlich relevant?
- Segmentierungsanalyse: Gibt es Subgruppen, die stark anders reagieren?
- Entscheidung dokumentieren: Auch bei nicht-signifikanten Tests: Was wurde gelernt?
- Signifikant positiv + praktisch relevant: Variante implementieren, Test wiederholen zur Validierung empfohlen
- Signifikant negativ: Control behalten, Hypothese überdenken
- Nicht signifikant: Entweder kein Effekt vorhanden oder Test zu schwach (MDE zu klein, Traffic zu gering) – Laufzeit verlängern oder MDE überdenken
- Signifikant, aber praktisch nicht relevant: Ressourcen lieber in wirkungsvollere Tests investieren
13.4 Testtypen: A/B, MVT und Multipage Tests
A/B Test (Split Test)
Der klassische Vergleich einer Variante gegen die Kontrolle. Ideal für klare, isolierte Veränderungen. Schnellste Auswertung, geringste Traffic-Anforderungen. Für die meisten Teams der Standard.
A/B/n Test
Mehrere Varianten gleichzeitig gegen die Kontrolle. Geeignet, wenn mehrere Designoptionen verglichen werden sollen. Wichtig: Stichprobengrösse pro Variante muss vollständig erreicht werden – das verlängert die Laufzeit proportional zur Variantenanzahl.
Multivariater Test (MVT)
Gleichzeitiges Testen mehrerer Elemente und deren Kombinationen auf einer Seite. Liefert Erkenntnisse über Interaktionen zwischen Elementen, braucht aber deutlich mehr Traffic.
| Aspekt | A/B Test | A/B/n Test | MVT |
|---|---|---|---|
| Traffic-Bedarf | Niedrig | Mittel (× Varianten) | Sehr hoch |
| Implementierungskomplexität | Gering | Gering | Hoch |
| Erkenntnistiefe | Isolierter Effekt | Vergleich Varianten | Interaktionseffekte |
| Auswertungskomplexität | Gering | Mittel | Hoch |
| Empfohlen ab | Jeder Traffic | > 50.000 Sitzungen/Monat | > 500.000 Sitzungen/Monat |
Multipage Test (Funnel Test)
Varianten werden konsistent über mehrere Seiten eines Funnels ausgeliefert. Notwendig, wenn eine Änderung den gesamten Conversion-Pfad betrifft (z.B. neues Checkout-Design über 3 Schritte). Die Herausforderung: Nutzer müssen die Variante auf allen Seiten konsistent sehen.
Serverseitiges vs. Clientseitiges Testing
| Aspekt | Client-Side Testing | Server-Side Testing |
|---|---|---|
| Implementierung | JavaScript-Snippet, kein Dev-Einsatz | Backend-Änderung, Dev-Ressourcen nötig |
| Page-Flickering | Möglich (FOOC – Flash of Original Content) | Kein Flickering |
| Performance-Impact | Zusätzliches JavaScript lädt | Kein Client-Impact |
| Testmöglichkeiten | Visuelle Änderungen, DOM-Manipulation | Algorithmen, Preise, Produktreihenfolge |
| Gecachte Seiten | Problematisch | Vollständig kompatibel |
| Typische Tools | VWO, Optimizely, AB Tasty | LaunchDarkly, Unleash, Growthbook |
13.5 A/B Testing Tools im Vergleich
Die Wahl des richtigen Testing-Tools hängt von Traffic-Volumen, technischen Ressourcen, Budget und Integrations-Anforderungen ab. Google Optimize wurde im September 2023 eingestellt – Teams, die darauf setzten, müssen migrieren.
| Tool | Typ | Stärken | Schwächen | Preis/Monat | Ideal für |
|---|---|---|---|---|---|
| VWO (Visual Website Optimizer) | Client-Side | Umfangreicher Visual Editor, Heatmaps inklusive, gute GA4-Integration | Teuer bei Scale, Flickering möglich | Ab $199 | KMU bis Mid-Market E-Commerce |
| Optimizely | Client + Server | Enterprise-Features, serverseitiges Testing, Feature Flags | Sehr teuer, komplexe Einrichtung | Enterprise (auf Anfrage) | Enterprise, Tech-Teams |
| AB Tasty | Client-Side | Einfache Bedienung, Personalisierung, gute DSGVO-Unterstützung | Weniger Statistik-Tiefe | Ab $1000+ | Mid-Market, EU-Unternehmen |
| Kameleoon | Client + Server | AI-Personalisierung, starke EU-Datenschutz-Compliance | Komplexer Einstieg | Enterprise | Enterprise, EU-fokussiert |
| Convert.com | Client-Side | DSGVO-konform, kein Sampling, gutes Preis-Leistungs-Verhältnis | Kleineres Ökosystem | Ab $699 | Datenschutzbewusste Teams |
| GrowthBook | Server-Side / Open Source | Open Source, Warehouse-native, kostenlos self-hosted | Dev-Ressourcen nötig | Ab $0 (OS) / $200 (Cloud) | Tech-affine Teams, Startups |
| LaunchDarkly | Feature Flags + Testing | Enterprise Feature Flags, starke SDK-Unterstützung | Primär Feature-Flag-Tool | Ab $10/Seat | Dev-Teams mit Feature-Flag-Bedarf |
| Statsig | Server-Side | Warehouse-native, günstig, gutes Stats-Engine | Weniger Visual-Editor-Support | Ab $0 (Starter) | Produktteams, Data-driven Startups |
Nach der Einstellung von Google Optimize sind dies die empfohlenen Alternativen je nach Setup: Kleines Budget + einfache Tests: VWO Starter oder Convert.com. Technisches Team + Warehouse-Daten: GrowthBook (Open Source) oder Statsig. Enterprise mit Personalisierung: Optimizely oder Kameleoon. Shopify-Shops: Intelligems (preisorientiertes Testing) oder VWO.
13.6 A/B Testing mit Google Analytics 4 integrieren
GA4 selbst führt keine A/B Tests durch, ist aber die wichtigste Datenquelle für Testauswertung und -analyse. Die Integration zwischen Testing-Tool und GA4 ermöglicht tiefere Segmentierungsanalysen und die Nutzung aller GA4-Dimensionen für die Testauswertung.
Custom Dimension für Testvariante
Der einfachste Weg, Testvarianten in GA4 zu tracken, ist eine Custom Dimension. So können alle GA4-Berichte nach Testvariante segmentiert werden.
// Schritt 1: In GA4 Custom Dimension anlegen:
// Name: "ab_test_variant" | Scope: Event | Parameter: ab_test_variant
// Schritt 2: DataLayer Push beim Seitenaufruf (oder via Testing-Tool-Callback)
window.dataLayer = window.dataLayer || [];
// Variante aus Cookie oder Testing-Tool-SDK lesen
const testVariante = getCookie('vwo_exp_123') === '2' ? 'variant_b' : 'control';
dataLayer.push({
'event': 'ab_test_assign',
'ab_test_id': 'test_checkout_cta_2026q1',
'ab_test_variant': testVariante, // 'control' oder 'variant_b'
'ab_test_name': 'Checkout CTA Button'
});
// Schritt 3: GTM Tag – GA4 Event mit Custom Parameter
// Event Name: ab_test_assign
// Event Parameter: ab_test_id, ab_test_variant, ab_test_name
Segmentierungsanalyse in GA4
Mit der Custom Dimension ab_test_variant können in GA4 Explorations folgende Analysen durchgeführt werden:
- Funnel Exploration segmentiert nach Variante: Wo im Funnel unterscheiden sich Control und Treatment?
- Pfadanalyse je Variante: Welche Seiten besuchen Nutzer nach dem Test-Touchpoint?
- Kohortenanalyse: Halten die Effekte über mehrere Sitzungen an?
- Segmentüberschneidung: Wie reagieren spezifische Zielgruppen auf die Variante?
BigQuery für statistische Auswertung
Für präzisere statistische Analysen, die über GA4-Berichte hinausgehen, bietet die BigQuery-Integration den grössten Mehrwert.
-- Conversion Rate je Testvariante berechnen
WITH test_assignments AS (
SELECT
user_pseudo_id,
MAX(IF(ep.key = 'ab_test_variant', ep.value.string_value, NULL)) AS variant,
MAX(IF(ep.key = 'ab_test_id', ep.value.string_value, NULL)) AS test_id
FROM `projekt.analytics_XXXXXXX.events_*`,
UNNEST(event_params) AS ep
WHERE _TABLE_SUFFIX BETWEEN '20260301' AND '20260314'
AND event_name = 'ab_test_assign'
GROUP BY user_pseudo_id
),
conversions AS (
SELECT DISTINCT user_pseudo_id
FROM `projekt.analytics_XXXXXXX.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260301' AND '20260314'
AND event_name = 'purchase'
)
SELECT
ta.variant,
COUNT(DISTINCT ta.user_pseudo_id) AS nutzer,
COUNT(DISTINCT c.user_pseudo_id) AS conversions,
ROUND(COUNT(DISTINCT c.user_pseudo_id) /
COUNT(DISTINCT ta.user_pseudo_id) * 100, 2) AS conversion_rate_pct
FROM test_assignments ta
LEFT JOIN conversions c USING (user_pseudo_id)
WHERE ta.test_id = 'test_checkout_cta_2026q1'
GROUP BY ta.variant
ORDER BY ta.variant;
13.7 Technische Implementierung: Flickering vermeiden
Der grösste technische Feind des clientseitigen A/B Testings ist das "Flickering" oder "Flash of Original Content" (FOOC): Der Nutzer sieht kurz die Control-Variante, bevor das Testing-Tool die Seite in die Treatment-Variante umbaut. Das ist schlecht für die User Experience und kann das Testergebnis verzerren.
Anti-Flickering-Snippet
Die Standard-Lösung ist ein Anti-Flickering-Snippet, das die Seite kurz ausblendet, bis das Testing-Tool geladen und die Variante entschieden ist.
<!-- Anti-Flickering Snippet – MUSS als erstes im <head> stehen -->
<script>
(function() {
// Seite ausblenden mit Timeout-Fallback (300ms)
var TIMEOUT_MS = 300;
var d = document.documentElement;
d.style.opacity = '0';
d.style.pointerEvents = 'none';
var timeout = setTimeout(function() {
d.style.opacity = '';
d.style.pointerEvents = '';
}, TIMEOUT_MS);
// Testing-Tool signalisiert Bereitschaft
window.__antiFlicker = {
resolve: function() {
clearTimeout(timeout);
d.style.opacity = '';
d.style.pointerEvents = '';
}
};
})();
</script>
<!-- Testing-Tool-Script (z.B. VWO) -->
<script src="https://dev.visualwebsiteoptimizer.com/lib/XXXXX.js"></script>
<!-- Nach Tool-Initialisierung: -->
<script>
if (window.__antiFlicker) window.__antiFlicker.resolve();
</script>
A/B Testing Tools verlangsamen das Laden der Seite. Messen Sie den LCP (Largest Contentful Paint) und CLS (Cumulative Layout Shift) in beiden Varianten separat – schlechtere Core Web Vitals in der Testvariante können die Conversion Rate beeinflussen und das Testergebnis verzerren. Tools wie Speedcurve oder WebPageTest ermöglichen variantenspezifische RUM-Messungen.
Serverseitiges A/B Testing mit Feature Flags
Für Performance-kritische Anwendungen und Tests, die gecachte Seiten betreffen, ist serverseitiges Testing die bessere Wahl. Feature Flags sind der Standard-Mechanismus.
import { GrowthBook } from "@growthbook/growthbook";
// GrowthBook-Instanz pro Request initialisieren
const gb = new GrowthBook({
apiHost: "https://cdn.growthbook.io",
clientKey: "sdk-XXXXXXXXXXXX",
attributes: {
id: userId, // Stabile User-ID für konsistente Varianten-Zuteilung
deviceType: req.device.type, // 'mobile' | 'desktop'
country: req.geo.country
},
// Tracking-Callback: Variante in GA4/Warehouse loggen
trackingCallback: (experiment, result) => {
dataLayer.push({
event: 'ab_test_assign',
ab_test_id: experiment.key,
ab_test_variant: result.key // 'control' oder 'variant_b'
});
}
});
await gb.loadFeatures();
// Feature Flag abfragen
const showNewCheckout = gb.isOn("new-checkout-flow");
// Variante im Template rendern
res.render('product', { showNewCheckout });
13.8 Häufige Fehler und wie man sie vermeidet
| Fehler | Problem | Lösung |
|---|---|---|
| Peeking (zu früh stoppen) | False-Positive-Rate steigt auf bis zu 26% | Stichprobengrösse vorab berechnen, Test vollständig laufen lassen oder Sequential Testing nutzen |
| Zu viele Varianten gleichzeitig | Multiple-Comparison-Problem (Alpha-Inflation) | Bonferroni-Korrektur oder Familywise Error Rate anwenden; maximal 3–4 Varianten |
| Sample Ratio Mismatch (SRM) | Traffic-Aufteilung weicht vom Soll ab → Bias | SRM-Check vor Auswertung durchführen; Ursache: Bot-Traffic, gecachte Seiten, Redirect-Fehler |
| Novelty Effect | Nutzer reagieren auf Neuheit, nicht auf echten Mehrwert | Test mindestens 2 Wochen laufen lassen; wiederkehrende Nutzer separat auswerten |
| Interaktionseffekte ignorieren | Mehrere gleichzeitige Tests beeinflussen sich gegenseitig | Mutex-Gruppen: Nutzer können nicht gleichzeitig in zwei Tests sein, die dieselbe Seite testen |
| Fehlende Guardrail-Metriken | Primär-Metrik steigt, Revenue oder NPS sinkt unbemerkt | Mindestens 2–3 Guardrail-Metriken vor Teststart definieren |
| Segmentierungs-Bias | Ergebnis gilt nur für eine Subgruppe, nicht für alle | Segmentierungsanalysen als explorative Analyse betrachten, nicht als Beweis; Folgetest für Segment planen |
| Keine Dokumentation | Erkenntnisse gehen verloren, Fehler wiederholen sich | Zentrales Test-Repository (Confluence, Notion, Google Sheet) mit Hypothese, Ergebnis, Learnings |
13.9 Von A/B Testing zur Personalisierung
A/B Testing testet, ob eine Änderung für alle Nutzer besser ist. Personalisierung geht einen Schritt weiter: Unterschiedliche Nutzersegmente sehen dauerhaft unterschiedliche Erlebnisse – basierend auf Verhalten, Demografie, CRM-Daten oder Echtzeit-Signalen.
Personalisierungs-Use-Cases
- Gerätebasiert: Mobile Nutzer sehen eine vereinfachte Checkout-Journey
- Wiederkehrende Nutzer: Bekannte Kunden sehen personalisierte Produktempfehlungen
- Traffic-Quelle: Nutzer aus Google Ads sehen eine auf die Ad-Message abgestimmte Landing Page
- Customer Lifetime Value: VIP-Kunden sehen exklusive Angebote und priorisierten Support-Zugang
- Verhaltensbasiert: Nutzer, die mehrfach ein Produkt angesehen haben, sehen einen Urgency-Trigger
Starten Sie jede Personalisierung mit einem A/B Test: Zeigen Sie einem Segment die personalisierte Version und einem Kontrollsegment die Standard-Version. Nur wenn der Test einen signifikanten Lift zeigt, lohnt sich der Aufwand der dauerhaften Personalisierung. Viele vermeintlich "offensichtliche" Personalisierungen zeigen im Test keinen oder negativen Effekt.
13.10 A/B Testing Checkliste
Vor dem Test
- Hypothese nach Schema formuliert (Wenn/Dann/Weil)
- Primär-Metrik und mindestens 2 Guardrail-Metriken definiert
- Stichprobengrösse berechnet (Baseline CR, MDE, α, Power)
- Erwartete Testlaufzeit berechnet und dokumentiert
- Traffic-Segmentierung definiert (welche Nutzer werden eingeschlossen?)
- Mutex-Gruppen geprüft: keine Überschneidungen mit anderen aktiven Tests
- Test-Dokumentation erstellt (Test-ID, Hypothese, Varianten, Datum)
Während des Tests
- Anti-Flickering validiert (keine FOOC auf relevanten Geräten)
- Tracking-Events für alle Metriken verifiziert (DebugView in GA4)
- SRM-Check nach 24–48 Stunden: Traffic-Aufteilung stimmt?
- Interne Nutzer von Test ausgeschlossen
- Test nicht vorzeitig beendet (kein Peeking)
Nach dem Test
- Stichprobengrösse wurde vollständig erreicht
- Primär-Metrik: statistisch signifikant und praktisch relevant?
- Guardrail-Metriken geprüft: keine negativen Nebeneffekte
- Segmentierungsanalyse durchgeführt (Gerät, Traffic-Quelle, Neukunde/Bestandskunde)
- Entscheidung dokumentiert (Gewinner, Rollout, Learnings)
- Test im zentralen Test-Repository archiviert
- Nächste Hypothese aus den Learnings abgeleitet