Segmentasyon yapan bir A/B test fonksiyonu oluşturma
Önceki derste, kişiselleştirme deneyinin istatistiksel olarak oldukça anlamlı olduğunu gözlemledin. Ancak deneyler yürütürken, yeni özelliklerin belirli demografikleri nasıl etkilediğini kontrol etmek önemlidir. Bazı özellikler bir grup için çok çekiciyken, diğerleri için daha az çekici olabilir.
Verileri birden fazla kez segmentlemek istediğin için, her bu tür analizi yapmak istediğinde yeniden kullanabileceğin, A/B testlerinin veri segmentleri üzerindeki etkisini analiz eden bir ab_segmentation() fonksiyonu oluşturacaksın.
Fonksiyonun bir sütun adı alacak ve o sütundaki her bir eşsiz değer üzerinden geçerek lift ve istatistiksel anlamlılığı hesaplayacak.
Bu egzersiz
pandas ile Pazarlama Kampanyalarını Analiz Etme
kursunun bir parçasıdırEgzersiz talimatları
ab_segmentation()fonksiyonumuz içinde, kullanıcı tarafından girilensegmentsütun adındaki her bir eşsiz değer üzerinden geçen bir for döngüsü kur.- marketing veri kümesinde, pazarlama kanalının
'Email'olduğu ve kullanıcı tarafından girilensegmentsütunununsubsegmente eşit olduğu satırları izole et. lift()vestats.ttest_ind()fonksiyonlarının sonuçlarını yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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')