A/B testi ve segmentasyon

pandas ile Pazarlama Kampanyalarını Analiz Etme

Jill Rosok

Data Scientist

Segmentasyonu unutmayın!

shutterstock_379530769.jpg

pandas ile Pazarlama Kampanyalarını Analiz Etme

Dile göre segmentlenmiş kişiselleştirme testi

for language in np.unique(marketing['language_displayed'].values):
    print(language)


pandas ile Pazarlama Kampanyalarını Analiz Etme

İlgili verileri ayırın

for language in np.unique(marketing['language_displayed'].values):
    print(language)

    language_data = marketing[(marketing['marketing_channel'] == 'Email') & 
                              (marketing['language_displayed'] == language)]                              
pandas ile Pazarlama Kampanyalarını Analiz Etme

Aboneleri ayırın

for language in np.unique(marketing['language_displayed'].values):
    print(language)

    language_data = marketing[(marketing['marketing_channel'] == 'Email') & 
                              (marketing['language_displayed'] == language)]

    subscribers = language_data.groupby(['user_id', 'variant'])['converted']\
                                                                      .max()
pandas ile Pazarlama Kampanyalarını Analiz Etme

Kontrol ve kişiselleştirmeyi ayırın

for language in np.unique(marketing['language_displayed'].values):
    print(language)

    language_data = marketing[(marketing['marketing_channel'] == 'Email') & 
                              (marketing['language_displayed'] == language)]

    subscribers = language_data.groupby(['user_id', 'variant'])['converted']\
                                                                      .max()
    subscribers = pd.DataFrame(subscribers.unstack(level=1)) 
    control = subscribers['control'].dropna()
    personalization = subscribers['personalization'].dropna()  
pandas ile Pazarlama Kampanyalarını Analiz Etme

Tam for döngüsü

for language in np.unique(marketing['language_displayed'].values):
    print(language)

    language_data = marketing[(marketing['marketing_channel'] == 'Email') & 
                              (marketing['language_displayed'] == language)]

    subscribers = language_data.groupby(['user_id', 'variant'])['converted']\
                                                                      .max()
    subscribers = pd.DataFrame(subscribers.unstack(level=1)) 
    control = subscribers['control'].dropna()
    personalization = subscribers['personalization'].dropna()  

    print('lift:', lift(control, personalization))
    print('t-statistic:', stats.ttest_ind(control, personalization), '\n\n')
pandas ile Pazarlama Kampanyalarını Analiz Etme

Sonuçlar

Arabic
lift: 50.0%
t-statistic: Ttest_indResult(statistic=-0.58, pvalue=0.58) 

English
lift: 39.0%
t-statistic: Ttest_indResult(statistic=-2.22, pvalue=0.03) 

German
lift: -1.62%
t-statistic: Ttest_indResult(statistic=0.19, pvalue=0.85) 

Spanish
lift: 166.67%
t-statistic: Ttest_indResult(statistic=-2.36, pvalue=0.04) 
pandas ile Pazarlama Kampanyalarını Analiz Etme

Hadi pratik yapalım!

pandas ile Pazarlama Kampanyalarını Analiz Etme

Preparing Video For Download...