AB-Test-Auswertung und statistische Analyse mit Claude
AI generated
Claude
>_
Claude AI · AB-Test · Statistik · Experimentdesign
AB-Test-Auswertung und statistische Analyse mit Claude
von Rohdaten zur validen Entscheidung

Ein signifikantes p-Wert-Ergebnis allein macht aus einem AB-Test noch keine belastbare Entscheidungsgrundlage. Claude hilft, Stichprobengrößen vorab zu berechnen, den passenden Signifikanztest zu wählen, Effektgrößen einzuordnen und typische Fehler wie Peeking oder Mehrfachvergleiche zu vermeiden. Dieser Artikel zeigt den vollständigen Weg vom Testdesign bis zur robusten Handlungsempfehlung.

17 Min. Lesezeit Power-Analyse · Signifikanztests · Konfidenzintervalle Python · SciPy · Claude Code

1. Warum AB-Test-Auswertung mehr braucht als einen Signifikanztest

Ein AB-Test, der ausschließlich anhand eines p-Werts unter 0,05 bewertet wird, ist anfällig für Fehlinterpretationen, die in der Praxis regelmäßig zu falschen Produktentscheidungen führen. Ein signifikantes Ergebnis kann durch vorzeitiges Stoppen, durch Mehrfachvergleiche über viele Metriken hinweg oder durch zufällige Schwankungen bei kleiner Stichprobe entstehen, ohne dass ein echter Effekt vorliegt. Claude für AB-Test-Auswertung hilft, diese Fallstricke bereits beim Testdesign zu berücksichtigen, statt sie erst nach der Auswertung zu entdecken.

Statistische Analyse mit Claude unterscheidet sich von einer reinen Formel-Anwendung dadurch, dass das Modell nach dem Kontext des Tests fragt: Wie groß ist der erwartete Effekt, wie viele Nutzer sind pro Tag verfügbar, wird während der Laufzeit zwischendurch auf das Ergebnis geschaut. Diese Fragen bestimmen maßgeblich, welcher Signifikanztest angemessen ist und wie das Ergebnis später zu interpretieren ist.

Die folgenden Abschnitte behandeln den vollständigen Weg von der Poweranalyse vor Testbeginn über die Wahl des richtigen Tests bis zur verständlichen Kommunikation des Ergebnisses an Stakeholder, immer mit dem Ziel, AB-Test-Auswertung robust und nachvollziehbar statt oberflächlich korrekt zu gestalten.

2. Testdesign und Stichprobengröße mit Claude planen

Die Stichprobengröße eines AB-Tests sollte vor Testbeginn feststehen, basierend auf dem kleinsten praktisch relevanten Effekt, der noch entdeckt werden soll. Claude für AB-Test-Auswertung hilft, aus der aktuellen Baseline-Conversion-Rate, dem gewünschten Mindesteffekt und der gewünschten statistischen Power die erforderliche Stichprobengröße zu berechnen, bevor überhaupt Traffic auf den Test geleitet wird.


from statsmodels.stats.power import NormalIndPower
from statsmodels.stats.proportion import proportion_effectsize

def required_sample_size(baseline_rate: float, minimum_detectable_effect: float,
                          power: float = 0.8, alpha: float = 0.05) -> int:
    """Calculate required sample size per variant for a two-proportion AB test."""
    treatment_rate = baseline_rate * (1 + minimum_detectable_effect)
    effect_size = proportion_effectsize(baseline_rate, treatment_rate)

    analysis = NormalIndPower()
    n_per_group = analysis.solve_power(
        effect_size=effect_size, power=power, alpha=alpha, ratio=1.0
    )
    return int(n_per_group)

# Example: 5% baseline conversion, want to detect a 10% relative lift
n = required_sample_size(baseline_rate=0.05, minimum_detectable_effect=0.10)
print(f"Required sample size per variant: {n:,}")

Ein häufiger Fehler ist, einen Test ohne vorherige Poweranalyse zu starten und die Stichprobengröße stattdessen anhand der verfügbaren Testlaufzeit zu bestimmen. Das Ergebnis ist häufig ein Test, der entweder viel zu lange läuft oder mit zu wenig Daten abgebrochen wird, um einen relevanten Effekt überhaupt entdecken zu können. Claude weist darauf hin, die Mindestlaufzeit aus der berechneten Stichprobengröße und dem erwarteten täglichen Traffic abzuleiten, statt umgekehrt vorzugehen.

3. Signifikanztests richtig wählen und interpretieren

Die Wahl des richtigen Signifikanztests hängt vom Datentyp und der Verteilungsannahme ab. Für binäre Metriken wie Conversion-Raten eignet sich ein Zwei-Stichproben-Proportionstest oder ein Chi-Quadrat-Test, für kontinuierliche Metriken wie Warenkorbwert ein t-Test, sofern die Normalitätsannahme plausibel ist, sonst ein nichtparametrischer Mann-Whitney-U-Test. Claude für AB-Test-Auswertung hilft, aus der Beschreibung der Metrik den passenden Test auszuwählen und Fehlanwendungen zu vermeiden.


