Creare una funzione di segmentazione per A/B test
Nella lezione precedente, hai osservato che il tuo esperimento di personalizzazione è altamente significativo dal punto di vista statistico. Tuttavia, quando si eseguono esperimenti, è importante verificare come le nuove funzionalità influenzano specifiche demografie. A volte funzioni molto attraenti per un gruppo lo sono meno per altri.
Poiché vuoi segmentare i dati più volte, costruirai una funzione ab_segmentation() che analizza l'impatto dei tuoi test A/B su segmenti di dati e che potrai riutilizzare ogni volta che vorrai condurre questo tipo di analisi.
La tua funzione prenderà in input un nome di colonna e scorrerà ciascun valore unico in quella colonna calcolando lift e significatività statistica.
Questo esercizio fa parte del corso
Analizzare campagne di marketing con pandas
Istruzioni dell'esercizio
- Crea un ciclo for all'interno della nostra funzione
ab_segmentation()che scorra ciascun valore unico nella colonna inserita dall'utentesegment. - Isola le righe in marketing in cui il canale di marketing è
'Email'e la colonna inserita dall'utentesegmentè uguale asubsegment. - Stampa i risultati delle funzioni
lift()estats.ttest_ind().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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()
personalization = subscribers['personalization'].dropna()
print('lift:', ____)
print('t-statistic:', ____, '\n\n')