Python ile A/B Testi
Moe Lotfy, PhD
Principal Data Science Manager


# Varyant başına benzersiz ID’leri hesapla
AdSmart.groupby('experiment')['auction_id'].nunique()
experiment
control 4071
exposed 4006
# Benzersiz sayıları her varyanta ata
control_users=AdSmart[AdSmart['experiment']=='control']['auction_id'].nunique()
exposed_users=AdSmart[AdSmart['experiment']=='exposed']['auction_id'].nunique()
total_users=control_users+exposed_users
# Varyant başına tahsis oranlarını hesapla
control_perc = control_users / total_users
exposed_perc = exposed_users / total_users
print("Control grubundaki kullanıcı yüzdesi:",100*round(control_perc,5),"%")
print("Exposed grubundaki kullanıcı yüzdesi:",100*round(exposed_perc,5),"%")
Control grubundaki kullanıcı yüzdesi: 50.402 %
Exposed grubundaki kullanıcı yüzdesi: 49.598 %
# Varyant başına gözlenen ve beklenen sayı listelerini oluştur
observed = [ control_users, exposed_users ]
expected = [ total_users/2, total_users/2 ]
# scipy kütüphanesinden chisquare’i içe aktar
from scipy.stats import chisquare
# Gözlenen ve beklenen listelerde ki-kare testini çalıştır
chi = chisquare(observed, f_exp=expected)
# Test sonuçlarını ve yorumu yazdır
print(chi)
if chi[1] < 0.01:
print("SRM olabilir")
else:
print("SRM muhtemelen yok")
Power_divergenceResult(statistic=0.5230902562832735, pvalue=0.4695264353014863)
SRM muhtemelen yok
SRM’in yaygın nedenleri:$^1$
checkout.groupby('checkout_page')['browser'].value_counts(normalize=True)
checkout_page browser
A chrome 0.341333
safari 0.332000
firefox 0.326667
B safari 0.352000
firefox 0.325000
chrome 0.323000
C safari 0.346000
chrome 0.330000
firefox 0.324000
AdSmart.groupby('experiment')['browser'].value_counts(normalize=True)
experiment browser
control Chrome Mobile 0.591992
Facebook 0.137804
Samsung Internet 0.120855
Chrome Mobile WebView 0.071727
Mobile Safari 0.060427
Chrome Mobile iOS 0.008352
Mobile Safari UI/WKWebView 0.007369
exposed Chrome Mobile 0.535197
Chrome Mobile WebView 0.298802
Samsung Internet 0.082876
Facebook 0.050674
Mobile Safari 0.022716
Chrome Mobile iOS 0.004244
Python ile A/B Testi