from scipy import stats
import numpy as np

def evaluate_conversion_test(control_conversions: int, control_total: int,
                              treatment_conversions: int, treatment_total: int) -> dict:
    """Run a two-proportion z-test and return the key statistics."""
    p_control = control_conversions / control_total
    p_treatment = treatment_conversions / treatment_total
    p_pooled = (control_conversions + treatment_conversions) / (control_total + treatment_total)

    se = np.sqrt(p_pooled * (1 - p_pooled) * (1 / control_total + 1 / treatment_total))
    z_score = (p_treatment - p_control) / se
    p_value = 2 * (1 - stats.norm.cdf(abs(z_score)))

    return {
        "control_rate": round(p_control, 4),
        "treatment_rate": round(p_treatment, 4),
        "relative_lift": round((p_treatment - p_control) / p_control, 4),
        "z_score": round(z_score, 3),
        "p_value": round(p_value, 4),
    }

Ein zentraler Interpretationsfehler ist, ein nicht signifikantes Ergebnis als Beweis für keinen Effekt zu deuten. Ein p-Wert über 0,05 bedeutet lediglich, dass der Test nicht genug statistische Power hatte, um einen Effekt dieser Größe zuverlässig zu erkennen, nicht dass kein Effekt existiert. Claude weist konsequent darauf hin, diesen Unterschied zwischen Abwesenheit von Evidenz und Evidenz für Abwesenheit klar zu benennen.

4. Konfidenzintervalle und Effektgrößen verständlich aufbereiten

Ein p-Wert allein sagt nichts über die praktische Relevanz eines Effekts aus. Ein Konfidenzintervall für die relative Verbesserung liefert deutlich mehr Kontext, weil es die Bandbreite plausibler Effektgrößen zeigt, statt nur eine binäre Ja-Nein-Aussage zu liefern. Claude für AB-Test-Auswertung hilft, Konfidenzintervalle korrekt zu berechnen und so zu formulieren, dass sie auch für nicht-statistische Stakeholder verständlich sind.


import numpy as np
from scipy import stats

def confidence_interval_relative_lift(control_conversions: int, control_total: int,
                                       treatment_conversions: int, treatment_total: int,
                                       confidence: float = 0.95) -> tuple[float, float]:
    """Compute a confidence interval for the relative lift using the delta method."""
    p_c = control_conversions / control_total
    p_t = treatment_conversions / treatment_total

    se_c = np.sqrt(p_c * (1 - p_c) / control_total)
    se_t = np.sqrt(p_t * (1 - p_t) / treatment_total)

    lift = (p_t - p_c) / p_c
    se_lift = np.sqrt((se_t / p_c) ** 2 + (se_c * p_t / p_c ** 2) ** 2)

    z = stats.norm.ppf(1 - (1 - confidence) / 2)
    return round(lift - z * se_lift, 4), round(lift + z * se_lift, 4)

Ein Konfidenzintervall von minus zwei bis plus zwölf Prozent relativer Verbesserung erzählt eine völlig andere Geschichte als eines von plus acht bis plus neun Prozent, selbst wenn beide Tests denselben p-Wert liefern. Claude hilft, diese Breite in der Kommunikation an Stakeholder explizit zu machen, statt nur die Punktschätzung zu präsentieren.

5. Häufige Fehler: Peeking, Mehrfachvergleiche, Simpsons Paradox

Peeking bezeichnet das wiederholte Prüfen des p-Werts während der Testlaufzeit mit der Absicht, den Test sofort zu stoppen, sobald Signifikanz erreicht wird. Dieses Vorgehen erhöht die tatsächliche Falsch-Positiv-Rate deutlich über die nominell festgelegten 5 Prozent hinaus, weil jede zusätzliche Prüfung eine weitere Gelegenheit für einen zufälligen signifikanten Ausschlag darstellt. Claude für AB-Test-Auswertung weist auf dieses Risiko hin und schlägt entweder ein festes Abbruchdatum oder eine sequenzielle Testmethode mit korrigierten Grenzwerten vor.

Mehrfachvergleiche entstehen, wenn ein Test gleichzeitig zehn verschiedene Metriken auswertet und jede einzeln auf Signifikanz prüft. Bei zehn unabhängigen Tests mit je fünf Prozent Falsch-Positiv-Rate liegt die Wahrscheinlichkeit für mindestens einen falsch positiven Treffer bei über vierzig Prozent. Claude hilft, eine Bonferroni-Korrektur oder eine primäre Metrik vorab festzulegen, statt nachträglich die auffälligste von zehn Metriken als Erfolg zu präsentieren. Simpsons Paradox schließlich beschreibt den Fall, dass ein Effekt in Untergruppen in die entgegengesetzte Richtung zeigt als in der Gesamtpopulation, meist verursacht durch eine ungleiche Verteilung eines Störfaktors zwischen den Testgruppen.

