A/B 测试与设计

R 中的 A/B 测试

Lauryn Burleigh

Data Scientist

A/B 测试

  • 统计技术
  • 数据驱动决策
  • 检验差异与关系
  • 适用:
    • 优化营销、测试网站与广告

本课程将:

  • 分析 A/B 数据
  • 做出决策与预测

 

A/B 测试示意图,显示两台相似平板与不同百分比。

R 中的 A/B 测试

A/B 设计

  • 条件的影响:
    • 吃 Cheese 或 Pepperoni 的用时

 

  • A 组:Cheese
  • B 组:Pepperoni
  • 组间设计

一名受试者只属于一个组。

R 中的 A/B 测试

对照组

 

 

A 组 朋友 Charlie、Sam 和 Hunter 选择 Cheese,成为 A 组。

  • 对照组

 

 

B 组 朋友 Jessie、Skylar 和 Elliot 选择 Pepperoni,成为 B 组。

  • 实验组
R 中的 A/B 测试

数据框组织

宽表

  • 组在不同列中
  • 因组间设计出现 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

长表

  • 分组在一列中标记
  • 首选格式
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()

宽的 Pepperoni 进食速度分布与窄的 Cheese 进食速度分布的直方图。

R 中的 A/B 测试

分面显示分组

library(ggplot2)

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

geom_histogram() + facet_grid(Topping~.)

Pepperoni 平均时间为 7、Cheese 平均时间为 5 的进食速度直方图。

R 中的 A/B 测试

A/B 检验假设

组间比较指标

  • Cheese 比 Pepperoni 喜爱程度不同
  • Cheese 与 Pepperoni 的进食速度不同

条件差异

组内指标关系

  • 喜爱程度与进食速度相关
  • 两组(Cheese 与 Pepperoni):喜爱程度与进食速度相关
  • 单组(Cheese):对 Cheese 的喜爱与其进食速度相关

指标间趋势

R 中的 A/B 测试

让我们来练习!

R 中的 A/B 测试

Preparing Video For Download...