Vytvoření segmentační funkce pro A/B test
V předchozí lekci sis ověřil/a, že tvůj personalizační experiment je vysoce statisticky významný. Při spouštění experimentů je ale důležité sledovat, jak nové funkce ovlivňují konkrétní skupiny uživatelů. Někdy je určitá funkce velmi atraktivní pro jednu skupinu, zatímco pro jinou méně.
Protože chceš data segmentovat opakovaně, vytvoříš funkci ab_segmentation(), která analyzuje dopad A/B testů na jednotlivé segmenty dat a kterou budeš moct pokaždé znovu použít.
Tvoje funkce přijme název sloupce a pro každou jeho unikátní hodnotu vypočítá lift a statistickou významnost.
Toto cvičení je součástí kurzu
Analýza marketingových kampaní s pandas
Pokyny k cvičení
- Uvnitř funkce
ab_segmentation()vytvoř cyklusfor, který projde každou unikátní hodnotu v zadaném sloupcisegment. - Vyfiltruj řádky z datasetu marketing, kde je marketingový kanál
'Email'a zadaný sloupecsegmentse rovnásubsegment. - Vypiš výsledky funkcí
lift()astats.ttest_ind().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
def ab_segmentation(segment):
# Build a for loop for each subsegment in marketing
for subsegment in ____:
print(subsegment)
# Limit marketing to email and subsegment
email = marketing[(marketing['marketing_channel'] == ____) & (marketing[segment] == ____)]
subscribers = email.groupby(['user_id', 'variant'])['converted'].max()
subscribers = pd.DataFrame(subscribers.unstack(level=1))
control = subscribers['control'].dropna().astype(float)
personalization = subscribers['personalization'].dropna().astype(float)
print('lift:', ____)
print('t-statistic:', ____, '\n\n')