6. Sequenzielle Tests und Abbruchkriterien bewerten

Sequenzielle Testmethoden wie der Sequential Probability Ratio Test erlauben es, während der Laufzeit tatsächlich wiederholt zu prüfen, ohne die Falsch-Positiv-Rate zu verletzen, weil die statistischen Grenzwerte für die wiederholte Prüfung von vornherein angepasst sind. Claude hilft, den Unterschied zwischen naivem Peeking und methodisch korrektem sequenziellem Testen klar zu erklären und die passende Bibliothek für die jeweilige Metrik auszuwählen.

Ein praktikables Abbruchkriterium für Teams ohne sequenzielle Testinfrastruktur ist ein fest definiertes Minimum an Laufzeit und Stichprobengröße, kombiniert mit einer einzigen finalen Auswertung. Claude hilft, dieses Kriterium bereits im Testplan zu dokumentieren, sodass am Ende kein Interpretationsspielraum darüber besteht, wann genau ausgewertet wird, was Diskussionen über nachträglich verschobene Abbruchpunkte von vornherein verhindert.

7. Von Testergebnis zu Handlungsempfehlung für Stakeholder

Ein technisch korrektes Testergebnis nützt wenig, wenn es nicht in eine verständliche Handlungsempfehlung übersetzt wird. Claude hilft, aus Effektgröße, Konfidenzintervall und geschäftlichem Kontext eine klare Empfehlung zu formulieren, etwa Feature ausrollen, Test verlängern oder Variante verwerfen, statt Stakeholder mit rohen statistischen Kennzahlen allein zu lassen.

Wichtig ist dabei, Unsicherheit nicht zu verschweigen. Ein Effekt mit breitem Konfidenzintervall rechtfertigt eine vorsichtigere Empfehlung als ein enger eingegrenzter Effekt, selbst bei identischem Punktschätzer. Claude formuliert diese Abstufung typischerweise explizit, etwa als bedingte Empfehlung, die von der Risikobereitschaft des Unternehmens abhängt, statt eine pauschale Ja-Nein-Aussage zu treffen.

8. Statistische Reports automatisiert generieren

Wiederkehrende AB-Tests profitieren von einem standardisierten Auswertungsskript, das Rohdaten abruft, den passenden Test anwendet und einen konsistent formatierten Report erzeugt. Claude hilft beim Entwurf dieses Skripts, inklusive der Extraktion der relevanten Rohdaten direkt aus der Datenbank.


-- Extract conversion counts per test variant for the evaluation window
SELECT
  variant,
  COUNT(*) AS total_users,
  SUM(CASE WHEN converted THEN 1 ELSE 0 END) AS conversions,
  ROUND(SUM(CASE WHEN converted THEN 1 ELSE 0 END)::numeric / COUNT(*), 4) AS conversion_rate
FROM ab_test_assignments a
JOIN (
  SELECT DISTINCT user_id FROM conversion_events
  WHERE event_date BETWEEN a.test_start AND a.test_end
) c ON c.user_id = a.user_id
WHERE a.test_name = 'checkout_button_color_v2'
GROUP BY variant;

#!/usr/bin/env bash
# ab-test-report.sh — extract, evaluate and distribute an AB test result
set -euo pipefail

readonly TEST_NAME="${1:?Usage: ab-test-report.sh <test_name>}"
readonly OUTPUT="./reports/${TEST_NAME}-$(date +%Y%m%d).pdf"

echo "[INFO] Extracting raw data for ${TEST_NAME}"
python3 extract_test_data.py --test "$TEST_NAME" --output "./tmp/${TEST_NAME}.csv"

echo "[INFO] Running statistical evaluation"
python3 evaluate_ab_test.py --input "./tmp/${TEST_NAME}.csv" --output "$OUTPUT"

echo "[DONE] Report generated: ${OUTPUT}"

Die Standardisierung dieses Ablaufs verhindert, dass unterschiedliche Teammitglieder unterschiedliche Signifikanzschwellen oder Testmethoden für ähnliche Fragestellungen verwenden. Claude kann helfen, diesen Standardablauf so zu dokumentieren, dass er auch von Teammitgliedern ohne tiefes Statistik-Hintergrundwissen korrekt angewendet werden kann.

9. Naive Signifikanzprüfung im Vergleich zu robuster Auswertung

Die folgende Tabelle stellt eine naive Signifikanzprüfung einer robusten, mit Claude entworfenen AB-Test-Auswertung gegenüber.

