AB测试——流程介绍(实施实验和结果分析)
Posted Avasla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AB测试——流程介绍(实施实验和结果分析)相关的知识,希望对你有一定的参考价值。
前言: 作为AB测试的学习记录,本文通过例子介绍实验数据的验证过程。
相关文章:
AB测试——原理介绍
AB测试——流程介绍(定义问题和指标选取)
AB测试——流程介绍(设计实验)
5.1 选择测试和数据收集工具
在实施测试方案过程中,短期内,可以基于已有数据,灵活简便地使用Excel或者Python对实验数据进行分析。若是长期需求,则可以借助市场上已有的一些工具,或者自主搭建Pipeline去收集和分析结果数据。
数据分析工具
这里列几个工具,比如:
- 神策数据 : (略)
- VWO:一个全面的 A/B 测试和个性化平台,提供网站优化、测试、调查和热图等功能,可根据计划灵活收费。
- Google Optimize:由 Google 推出的 AB 测试和个性化网站优化工具,可以免费使用。可以进行A/B测试、多变量以及重定向测试。
自主搭建分析流程
自主搭建数据分析流程,更加灵活,不会受限于工具的功能,但同时也要投入一定的人力时间。
首先,需要给测试对象打好标签,对照组和实验组的数据不能混淆;其次,搭建完善数据收集通道及存储仓库,做好数据清洗和储存工作;最后,使用统计学方法对数据进行分析验证,得出结论和建议,以及对结果进行可视化。
这一流程需要有机结合使用一系列的数据仓库/分析/BI工具,比如Python、SQL 、Tableau 或 PowerBI。
5.2 实验数据分析
统计分析收集的数据,比较测试组和对照组的差异,并确定哪种方案更有效。
案例背景
假设我们正在测试一个购物车页面,以确定新的页面设计是否可以提高转化率。我们将原网页与新网页进行比较,原始版本称为控制组(Group A),新版本称为变体组(Group B)。我们使用每个组的1000个随机访客来进行测试,并收集了以下数据:
- Group A: 1000访客,45个购买者,4.5%转化率
- Group B: 1000访客,65个购买者,6.5%转化率
案例分析
我们可以对案例进行分析:
- 确定指标:转化率
- 确定假设:新网页设计可以提高转化率
- 随机化实验组:使用随机化工具将1000个访客随机分配给Group A和Group B定义控制组和变体组:Group A是控制组,Group B是变体组
接下来,统统计算检验实验结果是否显著:
Python 计算检验
import numpy as np
from scipy.stats import ttest_ind_from_stats
# Group A
n_A = 1000
conversions_A = 45
conversion_rate_A = 0.045
# Group B
n_B = 1000
conversions_B = 65
conversion_rate_B = 0.065
# Conduct t-test
t_stat,p_value = ttest_ind_from_stats(conversion_rate_A, np.sqrt(conversion_rate_A*(1-conversion_rate_A)), n_A,
conversion_rate_B, np.sqrt(conversion_rate_B*(1-conversion_rate_B)), n_B)
# Print results
alpha = 0.05
if p_value < alpha:
print("The difference in conversion rates between Group A and Group B is statistically significant (p = :.4f)".format(p_value))
else:
print("The difference in conversion rates between Group A and Group B is not statistically significant (p = :.4f)".format(p_value))
结果输出:
结论及建议
在此示例中,Group B的转化率比Group A高,且这种差异在统计学上是显著的。因此,我们可以得出结论,新页面可以提高转化率,建议采用新的页面设计并在网站上推出。
递归下降分析-实验报告
实验四:语法分析实验
一、 实验目的
编制一个递归下降分析程序。
二、 实验内容和要求
输入:算术表达式;
输出:判断结果(输入正确/错误)。
三、实验方法、步骤及结果测试
1.源程序名:递归下降分析.c
可执行程序名:递归下降分析.exe
2. 原理分析及流程图
3. 主要程序段及其解释:
#include<stdio.h> #include<string.h> char str[10]; int index=0; void E(); //E->TX; void X(); //X->+TX|-TX| e void T(); //T->FY void Y(); //Y->*FY |/fy| e void F(); //F->(E) | i int i(); //i int main() { int len; int m; printf("请输入算数表达式:"); scanf("%s",str); len=strlen(str); str[len]=‘#‘; str[len+1]=‘\\0‘; E(); printf("输入正确!\\n"); strcpy(str,""); index=0; return 0; } void E() { T(); X(); } void X() { if(str[index]==‘+‘) { index++; T(); X(); } else if(str[index]==‘-‘) { index++; T(); X(); } } void T() { F(); Y(); } void Y() { if(str[index]==‘*‘) { index++; F(); Y(); } else if(str[index]==‘/‘) { index++; F(); Y(); } } void F() { if(i()) { index++; } else if (str[index]==‘(‘) { index++; E(); if(str[index]==‘)‘) { index++; }else{ printf("\\n分析失败!\\n"); exit (0); } } else{ printf("分析失败!\\n"); exit(0); } } int i() { if(str[index]>=‘0‘&&str[index]<=‘9‘) { while( str[index+1]>=‘0‘&&str[index+1]<=‘9‘ ) { index++; } if(str[index+1]>=‘a‘&&str[index+1]<=‘z‘ ) return 0; return 1; } else if(str[index]>=‘a‘&&str[index]<=‘z‘ ) { return 1; } else return 0; }
4. 运行结果及分析
以上是关于AB测试——流程介绍(实施实验和结果分析)的主要内容,如果未能解决你的问题,请参考以下文章
Gavin老师Transformer直播课感悟 - Rasa对话机器人项目实战之教育领域Education Bot项目架构运行测试流程分析及Rasa interactive实验分析(六十)