A/B Testing in Python
Moe Lotfy, PhD
Principal Data Science Manager
Good use of A/B testing:
Do not A/B test if:
checkout.info()
RangeIndex: 9000 entries, 0 to 8999
Data columns (total 6 columns):
# Column Non-Null Count Dtype
0 user_id 9000 non-null int64
1 checkout_page 9000 non-null object
2 order_value 7605 non-null float64
3 purchased 9000 non-null float64
4 gender 9000 non-null object
5 browser 9000 non-null object
dtypes: float64(2), int64(1), object(3)
memory usage: 422.0+ KB
checkout['gender'].value_counts(normalize=True)
F 0.507556
M 0.492444
Name: gender, dtype: float64
sample_df = checkout.sample(n=3000)
sample_df['gender'].value_counts(normalize=True)
M 0.506333
F 0.493667
Name: gender, dtype: float64
checkout.groupby('checkout_page')['gender'].value_counts(normalize=True)
checkout_page gender
A M 0.505000
F 0.495000
B F 0.507333
M 0.492667
C F 0.520333
M 0.479667
Name: gender, dtype: float64
A/B Testing in Python