Aspekt Naive Prüfung Robuste Auswertung mit Claude Vorteil
Stichprobengröße Nach verfügbarer Laufzeit Aus Poweranalyse berechnet Effekt kann zuverlässig erkannt werden
Testabbruch Peeking bei erster Signifikanz Fixe Laufzeit oder sequenzielle Methode Korrekte Falsch-Positiv-Rate
Metrikwahl Zehn Metriken parallel geprüft Primäre Metrik vorab festgelegt Weniger falsch positive Treffer
Ergebnisdarstellung Nur p-Wert Effektgröße mit Konfidenzintervall Praktische Relevanz sichtbar
Kommunikation Rohe Zahlen ohne Kontext Handlungsempfehlung mit Unsicherheit Fundiertere Entscheidungen

Der Unterschied zwischen naiver und robuster Auswertung entscheidet häufig darüber, ob ein Test eine tatsächlich belastbare Entscheidungsgrundlage liefert oder nur zufälliges Rauschen als vermeintliche Erkenntnis verkauft.

Mironsoft

AB-Test-Auswertung, statistische Analyse und Experimentdesign

Testergebnisse, auf die ihr euch wirklich verlassen könnt?

Wir planen Stichprobengrößen vorab, wählen passende Signifikanztests und formulieren belastbare Handlungsempfehlungen, damit eure AB-Tests echte Erkenntnisse statt zufälliges Rauschen liefern.

Testdesign

Poweranalyse und Stichprobengröße vor Testbeginn

Statistische Auswertung

Passende Tests, Konfidenzintervalle und Effektgrößen

Kommunikation

Verständliche Handlungsempfehlungen für Stakeholder

10. Zusammenfassung

AB-Test-Auswertung mit Claude beginnt lange vor der eigentlichen statistischen Berechnung, nämlich bei der Poweranalyse und der Festlegung der Stichprobengröße vor Testbeginn. Der passende Signifikanztest, korrekt interpretierte Konfidenzintervalle statt reiner p-Werte, und das Bewusstsein für Fallstricke wie Peeking, Mehrfachvergleiche und Simpsons Paradox unterscheiden eine robuste Auswertung von einer oberflächlich korrekten.

Der größte Mehrwert entsteht in der Übersetzung des Ergebnisses in eine verständliche, mit Unsicherheit versehene Handlungsempfehlung für Stakeholder. Claude liefert die statistische Analyse und die strukturierte Kommunikation, die geschäftliche Entscheidung über Risikobereitschaft und Priorisierung bleibt Aufgabe des Teams.

AB-Test-Auswertung und statistische Analyse mit Claude, das Wichtigste auf einen Blick

Poweranalyse

Stichprobengröße vor Testbeginn aus Baseline und Mindesteffekt berechnen, nicht aus verfügbarer Laufzeit.

Richtiger Test

Proportionstest für binäre Metriken, t-Test oder Mann-Whitney für kontinuierliche Daten.

Fallstricke vermeiden

Kein Peeking während der Laufzeit, primäre Metrik vorab festlegen statt Mehrfachvergleiche.

Kommunikation

Konfidenzintervalle statt nur p-Werte, Handlungsempfehlung mit expliziter Unsicherheit.

11. FAQ: AB-Test-Auswertung und statistische Analyse mit Claude

1Reicht signifikanter p-Wert allein?
Nein, kann durch Peeking oder Mehrfachvergleiche entstehen. Konfidenzintervall und Effektgröße nötig.
2Stichprobengröße berechnen?
Aus Baseline-Rate, Mindesteffekt, Power und Signifikanzniveau vor Testbeginn per Poweranalyse.
3Welcher Test passt zu welcher Metrik?
Proportionstest für binäre, t-Test für normalverteilte, Mann-Whitney für nicht-normalverteilte Metriken.
4Was ist Peeking?
Wiederholtes Prüfen des p-Werts während der Laufzeit erhöht die tatsächliche Falsch-Positiv-Rate deutlich.
5Umgang mit Mehrfachvergleichen?
Primäre Metrik vorab festlegen oder Bonferroni-Korrektur anwenden.
6Was bedeutet nicht signifikant?
Nicht genug Power, um Effekt zu erkennen, nicht Beweis für Abwesenheit eines Effekts.
7Was ist Simpsons Paradox?
Effekt zeigt in Untergruppen entgegengesetzte Richtung wie in der Gesamtpopulation.
8Test vorzeitig stoppen?
Nur mit korrekter sequenzieller Methode, naives Stoppen verletzt statistische Grundannahmen.
9Kommunikation an Stakeholder?
Effektgröße, Konfidenzintervall und klare Empfehlung mit expliziter Unsicherheit statt nur p-Wert.
10Ersetzt Claude Statistik-Kompetenz?
Nein, liefert Berechnungen und Warnungen, Entscheidung über Risiko bleibt beim Team.