A/B 測試與設計

R 中的 A/B 測試

Lauryn Burleigh

Data Scientist

A/B 測試

  • 統計技術
  • 以資料驅動決策
  • 檢驗差異與關係
  • 適用於:
    • 最佳化行銷活動、測試網站與廣告

本課程會學到:

  • 分析 A/B 資料
  • 做出決策與預測

 

A/B 測試示意圖:兩台相似平板,各自顯示不同百分比。

R 中的 A/B 測試

A/B 設計

  • 條件的影響:
    • 吃起司或臘腸披薩所花時間

 

  • A 組:起司披薩
  • B 組:臘腸披薩
  • 組間設計(Between-Subjects)

每位受試者只屬於一個組別。

R 中的 A/B 測試

控制組

 

 

A 組 朋友 Charlie、Sam、Hunter 選擇起司披薩,成為 A 組。

  • 控制組

 

 

B 組 朋友 Jessie、Skylar、Elliot 選擇臘腸披薩,成為 B 組。

  • 實驗組
R 中的 A/B 測試

資料框整理

寬格式(Wide)

  • 各組在不同欄
  • 因組間設計而有 NA
ID Cheese Pepperoni
01 5.21 NA
02 3.75 NA
03 6.32 NA
04 NA 6.53
05 NA 7.01
06 NA 6.98

長格式(Long)

  • 組別以單一欄標示
  • 較佳格式
ID Topping Time
01 Cheese 5.21
02 Cheese 3.75
03 Cheese 6.32
04 Pepperoni 7.64
05 Pepperoni 7.98
06 Pepperoni 5.62
R 中的 A/B 測試

寬轉長格式

ID Cheese Pepperoni
01 5.21 NA
02 3.75 NA
03 NA 6.53
04 NA 7.01
ID Topping Time
01 Cheese 5.21
02 Cheese 3.75
03 Pepperoni 7.64
04 Pepperoni 7.98
library(tidyr)

longdf <- Pizza %>% pivot_longer(cols = c("Cheese", "Pepperoni"),
names_to = "Topping", values_to = "Time") %>%
na.omit()
R 中的 A/B 測試

視覺化分組

library(ggplot2)

ggplot(Pizza, aes(x = Time,
                  fill = Topping)) +
geom_histogram()

直方圖:臘腸披薩進食時間分布較寬,起司披薩較窄。

R 中的 A/B 測試

分開顯示各組

library(ggplot2)

ggplot(Pizza, aes(x = Time,
                  fill = Topping)) + 

geom_histogram() + facet_grid(Topping~.)

直方圖:臘腸披薩平均時間約 7,起司披薩平均時間約 5。

R 中的 A/B 測試

A/B 測試假設

比較組間指標

  • 起司披薩的喜愛程度與臘腸披薩不同
  • 起司披薩的進食速度與臘腸披薩不同

條件之間的差異

比較組內關係

  • 喜愛程度與進食速度相關
  • 起司與臘腸兩組皆然:喜愛披薩與進食速度相關
  • 單一組(起司):對起司披薩的喜愛與吃起司披薩的速度相關

指標之間的趨勢

R 中的 A/B 測試

一起來練習吧!

R 中的 A/B 測試

Preparing Video For Download...