Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Visualizing A/B-testitulokset | Käytännön analyysi, tulkinta ja raportointi
A/B-testaus Pythonilla

Visualizing A/B-testitulokset

Pyyhkäise näyttääksesi valikon

A/B-testitulosten esittämisessä visualisointien tulee tehdä keskeiset havainnot välittömästi selviksi ja estää väärintulkinnat. Tehokkaimpia lähestymistapoja ovat:

  • Pylväsdiagrammit: nopea tapa vertailla konversioprosentteja tai muita mittareita ryhmien välillä;
  • Pylväsdiagrammit virhepalkkien kanssa: luottamusvälien lisääminen pylväisiin auttaa katsojaa ymmärtämään arvioiden epävarmuuden;
  • Jakaumakuvioita: mittareiden (esim. konversioprosentti tai tuotto per käyttäjä) koko jakauman näyttäminen kullekin ryhmälle paljastaa vaihtelun tai poikkeavat havainnot;
  • Viivadiagrammit: hyödyllisiä muutosten seuraamiseen ajan myötä tai useiden testijaksojen aikana.

Hyvä visualisointi käyttää selkeästi nimettyjä akseleita, yhtenäisiä värimaailmoja ja korostaa tärkeimmät erot. Esimerkiksi pylväsdiagrammi, joka näyttää ryhmien A ja B konversioprosentit sekä 95 %:n luottamusvälit virhepalkkeina, antaa yleisölle mahdollisuuden nähdä sekä keskiarvion että epävarmuuden.

Huono visualisointi voi käyttää harhaanjohtavia y-akselin asteikkoja (esim. akselin katkaisu erojen liioittelemiseksi), jättää akselit tai ryhmät nimeämättä tai käyttää häiritseviä värejä ja sekavia selitteitä. Tällaiset virheet voivat hämmentää yleisöä tai jopa johtaa harhaan testin tuloksista.

123456789101112131415161718192021222324252627282930
import 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()

Visualisointia valittaessa tulee huomioida kohdeyleisö ja kerrottava tarina:

  • Johtajille tai ei-teknisille sidosryhmille: selkeät pylväsdiagrammit luottamusväleillä, vähän häiriötekijöitä ja suorat selitteet korostamaan pääviestiä;
  • Analyytikoille tai data-analyytikoille: täydennä pylväsdiagrammeja jakaumakuvioilla (esim. viulu- tai laatikkokaaviot) näyttämään tulosten koko vaihteluväli ja hajonta;
  • Esityksiin tai raportteihin: vältä harhaanjohtavia elementtejä kuten katkaistuja akseleita, epäselviä ryhmänimiä tai tarpeettomia 3D-tehosteita. Tarjoa aina konteksti ja selitä, mitä virhepalkit tai jakaumat tarkoittavat.

Visualisointityylin sovittaminen yleisölle varmistaa, että tulokset ymmärretään ja niihin luotetaan.

question mark

Mikä seuraavista visualisoinneista todennäköisimmin johtaa yleisöä harhaan A/B-testin A:n ja B:n välisestä erosta?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 4. Luku 3
some-alt