卡方檢定 — Python實戰:男女大不同,掌握不同廣告的效益(附Python程式碼)

圖 1 廣告-性別交叉比較表

一、卡方檢定

本次檢定的目標為「了解針對男女投放不同種類廣告對於銷量是否會有顯著影響」。

import numpy as np
obs = np.array([chi_table.iloc[0,:].tolist(),
chi_table.iloc[1,:].tolist(),
chi_table.iloc[2,:].tolist(),])
array([[4676, 3180],
[1273, 3236],
[ 978, 1292]])
import scipy.stats
scipy.stats.chi2_contingency(obs, correction = False)
(1144.4903264056986,
2.9997380034408637e-249,
2,
array([[3718.38141442, 4137.61858558],
[2134.18811069, 2374.81188931],
[1074.43047489, 1195.56952511]]))
p_value = scipy.stats.chi2_contingency(obs, correction = False)[1]
2.9997380034408637e-249

但光有這樣的結論,就足以提供給管理當局明確的管理決策參考了嗎?

  1. 對於每個廣告來說,性別的影響力有多大?
  2. 該廣告對於哪個性別來說影響力更好?

二、事後檢定

from scipy.stats import chisquarechisquare(chi_table.iloc[0,:].tolist())[1]chisquare(chi_table.iloc[1,:].tolist())[1]chisquare(chi_table.iloc[2,:].tolist())[1]
6.489739323992124e-647.28785639051024e-1884.384215086093996e-11

三、視覺化呈現

import plotly.offline as py
import plotly.graph_objects as go
fig = go.Figure()
# 男性分布圖
fig.add_trace(go.Scatter(
x= ad_name,
y= chi_table.iloc[:,0].tolist(),
mode="lines+markers",
textfont=dict(
family="sans serif",
size=16,
color="royalblue"),
line=dict(color='royalblue', width=2),
name = '男性'
))
# 女性分布圖
fig.add_trace(go.Scatter(
x= ad_name,
y= chi_table.iloc[:,1].tolist(),
mode="lines+markers",
textfont=dict(
family="sans serif",
size=16,
color="firebrick"),
line=dict(color='firebrick', width=2),
name = '女性'
))
fig.update_layout(
title={
'text': "<b>廣告-性別交叉比較圖</b>",
'y':0.95,
'x':0.5,
'xanchor': 'center',},
yaxis_title='消費次數',
xaxis={
'title': '廣告類別',
'tickmode': 'linear'
},
width=1800,
height=960,
font=dict(
family="Courier New, monospace",
size=20,
color="lightslategrey"
)
)
# 產出另存html檔
py.plot(fig, filename='廣告-性別交叉比較圖', auto_open=True)
# 產出另存png檔
fig.write_image("C:/Users/user/Desktop/卡方檢定/廣告-性別交叉比較圖.png")
圖 2 廣告-性別交叉比較圖

四、管理決策表

# 判斷廣告比重
weight = []
for i in range(0,chi_table.shape[0]):
p = chisquare(chi_table.iloc[i,:].tolist())[1]
if p >= 0.05:
weight.append('男女推廣效果均勻')
else:
a = chi_table.iloc[i,0] # 男性消費量
b = chi_table.iloc[i,1] # 女性消費量
if a>b:
weight.append('針對男性族群推廣較有效')
else:
weight.append('針對女性族群推廣較有效')
# 將結果存至比較表中
chi_table['加強推廣族群'] = weight
圖 3 管理決策表
chi_table.to_csv("C:/Users/user/Desktop/卡方檢定/廣告-性別交叉比較表.csv", encoding='utf-8-sig')
歡迎加入我們的Telegram獲取即時訊息!https://t.me/marketingdatascience
歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265r

現在報名課程享56折起優惠!

您可能有興趣:

📢熱騰騰~最新募資上架【TMR最新募資課程】

《Python行銷資料科學-基礎語法入門最前線》

📢【TMR 已上架課程】

👨‍🎓TMR為您量身打造「全方位數據課程」

《 Python 0到1 基礎商業數據分析實戰 》

《 顧客分類大師:Python x RFM 會員經營新觀點 》

--

--

--

Marketing data science. 台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。粉絲專頁:https://www.facebook.com/MarketingDataScienceTMR

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
行銷資料科學

行銷資料科學

Marketing data science. 台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。粉絲專頁:https://www.facebook.com/MarketingDataScienceTMR

More from Medium

More Essential Google Sheets Formulas

More Essential Google Sheets Formulas

My World Cup Game

Philips S4807 Rugged Wireless Bluetooth Speaker with Bluetooth Multipoint Connection, IP67…

Council Post: 14 Important Transferable Skills To Help Drive Sales Success