Analyzing Marketing Campaigns with pandas
Jill Rosok
Data Scientist
for language in np.unique(marketing['language_displayed'].values):
print(language)
for language in np.unique(marketing['language_displayed'].values):
print(language)
language_data = marketing[(marketing['marketing_channel'] == 'Email') &
(marketing['language_displayed'] == language)]
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()
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()
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')
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)
Analyzing Marketing Campaigns with pandas