A/B testi nedir?

Python ile A/B Testi

Moe Lotfy, PhD

Principal Data Science Manager

A/B testine giriş

  • Bir A/B testi...

     
    • hangi sürümün daha iyi olduğunu test eden bir deneydir
    • metriklere dayanır: kayıt oranı, kullanıcı başına ort. satış vb.
    • rastgele atama ve sonuç analizi kullanır
Python ile A/B Testi

A/B testi yapmalı mı, yapmamalı mı?

A/B testinin iyi kullanım alanları:

  • Dönüşüm oranlarını optimize etme
  • Yeni uygulama özelliklerini yayınlama
  • Reklamların artımsal etkisini değerlendirme
  • İlaç denemelerinin etkisini ölçme

Şu durumlarda A/B testi yapmayın:

  • Yetersiz trafik/"küçük" örneklem
  • Net ve mantıklı bir hipotez yoksa
  • Etik sakıncalar
  • Yüksek fırsat maliyeti
Python ile A/B Testi

A/B testinin temel adımları

  1. Hedefi ve tasarımları/deneyimleri belirleyin
  2. Kayıt için kullanıcıları rastgele seçin
  3. Kullanıcıları rastgele atayın:
    • kontrol varyantı: mevcut durum
    • tedavi/test varyant(lar)ı: yeni tasarım
  4. Kullanıcı işlemlerini kaydedin ve metrikleri hesaplayın
  5. İstatistiksel olarak anlamlı farkları test edin

A/B testi adımları

Python ile A/B Testi

Rastgeleleştirmenin değeri

  • Genellenebilirlik ve temsil gücü
  • Gruplar arası yanlılığı en aza indirme
  • Tedavi etkisini izole ederek nedenselliği kurma

 

Rastgele örnekleme ve rastgele atama görseli

1 https://www.statology.org/random-selection-vs-random-assignment/
Python ile A/B Testi

Rastgele atamanın Python örneği

checkout.info()
RangeIndex: 9000 entries, 0 to 8999
Data columns (total 6 columns):
 #   Column         Non-Null Count  Dtype  
 0   user_id        9000 non-null   int64  
 1   checkout_page  9000 non-null   object 
 2   order_value    7605 non-null   float64
 3   purchased      9000 non-null   float64
 4   gender         9000 non-null   object 
 5   browser        9000 non-null   object 
dtypes: float64(2), int64(1), object(3)
memory usage: 422.0+ KB
Python ile A/B Testi

Rastgele atamanın Python örneği

checkout['gender'].value_counts(normalize=True)
F    0.507556
M    0.492444
Name: gender, dtype: float64
sample_df = checkout.sample(n=3000)
sample_df['gender'].value_counts(normalize=True)
M    0.506333
F    0.493667
Name: gender, dtype: float64
Python ile A/B Testi

Rastgele atamanın Python örneği

checkout.groupby('checkout_page')['gender'].value_counts(normalize=True)
checkout_page  gender
A              M         0.505000
               F         0.495000
B              F         0.507333
               M         0.492667
C              F         0.520333
               M         0.479667
Name: gender, dtype: float64
Python ile A/B Testi

Ayo berlatih!

Python ile A/B Testi

Preparing Video For Download...