🧪
TT's Learning
← 返回首页
🧪

A/B测试分析

学习A/B测试的基本原理和统计方法,掌握如何进行假设检验和计算统计显著性。

高级 30分钟 📁 ab_test_data.csv
学习进度
0%
0/4
已学习
0/5
练习
0
得分
第一章 A/B测试基础

1.1 什么是A/B测试

A/B测试是一种对照实验方法,用于比较两个或多个版本的产品、页面或功能,以确定哪个版本表现更好。

  • 对照组(A组):原始版本
  • 实验组(B组):改进版本
  • 随机分配:确保两组具有可比性
  • 统计显著性:判断差异是否真实

💡 A/B测试广泛应用于网页优化、产品设计、营销策略等领域。

1.2 A/B测试流程

完整的A/B测试流程包括以下步骤:

  1. 确定测试目标和假设
  2. 设计测试方案
  3. 收集数据
  4. 进行统计分析
  5. 做出决策
第二章 假设检验

2.1 零假设与备择假设

假设检验是A/B测试的核心:

  • 零假设(H₀):两组之间没有差异
  • 备择假设(H₁):两组之间存在差异
  • 显著性水平(α):通常设为0.05
  • P值:观察到当前数据的概率

2.2 常用检验方法

根据数据类型选择合适的检验方法:

# 比例检验(适用于转化率等二分数据)
from scipy.stats import norm

def z_test(p1, n1, p2, n2):
    p_pooled = (p1 * n1 + p2 * n2) / (n1 + n2)
    se = (p_pooled * (1 - p_pooled) * (1/n1 + 1/n2)) ** 0.5
    z = (p1 - p2) / se
    p_value = 2 * (1 - norm.cdf(abs(z)))
    return z, p_value

# 示例
z, p_value = z_test(0.15, 1000, 0.18, 1000)
print(f"Z值: {z:.2f}, P值: {p_value:.4f}")
第三章 统计显著性计算

3.1 P值与显著性

P值是判断结果是否显著的关键指标:

  • P值 < 0.05:拒绝零假设,结果显著
  • P值 >= 0.05:无法拒绝零假设

3.2 样本量计算

在测试前需要计算所需样本量:

import math
from scipy.stats import norm

def calculate_sample_size(p_baseline, min_detectable_effect, alpha=0.05, power=0.8):
    # 计算所需样本量
    p2 = p_baseline * (1 + min_detectable_effect)
    p_pooled = (p_baseline + p2) / 2
    
    z_alpha = norm.ppf(1 - alpha/2)
    z_power = norm.ppf(power)
    
    n = (z_alpha * math.sqrt(2 * p_pooled * (1 - p_pooled)) + 
         z_power * math.sqrt(p_baseline * (1 - p_baseline) + p2 * (1 - p2))) ** 2 / \
         ((p2 - p_baseline) ** 2)
    
    return math.ceil(n)

# 示例:基准转化率10%,检测20%的提升
sample_size = calculate_sample_size(0.10, 0.20)
print(f"每组所需样本量: {sample_size}")
第四章 A/B测试实战

4.1 完整分析示例

综合运用所学知识进行A/B测试分析:

💻 在线代码编辑器
练习题(共5题)

练习 1:计算转化率

计算A/B两组的转化率。

练习 2:Z检验计算

实现Z检验计算统计显著性。

练习 3:样本量计算

计算所需样本量。

练习 4:置信区间计算

计算转化率的置信区间。

练习 5:完整A/B测试分析

综合分析A/B测试结果。

测试题(共 5 题,满分 100 分)

1. A/B测试中,零假设表示什么?

2. 通常使用的显著性水平α是多少?

3. 当P值小于α时,我们应该?

4. 计算样本量时不需要考虑哪个因素?

5. Z检验适用于哪种数据?

🎉

测试完成!

0分

太棒了!继续努力!

返回首页 →
作业提交

📝 A/B测试分析作业

请完成以下任务:

  • 模拟A/B测试数据
  • 计算两组转化率
  • 进行统计显著性检验
  • 计算置信区间
💻 作业代码提交