Thực hiện thử nghiệm a/b cho chiến dịch quảng cáo bằng python

Bây giờ chúng ta chuyển sang một khu vực nhỏ hơn nhưng không kém phần quan trọng. Thử nghiệm A/B. Các quyết định được đưa ra trong lĩnh vực tiếp thị có thể ảnh hưởng rất sâu rộng. Các thiết kế sản phẩm mới được phát triển, một bố cục mới của tờ rơi khách hàng được tạo ra, v.v. Những nỗ lực như vậy thường đi kèm với chi phí cao và do đó sẽ đạt được hiệu quả mong muốn. Liệu đây có phải là trường hợp có thể được xác định trước bằng cách sử dụng các thử nghiệm A/B. Bằng cách này, các quyết định kinh doanh không chỉ được đưa ra dựa trên cảm tính mà còn được hỗ trợ bởi các số liệu và sự kiện.

Đối với bài đăng này, bộ dữ liệu WA_Fn-UseC_-Marketing-Campaign-Eff-UseC_-FastF từ nền tảng thống kê “Kaggle” đã được sử dụng. Bạn có thể tải xuống từ “Kho lưu trữ GitHub” của tôi

2 Nhập thư viện và dữ liệu______0

df = pd.read_csv['WA_Fn-UseC_-Marketing-Campaign-Eff-UseC_-FastF.csv']
df

3 Phân tích mô tả

Như thường lệ, chúng tôi bắt đầu với thống kê mô tả. Điều chúng tôi quan tâm trong phân tích này là chiến dịch nào thành công nhất về số liệu bán hàng

Tổng doanh thu

ax = df.groupby[
    'Promotion'
].sum[][
    'SalesInThousands'
].plot.pie[
    figsize=[7, 7],
    autopct='%1.0f%%'
]


prom = ['Promotion 1', 'Promotion 2', 'Promotion 3']


ax.set_ylabel['']
ax.set_title['Sales distribution across different promotions']
plt.legend[prom, loc="upper right"]

plt.show[]

Quy mô thị trường

df.groupby['MarketSize'].count[]['MarketID']

ax = df.groupby[[
    'Promotion', 'MarketSize'
]].sum[][
    'SalesInThousands'
].unstack[
    'MarketSize'
].plot[
    kind='bar',
    figsize=[12,10],
    grid=True,
    stacked=True
]

ax.set_ylabel['Sales [in Thousands]']
ax.set_title['breakdowns of market sizes across different promotions']

plt.show[]

Tuổi cửa hàng

df['AgeOfStore'].describe[]

ax = df.groupby[
    'AgeOfStore'
].count[][
    'MarketID'
].plot[
    kind='bar', 
    color='skyblue',
    figsize=[10,7],
    grid=True
]

ax.set_xlabel['age']
ax.set_ylabel['count']
ax.set_title['overall distributions of age of store']

plt.show[]

ax = df.groupby[
    ['AgeOfStore', 'Promotion']
].count[][
    'MarketID'
].unstack[
    'Promotion'
].iloc[::-1].plot[
    kind='barh', 
    figsize=[12,15],
    grid=True
]

ax.set_ylabel['age']
ax.set_xlabel['count']
ax.set_title['overall distributions of age of store']

plt.show[]

________số 8

4 bài kiểm tra ý nghĩa

Bây giờ là lúc để kiểm tra ý nghĩa. Để điều tra chiến dịch nào thành công nhất, chúng tôi sử dụng t-test. Chính xác thì kiểm tra t làm gì? . Hãy cùng xem các số liệu bán hàng trung bình được chia nhỏ theo chiến dịch

means = df.groupby['Promotion'].mean[]['SalesInThousands']
means

Các giá trị trung bình là khác nhau. Nhưng những khác biệt này cũng đáng kể? . Đối với điều này, chúng tôi sử dụng chức năng t-test từ thư viện scipy

Có hai thống kê quan trọng trong t-Test, giá trị t và giá trị p

Giá trị t đo lường mức độ khác biệt so với sự thay đổi trong dữ liệu. Giá trị t càng lớn thì càng có nhiều sự khác biệt giữa hai nhóm

Mặt khác, giá trị p đo lường khả năng kết quả sẽ xảy ra một cách tình cờ. Giá trị p càng nhỏ thì sự khác biệt giữa hai nhóm càng có ý nghĩa thống kê

Khuyến mãi 1 so với. 2

df = pd.read_csv['WA_Fn-UseC_-Marketing-Campaign-Eff-UseC_-FastF.csv']
df
0
df = pd.read_csv['WA_Fn-UseC_-Marketing-Campaign-Eff-UseC_-FastF.csv']
df
1

Khuyến mãi 1 so với. 3

df = pd.read_csv['WA_Fn-UseC_-Marketing-Campaign-Eff-UseC_-FastF.csv']
df
2____11

Khuyến mãi 2 so với. 3

df = pd.read_csv['WA_Fn-UseC_-Marketing-Campaign-Eff-UseC_-FastF.csv']
df
4
df = pd.read_csv['WA_Fn-UseC_-Marketing-Campaign-Eff-UseC_-FastF.csv']
df
1

Diễn dịch

Như chúng ta có thể thấy từ giá trị p, giá trị trung bình của các số liệu bán hàng trong khuyến mãi 1 và 3 không khác biệt đáng kể. Nhưng sự khác biệt giữa khuyến mãi 1 và 2 cũng như khuyến mãi 2 vs. 3. Nếu bạn nhìn vào giá trị t tương ứng, bạn có thể nói rằng khuyến mãi 1 và 3 tốt hơn khuyến mãi 2

5. Kết luận

Trong bài đăng này, tôi đã thảo luận về hiệu suất và diễn giải các thử nghiệm A/B. Vì rất nhiều điều phụ thuộc vào các quyết định của bộ phận tiếp thị, nên, đặc biệt là đối với các quyết định sâu rộng, nên thực hiện các thử nghiệm A/B mở rộng để có được kết quả mong muốn

Người giới thiệu

Nội dung của toàn bộ bài đăng được tạo bằng cách sử dụng các nguồn sau

Hoàng, Y. [2019]. Khoa học dữ liệu thực hành cho tiếp thị. Cải thiện chiến lược tiếp thị của bạn bằng máy học bằng Python và R. Công ty TNHH xuất bản Packt

Chủ Đề