A/B-Tests & Segmentierung

Marketingkampagnen mit pandas analysieren

Jill Rosok

Data Scientist

Segmentierung nicht vergessen!

shutterstock_379530769.jpg

Marketingkampagnen mit pandas analysieren

Personalisierungstest nach Sprache segmentiert

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


Marketingkampagnen mit pandas analysieren

Relevante Daten isolieren

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

    language_data = marketing[(marketing['marketing_channel'] == 'Email') & 
                              (marketing['language_displayed'] == language)]                              
Marketingkampagnen mit pandas analysieren

Abonnent:innen isolieren

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()
Marketingkampagnen mit pandas analysieren

Control und Personalization isolieren

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()  
Marketingkampagnen mit pandas analysieren

Komplette For-Schleife

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')
Marketingkampagnen mit pandas analysieren

Ergebnisse

Arabisch
lift: 50,0%
t-statistic: TtestResult(statistic=-0.58, pvalue=0.58, df=8.0) 

Englisch
lift: 39,0%
t-statistic: TtestResult(statistic=-2.22, pvalue=0.03, df=486.0) 

Deutsch
lift: -1,62%
t-statistic: TtestResult(statistic=0.19, pvalue=0.85, df=42.0) 

Spanisch
lift: 166,67%
t-statistic: TtestResult(statistic=-2.36, pvalue=0.04, df=10.0) 
Marketingkampagnen mit pandas analysieren

Lass uns üben!

Marketingkampagnen mit pandas analysieren

Preparing Video For Download...