报告 A/B 测试结果

R 中的 A/B 测试

Lauryn Burleigh

Data Scientist

A/B 可视化

 

  • 向数据团队外部传达结论

 

  • 清晰的可视化
  • 准确表达发现

A/B 可视化

R 中的 A/B 测试

柱状图

  • 比较组均值的假设
    • t 检验

可视化:

  • 均值
  • 误差线
    • 标准差
    • 标准误
    • 置信区间

柱状图:x 轴为吃意大利腊肠披萨时间(粉色)与芝士披萨时间(蓝色)的均值,每根柱有误差线。

R 中的 A/B 测试

柱状图数据格式

library(dplyr)

data <- pizza %>%
    group_by(Topping) %>%

summarise(AvgTime = mean(Time), SdTime = sd(Time))
data
# A tibble: 2 × 3
  Topping   AvgTime SdTime
  <chr>       <dbl>  <dbl>
1 Cheese      5.81  0.948
2 Pepperoni   6.46  1.06 
R 中的 A/B 测试

使用柱状图

 

library(ggplot2)

ggplot(data, aes(x = Topping,
y = AvgTime,
fill = Topping)) +
geom_bar(stat = "summary", fun = "mean") +
geom_errorbar(aes( ymin = AvgTime - SdTime, ymax = AvgTime + SdTime))

柱状图:x 轴为当前实现的网站设计(粉色)与新设计选项(蓝色)的均值,每根柱有误差线。

R 中的 A/B 测试

箱线图

  • 比较组中位数
    • Mann-Whitney U
    • 卡方检验
    • Fisher 精确检验
    • t 检验
  • 盒底:25% 数据在下方
  • 盒顶:75% 数据在下方
  • 触须:最小值与最大值
    • 异常值除外
  • 异常值:位于触须外的点

箱线图:吃意大利腊肠披萨时间(粉色)与芝士披萨时间(蓝色)。

R 中的 A/B 测试

使用箱线图

  • 长格式数据
  • 适合研究者/统计人员,或评估非正态分布

 

ggplot(pizza, aes(x = Topping, y = Time, 
                fill = Topping)) +

geom_boxplot()

箱线图:吃意大利腊肠披萨时间(粉色)与芝士披萨时间(蓝色)。

R 中的 A/B 测试

散点图

  • 变量关系
    • 相关性
  • 每个点
  • 趋势:方向与速率

散点图:x 轴为吃披萨时间,y 轴为享受度。

R 中的 A/B 测试

使用散点图

 

library(ggplot2)

ggplot(pizza, aes(x = Time, 
                  y = Enjoyment,
                  fill = Topping)) +

geom_point()

 

散点图:正相关,x 轴为时间,y 轴为享受度;按配料着色,腊肠为粉色,芝士为蓝色。

R 中的 A/B 测试

使用散点图

  • 子集化数据以评估单一组别

 

ggplot(subset(pizza, 
              Topping %in% 
              "Pepperoni"),
       aes(x = Time, y = Enjoy)) + 
  geom_point()

 

散点图:仅意大利腊肠披萨,x 轴时间与 y 轴享受度呈正相关。

R 中的 A/B 测试

呈现数据

受众无统计背景:

  • 统计量不具信息性
  • 使用贴近业务的结论
  • 给出测试结论
  • 功效分析
  • 误差线

素材图:向两位听众展示数据结果。

R 中的 A/B 测试

数据呈现示例

结果:

  • t 检验显著
  • 功效 = 0.9

汇报:

  • 发现显著差异
  • 意大利腊肠披萨吃得比芝士更快
  • 结果可靠
  • 变异不大(误差线)

柱状图:x 轴为当前实现的网站设计(粉色)与新设计选项(蓝色)的均值,每根柱有误差线。

R 中的 A/B 测试

Passons à la pratique !

R 中的 A/B 测试

Preparing Video For Download...