Visualisierung von A/B-Test-Ergebnissen
Swipe um das Menü anzuzeigen
Bei der Präsentation von A/B-Testergebnissen müssen Visualisierungen die wichtigsten Erkenntnisse sofort deutlich machen und Fehlinterpretationen vermeiden. Die effektivsten Ansätze umfassen:
- Balkendiagramme: ermöglichen einen schnellen Vergleich von Konversionsraten oder anderen Kennzahlen zwischen Gruppen;
- Balkendiagramme mit Fehlerbalken: das Hinzufügen von Konfidenzintervallen zu den Balken hilft den Betrachtern, die Unsicherheit der Schätzungen zu verstehen;
- Verteilungsdiagramme: die Darstellung der vollständigen Verteilung von Kennzahlen (wie Konversionsraten oder Umsatz pro Nutzer) für jede Gruppe kann Unterschiede in der Variabilität oder Ausreißer aufzeigen;
- Liniendiagramme: nützlich zur Darstellung von Veränderungen über die Zeit oder über mehrere Testzeiträume hinweg.
Eine gute Visualisierung verwendet klar beschriftete Achsen, ein konsistentes Farbschema und hebt die wichtigsten Unterschiede hervor. Ein Beispiel ist ein Balkendiagramm, das die Konversionsraten für Gruppe A und B mit Fehlerbalken für 95%-Konfidenzintervalle zeigt, sodass das Publikum sowohl die zentrale Schätzung als auch die Unsicherheit erkennen kann.
Im Gegensatz dazu verwendet eine schlechte Visualisierung irreführende y-Achsen-Skalen (z. B. das Abschneiden der Achse, um Unterschiede zu übertreiben), verzichtet auf Achsen- oder Gruppenbeschriftungen oder nutzt ablenkende Farben und überladene Legenden. Solche Fehler können das Publikum verwirren oder sogar in Bezug auf das Testergebnis in die Irre führen.
123456789101112131415161718192021222324252627282930import matplotlib.pyplot as plt import seaborn as sns import numpy as np # Example conversion rates and confidence intervals groups = ['A', 'B'] conversion_rates = [0.12, 0.15] conf_intervals = [(0.10, 0.14), (0.13, 0.17)] # 95% confidence intervals # Calculate error bars (distance from mean to CI bounds) errors = [ [conversion_rates[0] - conf_intervals[0][0], conf_intervals[0][1] - conversion_rates[0]], [conversion_rates[1] - conf_intervals[1][0], conf_intervals[1][1] - conversion_rates[1]] ] errors = np.array(errors).T # shape (2, 2) for matplotlib fig, ax = plt.subplots(figsize=(6, 4)) bars = ax.bar(groups, conversion_rates, yerr=errors, capsize=10, color=['#4C72B0', '#55A868']) ax.set_ylabel('Conversion Rate') ax.set_title('A/B Test Conversion Rates with 95% Confidence Intervals') ax.set_ylim(0, 0.2) ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda y, _: '{:.0%}'.format(y))) # Add value labels on top of bars for bar, rate in zip(bars, conversion_rates): ax.text(bar.get_x() + bar.get_width() / 2, rate + 0.005, f"{rate:.2%}", ha='center', va='bottom', fontsize=11) plt.tight_layout() plt.show()
Bei der Auswahl einer Visualisierung sollten Zielgruppe und die zu vermittelnde Aussage berücksichtigt werden:
- Für Führungskräfte oder nicht-technische Stakeholder: klare Balkendiagramme mit Konfidenzintervallen, wenig Ablenkung und direkte Beschriftungen zur Hervorhebung der wichtigsten Erkenntnisse;
- Für Analysten oder Data Scientists: Ergänzung der Balkendiagramme durch Verteilungsdiagramme (wie Violin- oder Boxplots), um die gesamte Bandbreite der Ergebnisse und deren Variabilität darzustellen;
- Für Präsentationen oder Berichte: Vermeidung irreführender Elemente wie abgeschnittener Achsen, unklarer Gruppenbeschriftungen oder unnötiger 3D-Effekte. Immer Kontext bieten und erläutern, was die Fehlerbalken oder Verteilungen bedeuten.
Die Anpassung des Visualisierungsstils an die Zielgruppe stellt sicher, dass die Ergebnisse verstanden und akzeptiert werden.
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