Konfidenzintervalle
Swipe um das Menü anzuzeigen
Konfidenzintervalle sind ein grundlegendes Konzept in der Statistik und spielen eine entscheidende Rolle beim A/B-Testing. Während p-Werte angeben, ob ein beobachteter Unterschied auf Zufall beruhen könnte, liefern Konfidenzintervalle einen Wertebereich, der mit hoher Wahrscheinlichkeit die tatsächliche Effektgröße enthält. Dieser Bereich hilft dabei, nicht nur zu erkennen, ob ein statistisch signifikanter Unterschied besteht, sondern auch, wie groß dieser Unterschied sein könnte und wie sicher man sich darüber sein kann.
Ein Konfidenzintervall wird aus den Stichprobendaten berechnet und üblicherweise mit einem Prozentsatz wie 95 % angegeben. Das bedeutet, dass bei mehrfacher Wiederholung des Experiments 95 % der berechneten Intervalle den wahren Populationsparameter enthalten würden. Beim A/B-Testing werden Konfidenzintervalle häufig verwendet, um den Unterschied der Conversion-Raten zwischen Kontroll- und Varianten-Gruppen zu schätzen.
Die Berechnung eines Konfidenzintervalls für einen Anteil (wie eine Conversion-Rate) umfasst die Bestimmung des Standardfehlers der beobachteten Rate und die Verwendung eines z-Werts, um den Bereich um die beobachtete Rate zu definieren. Konfidenzintervalle sind informativer als reine p-Werte, da sie sowohl die Größe als auch die Präzision des geschätzten Effekts zeigen und so fundiertere Entscheidungen über die Testergebnisse ermöglichen.
123456789101112131415161718192021222324252627282930313233343536import numpy as np from scipy.stats import norm # Sample data: number of conversions and total users in each group conversions_A = 200 users_A = 2000 conversions_B = 240 users_B = 2000 # Calculating conversion rates rate_A = conversions_A / users_A rate_B = conversions_B / users_B # Calculatig the standard error for each group se_A = np.sqrt(rate_A * (1 - rate_A) / users_A) se_B = np.sqrt(rate_B * (1 - rate_B) / users_B) # 95% confidence interval uses a z-score of approximately 1.96 z = norm.ppf(0.975) # Calculating confidence intervals ci_A = (rate_A - z * se_A, rate_A + z * se_A) ci_B = (rate_B - z * se_B, rate_B + z * se_B) print(f"Group A conversion rate: {rate_A:.3f}") print(f"95% CI for Group A: ({ci_A[0]:.3f}, {ci_A[1]:.3f})") print(f"Group B conversion rate: {rate_B:.3f}") print(f"95% CI for Group B: ({ci_B[0]:.3f}, {ci_B[1]:.3f})") # Confidence interval for the difference in conversion rates diff = rate_B - rate_A se_diff = np.sqrt(se_A**2 + se_B**2) ci_diff = (diff - z * se_diff, diff + z * se_diff) print(f"Difference in conversion rates (B - A): {diff:.3f}") print(f"95% CI for difference: ({ci_diff[0]:.3f}, {ci_diff[1]:.3f})")
Bei der Interpretation eines Konfidenzintervalls im A/B-Testing betrachtet man den Bereich, in dem der wahre Unterschied der Konversionsraten wahrscheinlich liegt. Wenn das Konfidenzintervall für den Unterschied den Wert Null nicht enthält, kann man mit hoher Wahrscheinlichkeit von einem tatsächlichen Effekt ausgehen. Ist Null enthalten, könnte der beobachtete Unterschied auf Zufall beruhen.
Für die Entscheidungsfindung helfen Konfidenzintervalle, sowohl die mögliche Größe des Effekts als auch die Unsicherheit darüber zu verstehen. Dadurch lassen sich Ergebnisse gegenüber Stakeholdern besser kommunizieren: Anstatt nur von statistischer Signifikanz zu sprechen, kann der wahrscheinliche Verbesserungsbereich (oder Rückgang) sowie die Sicherheit dieser Schätzung erläutert werden. Dies unterstützt Geschäftsentscheidungen mit einem klareren Verständnis potenzieller Risiken und Chancen.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen