Construirea unei funcții de segmentare pentru testul A/B
În lecția anterioară, ai observat că experimentul tău de personalizare este extrem de semnificativ din punct de vedere statistic. Totuși, atunci când rulezi experimente, este important să verifici cum anume afectează noile funcționalități anumite segmente demografice. Uneori, funcționalitățile foarte atractive pentru un grup sunt mai puțin atractive pentru altele.
Deoarece vrei să segmentezi datele de mai multe ori, vei construi o funcție ab_segmentation() care analizează impactul testelor tale A/B asupra segmentelor de date și pe care o poți reutiliza ori de câte ori dorești să efectuezi acest tip de analiză.
Funcția ta va primi un nume de coloană și va parcurge fiecare valoare unică din acea coloană, calculând lift-ul și semnificația statistică.
Acest exercițiu face parte din cursul
Analiza campaniilor de marketing cu pandas
Instrucțiuni pentru exercițiu
- Construiește o buclă
forîn interiorul funcțieiab_segmentation()care să parcurgă fiecare valoare unică din coloana introdusă de utilizator,segment. - Izolează rândurile din
marketingîn care canalul de marketing este'Email'și coloana introdusă de utilizatorsegmenteste egală cusubsegment. - Afișează rezultatele funcțiilor
lift()șistats.ttest_ind().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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')