com um clique
ab-testing-analyzer
// 全面的AB测试分析工具,支持实验设计、统计检验、用户分群分析和可视化报告生成。用于分析产品改版、营销活动、功能优化等AB测试结果,提供统计显著性检验和深度洞察。
// 全面的AB测试分析工具,支持实验设计、统计检验、用户分群分析和可视化报告生成。用于分析产品改版、营销活动、功能优化等AB测试结果,提供统计显著性检验和深度洞察。
Perform multi-touch attribution analysis using Markov chains, Shapley values, and custom attribution models. Use when you need to analyze marketing channel effectiveness, calculate conversion attribution, optimize marketing budgets, or understand customer journey paths. Supports channel transition analysis, ROI calculation, and marketing optimization insights with Chinese language support.
Generates production-ready analysis code in Python, R, SQL. Invoke when user wants reusable code for data analysis, ML, or visualization.
Analyze text content using both traditional NLP and LLM-enhanced methods. Extract sentiment, topics, keywords, and insights from various content types including social media posts, articles, reviews, and video content. Use when working with text analysis, sentiment detection, topic modeling, or content optimization.
通用的 6 阶段数据分析助手:数据质量→探索性分析→假设生成→可视化→代码生成→综合报告。提供完整的方法论和模板!
自动化数据探索和可视化工具,提供从数据加载到专业报告生成的完整EDA解决方案。支持多种图表类型、智能数据诊断、建模评估和HTML报告生成。适用于医疗、金融、电商等领域的数据分析项目。
Performs exploratory data analysis, statistical analysis, and pattern discovery. Invoke when user wants to analyze data, find patterns, statistical testing, or get deep insights.
| name | ab-testing-analyzer |
| description | 全面的AB测试分析工具,支持实验设计、统计检验、用户分群分析和可视化报告生成。用于分析产品改版、营销活动、功能优化等AB测试结果,提供统计显著性检验和深度洞察。 |
| allowed-tools | Read, Write, Bash, Glob, Grep |
一个功能完整的智能AB测试分析工具,基于"数据分析咖哥十话"的AB测试模块开发。
本技能提供从实验设计到结果分析的完整AB测试解决方案,支持多种统计检验方法、用户分群分析和可视化报告生成。
🧪 完整的AB测试流程
📊 全面的统计方法
👥 智能用户分群
📈 丰富的可视化功能
🔧 高级分析功能
# 依赖包
pip install pandas numpy scipy matplotlib seaborn statsmodels
from scripts.ab_test_analyzer import ABTestAnalyzer
from scripts.statistical_tests import StatisticalTests
from scripts.visualizer import ABTestVisualizer
# 初始化分析器
analyzer = ABTestAnalyzer()
stats_tests = StatisticalTests()
visualizer = ABTestVisualizer()
# 加载AB测试数据
data = analyzer.load_data('ab_test_data.csv')
# 基础转化率分析
conversion_results = analyzer.analyze_conversion(
data,
group_col='页面版本',
conversion_col='是否购买'
)
# 统计显著性检验
t_test_result = stats_tests.t_test(
data,
group_col='页面版本',
metric_col='是否购买'
)
# 生成可视化报告
fig = visualizer.plot_conversion_comparison(conversion_results)
# 快速测试
python quick_test.py
# 基础AB测试示例
python examples/basic_ab_test_example.py
# 高级分群分析示例
python examples/advanced_segmentation_example.py
# 综合分析示例
python examples/comprehensive_analysis_example.py
ab-testing-analyzer/
├── SKILL.md # 技能详细文档
├── README.md # 使用指南 (本文件)
├── quick_test.py # 快速功能测试
├── test_skill.py # 完整测试套件
│
├── scripts/ # 核心功能模块
│ ├── __init__.py
│ ├── ab_test_analyzer.py # AB测试核心分析
│ ├── statistical_tests.py # 统计检验模块
│ ├── segment_analyzer.py # 用户分群分析
│ └── visualizer.py # 可视化生成器
│
└── examples/ # 示例和数据
├── sample_data/ # 样本数据
│ ├── sample_ab_test_data.csv
│ └── sample_user_segments.csv
├── basic_ab_test_example.py # 基础AB测试示例
├── advanced_segmentation_example.py # 高级分群分析示例
└── comprehensive_analysis_example.py # 综合分析示例
# 计算各组转化率
conversion_rates = analyzer.calculate_conversion_rates(
data,
group_col='实验组别',
conversion_col='转化状态'
)
# 计算提升率和置信区间
lift_analysis = analyzer.calculate_lift(
conversion_rates,
control_group='对照组',
test_group='测试组'
)
# 计算留存率
retention_rates = analyzer.calculate_retention_rates(
data,
group_col='实验组别',
retention_col='retention_7'
)
# 留存率曲线可视化
fig = visualizer.plot_retention_curves(retention_rates)
# 独立样本t检验
t_result = stats_tests.t_test(
data,
group_col='页面版本',
metric_col='购买金额',
test_type='independent'
)
# 配对样本t检验
paired_t_result = stats_tests.t_test(
before_after_data,
group_col='用户ID',
metric_col='行为指标',
test_type='paired'
)
# 拟合优度检验
chi2_goodness = stats_tests.chi_square_test(
observed_data,
expected_data,
test_type='goodness_of_fit'
)
# 独立性检验
chi2_independence = stats_tests.chi_square_test(
data,
group_col='实验组别',
outcome_col='转化状态',
test_type='independence'
)
# Cohen's d计算
cohens_d = stats_tests.cohens_d(
data,
group_col='实验组别',
metric_col='转化状态'
)
# Cramer's V计算
cramers_v = stats_tests.cramers_v(data, group_col, outcome_col)
from scripts.segment_analyzer import SegmentAnalyzer
segment_analyzer = SegmentAnalyzer()
# 基于价值的用户分群
value_segments = segment_analyzer.value_based_segmentation(
data,
value_col='累计消费金额',
n_tiers=3
)
# 分群转化率分析
segment_conversion = segment_analyzer.segment_conversion_analysis(
data,
segment_col='价值组别',
group_col='实验组别',
conversion_col='转化状态'
)
# 页面版本与用户特征的交互效应
interaction_analysis = segment_analyzer.interaction_analysis(
data,
group_col='页面版本',
segment_col='价值组别',
outcome_col='转化状态'
)
# 交互效应可视化
fig = visualizer.plot_interaction_effects(interaction_analysis)
# 贝叶斯AB测试分析
bayesian_result = analyzer.bayesian_ab_test(
data,
group_col='实验组别',
conversion_col='转化状态',
prior='jeffreys'
)
# 计算获胜概率
win_probability = analyzer.calculate_win_probability(bayesian_result)
# 多变量AB测试 (MVT)
mvt_result = analyzer.multivariate_test(
data,
group_cols=['页面版本', '按钮颜色', '标题文案'],
conversion_col='转化状态'
)
# 转化率对比图
fig = visualizer.plot_conversion_comparison(
conversion_data,
title='AB测试转化率对比'
)
# 置信区间图
fig = visualizer.plot_confidence_intervals(
statistical_results,
metric='转化率'
)
# 用户分群热力图
fig = visualizer.plot_segment_heatmap(
segment_data,
title='用户分群转化率热力图'
)
# 生成交互式仪表板
dashboard = visualizer.create_interactive_dashboard(
analysis_results,
output_file='ab_test_dashboard.html'
)
用户ID,实验组别,转化状态,留存状态,累计消费金额,性别,年龄,价值组别,设备类型
U001,测试组,是,TRUE,299.99,男,25,高价值,移动端
U002,对照组,否,FALSE,59.99,女,32,低价值,PC端
U003,测试组,是,TRUE,599.99,男,28,高价值,移动端
U004,对照组,否,FALSE,199.99,女,35,中价值,PC端
用户ID,RFM分群,行为分群,人口统计分群,综合分群
U001,高价值,活跃用户,年轻男性,高价值年轻用户
U002,低价值,流失用户,成熟女性,需要唤醒用户
# 设置显著性水平
analyzer.set_significance_level(alpha=0.05)
# 设置统计功效
analyzer.set_statistical_power(power=0.8)
# 设置多重比较校正方法
analyzer.set_multiple_comparison_correction(method='bonferroni')
# 定义自定义分群规则
custom_segments = {
'high_value': {'累计消费金额': (500, float('inf'))},
'medium_value': {'累计消费金额': (100, 500)},
'low_value': {'累计消费金额': (0, 100)}
}
# 应用自定义分群
segmented_data = segment_analyzer.apply_custom_segments(
data,
segment_rules=custom_segments
)
# 设置图表风格
visualizer.set_style(style='seaborn', palette='viridis')
# 自定义图表配置
chart_config = {
'figsize': (12, 8),
'dpi': 300,
'format': 'png',
'style': 'professional'
}
fig = visualizer.plot_with_config(data, config=chart_config)
A: 使用样本量计算功能,考虑效应量、显著性水平和统计功效来计算最小样本量。
A: p值小于0.05表示在原假设为真的情况下,观察到当前结果或更极端结果的概率小于5%。需要结合效应量和实际意义来解释。
A: 使用Bonferroni校正、FDR校正等方法来调整p值,避免假阳性。
A: 当需要先验信息、样本量较小或想要获得概率性结论时,考虑使用贝叶斯方法。
基于假设检验理论,通过计算检验统计量和p值来判断实验结果的统计显著性。
在大样本情况下,样本均值的分布趋近于正态分布,为许多统计方法提供理论基础。
结合先验信息和观测数据,通过后验分布进行参数估计和假设检验。
当同时进行多个假设检验时,控制总体错误率,避免假阳性结果的增加。
欢迎提交Issue和Pull Request来改进这个技能。
MIT License
现在你已经了解了AB测试分析技能的所有功能,可以开始使用了:
# 快速验证功能
python quick_test.py
# 运行示例
python examples/basic_ab_test_example.py
享受你的AB测试分析之旅!🚀