Аналіз різниці середніх в A/B‑тестах

A/B Testing на Python

Moe Lotfy, PhD

Principal Data Science Manager

Фреймворк для різниці середніх

  • Розрахуйте потрібний розмір вибірки
  • Запустіть експеримент і зробіть sanity‑перевірки

Формулювання гіпотези про різницю середніх

  • Обчисліть метрики для кожного варіанта
  • Проаналізуйте різницю за допомогою t‑тесту
  • Якщо p‑value < $\alpha$
    • Відхиліть нульову гіпотезу
  • Якщо p‑value > $\alpha$
    • Немає підстав відхиляти нульову гіпотезу
checkout.groupby('checkout_page')['time_on_page'].mean()
checkout_page
A    44.668527
B    42.723772
C    42.223772
A/B Testing на Python

t‑тест у Pingouin

checkout.groupby('checkout_page')['time_on_page'].mean()
checkout_page
A    44.668527
B    42.723772
C    42.223772
ttest = pingouin.ttest(x=checkout[checkout['checkout_page']=='C']['time_on_page'], 
                       y=checkout[checkout['checkout_page']=='B']['time_on_page'],
                       paired=False,
                       alternative="two-sided")
print(ttest)
            T          dof      alternative    p-val    CI95%              cohen-d    BF10    power
T-test    -1.995423    5998    two-sided    0.046042    [-0.99, -0.01]    0.051522    0.212    0.514054

A/B Testing на Python

Парні порівняння в Pingouin

pairwise = pingouin.pairwise_tests(data = checkout, 

dv = "time_on_page",
between = "checkout_page",
padjust = "bonf")
print(pairwise)
        Contrast  A  B  Paired  Parametric         T     dof alternative  \
0  checkout_page  A  B   False        True  7.026673  5998.0   two-sided   
1  checkout_page  A  C   False        True  8.833244  5998.0   two-sided   
2  checkout_page  B  C   False        True  1.995423  5998.0   two-sided   

          p-unc        p-corr p-adjust       BF10    hedges  
0  2.349604e-12  7.048812e-12     bonf  1.305e+09  0.181405  
1  1.316118e-18  3.948354e-18     bonf  1.811e+15  0.228045  
2  4.604195e-02  1.381258e-01     bonf      0.212  0.051515
A/B Testing на Python

Давайте потренуємось!

A/B Testing на Python

Preparing Video For Download...