跳到主要內容
Cypher's Practical Coding
正在啟動 Python 環境(首次約 15 秒)...

p-value 到底是什麼?

A/B 測試跑完了,工程師跟你說:「p-value 是 0.03,統計顯著。」你點頭說好,但心裡想:「0.03 到底什麼意思?」

這一課,我們用最直白的方式搞懂 p-value。

先從一個問題開始

你的電商網站做了一個 A/B 測試,結果:

  • A 組:1000 人,30 人購買(3.0%)
  • B 組:1000 人,42 人購買(4.2%)

B 組高了 1.2 個百分點。但問題是:這個差異是真的,還是碰巧?

p-value 的白話解釋

p-value = 假設 A 和 B 其實沒差別,觀察到「這麼大或更大的差異」的機率。

翻成白話:

  • p = 0.03 → 如果 A/B 真的沒差別,只有 3% 的機率會看到這麼大的差異
  • p = 0.5 → 如果 A/B 真的沒差別,50% 的機率都會看到這種差異(超不可靠)

p 越小 → 越不可能是巧合 → 越有信心說「真的有差」

用 Python 算 p-value

0.05 這條線從哪來?

業界慣例是 p < 0.05 就算「統計顯著」。這代表:

  • 如果真的沒差別,你只有 5% 的機率會做出「有差」的錯誤結論
  • 也就是說,每做 20 次測試,大約會有 1 次「假陽性」

0.05 不是魔法數字,它只是一個被廣泛接受的門檻。有些公司用 0.01(更嚴格),有些用 0.10(更寬鬆)。

p-value 不是什麼

很多人誤解 p-value,以下是常見迷思:

迷思事實
「p = 0.03 代表 B 版有 97% 機率比較好」❌ p-value 不是「B 版比較好的機率」
「p 越小代表效果越大」❌ 樣本很大時,微小差異也能顯著
「p > 0.05 代表兩組一樣」❌ 只代表「沒有足夠證據說不一樣」

記住:p-value 告訴你「這個結果有多意外」,不告訴你「效果有多大」。

AI 協作:學了這個,跟 AI 怎麼配合?

p-value 的計算完全可以交給 AI,但解讀結果需要你的商業判斷。

你的人類優勢:

  • 你知道統計顯著不等於業務顯著(0.1% 的提升可能不值得)
  • 你能判斷測試結果是否受到季節、活動等外部因素影響

可以這樣跟 AI 說:

A/B 測試結果:A 組 5000 人轉換率 2.8%,B 組 5000 人轉換率 3.1%。幫我做 Z 檢定,算出 p-value,並告訴我這個差異在 95% 信心水準下是否顯著。

小練習

互動示範

DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩

挑戰任務

Task 1

寫一個 z_test 函式,輸入 (n_a, conv_a, n_b, conv_b),回傳 p-value。用 A 組 2000 人 80 轉換、B 組 2000 人 100 轉換測試,印出 p-value(保留 4 位小數)。

Task 2

電商 A/B 測試:A 組 3000 人、90 轉換;B 組 3000 人、120 轉換。算出兩組轉換率、p-value,並判斷在 0.05 門檻下是否顯著。

BackNext Lesson →