IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un ciclo for all'interno della nostra funzione ab_segmentation() che scorra ciascun valore unico nella colonna inserita dall'utente segment.
  • Isola le righe in marketing in cui il canale di marketing è 'Email' e la colonna inserita dall'utente segment è uguale a subsegment.
  • Stampa i risultati delle funzioni lift() e stats.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')
Modifica ed esegui il codice