这个是之间在Udacity参与数据分析课程的项目之一。完成了有一阵子了,想着发上来以后方便复习。

一.项目说明

在进行此试验时,优达学城当前的主页上有两个选项:“开始免费试学”和“访问课程资料”。如果学生点击“开始免费试学”,系统将要求他们输入信用卡信息,然后他们将进入付费课程版本的免费试学。14天后,将对他们自动收费,除非他们在此期限结束前取消试用。若学生点击“访问课程材料”,他们将能够观看视频和免费进行小测试,但是他们不会获得导师指导支持或验证证书,无法提交最终项目来获取反馈。在此试验中,优达学城测试了一项变化,如果学生点击“开始免费试学”,系统会问他们有多少时间投入到这个课程中。如果学生表示每周5小时或更多,将按常规程序进行登录。如果他们表示一周不到5小时,将出现一条消息说明优达学城的课程通常需要更多的时间投入才能成功完成,并建议学生可免费访问课程资料。在这里,学生可选择继续进行免费试学,或免费访问课程资料。我们的假设是这会为学生预先设定明确的期望,从而减少因为没有足够的时间而离开免费试学,并因此受挫的学生数量, 同时不会在很大程度上减少继续通过免费试学和最终完成课程的学生数量。 如果这个假设最后为真, 优达学城将改进整体学生体验和提高导师为能够完成
课程的学生提供支持的能力。转移单位为cookie,尽管学生参加的是免费试学,但在登录后他们的用户 id 便被跟踪。同一个用户 id 不能两次参加免费试学。对于不参加免费试学的用户,他们的用户 id 不会在试验中被跟踪,即使他们在访问课程概述页面时登录了网站。

二.  指标选择

2.1   不变指标

在此项目中,作者选择以下指标作为不变指标:

cookie 的数量:即访问课程概述页面的唯一 cookie 的数量。(d 最小=3000)

点击概率: 即点击“开始免费试学”按钮的唯一 cookie 的数量除以查看课程概述页的唯一 cookie 的数量所得的比率( d 最小=0.01)

点击次数:即点击“开始免费试学”按钮的唯一 cookie 的数量(在免费试学筛选器触发前发生)。( d 最小 =240)(在本文后续的计算过程中并未使用此指标)

根据项目说明,不难发现优达学成所测试的变化是在学生点击“访问课程材料”后产生的。因此,对于cookie数量点击次数点击概率这两个访问前和访问进行中的指标,在测试过程中不应因测试变化而发生改变,故选作为不变指标。

2.2   评估指标

在此项目中,作者选择以下两个指标作为评估指标:

总转化率:即完成登录并参加免费试学的用户 id 的数量除以点击“开始免费试学”按钮的唯一 cookie 的数量所得的比率。( d 最小 =0.01)

净转换率:即在 14 天的期限后仍参与课程的用户 id 的数量(因此至少进行了一次付费)除以点击了“开始免费试学”按钮的唯一 cookie 的数量所得的比率。( d最小 =0.0075)

根据项目说明,此次测试是为探究点击“开始免费试学”后所出现的提示消息对学生是否参与课程的影响。因此,通过对总转化率净转换率的试验组/对照组的数据分析,可以在一定程度上反应测试的效果,故作为评估指标。

用户ID虽然被记录在事件发生之后,但可能受到分组的影响所导致评估效果产生误差,故不选用。留存率则是因为在后续的计算过程中发现所需的页面浏览数量过多,并导致实验时间过长,故不选择作为评估指标。

此次试验的目的是为减少因时间不足而选择放弃课程的学员,但又不会太大的影响付费学员的数量。因此:总转化率预期减小,净转化率基本不变。


三.  测量标准偏差

在试验前,优达学城给出了指标的基准数据,如下表所示:

表3-1:指标的基准数据

Unique cookies to view page per day:

40000

5000

Unique cookies to click "Start free trial" per day:

3200

400

Enrollments per day:

660

82.5

Click-through-probability on "Start free trial":

0.08

0.08

Probability of enrolling, given click:

0.20625

0.20625

Probability of payment, given enroll:

0.53

0.53

Probability of payment, given click

0.1093125

0.1093125

通过此表,我们可以知道在样本量为5000时,点击“免费试学”的cookie数为400。

因此,可以根据公式(1):

对于总转化率,p为0.20625,N为400,可计算得出SE总转化率= 0.202

对于净转换率,p为0.1093125,N为400,可计算的出SE净转换率=0.0156

对于此次测试中的评估指标,总转换率净转化率的分析单元为Cookies,和分组单元一致,因此其分析变异性相对靠近经验变异性。

四.规模

Bonferroni校正并不适用于此次试验,因为所选用的评估指标总转化率净转换率并未独立而是相互关联的。若在此情况下使用Bonferroni校正会导致结果过于保守。

根据已知信息,总转化率的基准转化率为0.20625,d最小为0.01。净转换率的基准转化率为0.1093125,d最小为0.0075。而整体的α=0.05,β=0.2。将此数据带入在线样本容量计算器可得到基于点击“免费试学”后的样本容量,并展示于下表:

表4-1:样本容量

Gross conversion

Net conversion

Unique cookies to click "Start free trial" per day:

25835

27413

Unique cookies to view page per day:

645875

685325

根据表4-1可知,基于在线计算器所得到的总转化率净转换率的样本容量分别为25835和27413。但是,此样本量仅代表点击“免费试学”的cookies,而非页面浏览量。因此,在此基础上除以点击概率0.08再乘以2(测试分为对照组和试验组),则得到整个测试所需要的页面浏览的cookies,分别为645875和685325。选择其中数值较大的作为样本容量,为685325。

此试验并不存在太大风险:

1.     被追踪的数据是以Cookie的形式存在,而后续的登录和付费并不会因事件发生而变化。

2.     网站并没有大幅度的改动,用户不需要很长时间去适应新的浏览页面。

3.     并未对数据库进行改动,数据泄露的风向未发生变化

4.     改动仅为一个页面提醒,并使用户造成使用上的困难。

5.     该试验不涉及道德风险。

因此,在此次试验中,可以将全部的流量转到此试验,即每天40000个cookies。则达到试验所需的样本量需要约17.1天,故试验持续时间为18天。

五.试验分析

在分析之前,首先应对不变指标进行完整性检查。在这里,我们对Cookie的数量“免费试用”的点击数点击概率进行检查。

由于试验组和对照组是随机分配的,因此Cookie数点击数应符合二项分布,p=0.5。而样本总数N为试验组和对照组之和,分别为690203和56703。对于点击概率,以对照组为基准,p=28378/345543=0.0821,N为对照组页面浏览总数345543。将以上数据代入公式(1),可得三个指标的SE分别为0.0006,0.0021和0.00047。取95%的置信区间则z=1.96,代入计算可得置信区间上下限。

对于三个指标的观测值,Cookie数点击数皆以其对照组数据除以两组数据之和,分别为344660/690203 =0.5006和28378/56703 = 0.5005。点击概率则是以试验组点击数除以试验组Cookie数,为28325/344660=0.0822。

 

表5-1:完整性检查

  Pageviews
Clicks
CTP
Observed 0.500639667 0.500467347 0.082182441
SE 0.000601841 0.002099747 0.000467068
Margin 0.001179608 0.004115504 0.000915454
Upper 0.501179608 0.504115504 0.083041267
Lower 0.498820392 0.495884496 0.08121036

表5-1展示了三个指标的观测值和95%置信区间的上下限。可以看到三个指标的观测值全都在置信区间范围内,因此通过合理性检查。

六.结果分析

6.1 效应大小检验

因为给出数据中注册和付费的值只到11月2日,故统计10.11-11.2日间浏览,点击,注册和付费的总数,见表6-1:

表6-1:截止至11月2日的数据统计

Pageviews_sum

Clicks_sum

Enrollments_sum

Payments_sum

Ctl

212163

17293

3785

2033

Exp

211362

17260

3423

1945

根据公式(2):

可得总转换率静转化率的分别为0.2086和0.1151。再根据公式(3):

得到两者的SE分别为0.0044和0.0034。

根据公式(4):

可知两个指标的概率差异为-0.0206和-0.0049。

最后根据95%的置信区间可得z=1.96,则两个指标的置信区间的上下限分别为[-0.0291,0.0120]和[-0.0116,0.0019]。如表6-2所示:

表6-2:评估指标有效大小检验

d

Ppool

SE

Margin

Lower

Upper

Gross conversion

-0.0206

0.2086

0.0044

0.0086

-0.0291

-0.0120

Net conversion

-0.0049

0.1151

0.0034

0.0067

-0.0116

0.0019

对于总转换率,置信区间并未覆盖零点,且不覆盖dmin, 故该指标具有统计显著性和实际显著性。对于净转化率,即使其区间包含dmin,但因置信区间包含零点,故不具有统计显著性,同时也不具有实际显著性。

6.2 符号检验

通过比对10.11-11.2日间每日的总转换率净转化率,得到的试验成功数量分别有4和10,试验次数为23次,概率为0.5,α为0025。将以上数据输入在线计算器,可得到总转换率的双尾P值为0.0026,具有统计显著性、而净转化率的双尾P值为0.6776,不具有统计显著性。两项指标关联性较强,不宜使用Bonferroni校正。

6.3 建议

建议不启动这项试验。

由以上分析可得,试验组的总转换率具有负方向的统计和实际显著性,即为增加提示后有效的减少了因为没有足够的时间而离开免费试学, 至于净转化率,其置信区间包含零点,但又有一定概率减少超过dmin,因此很难判断其是否有确切的变更。因此建议改用更大功效重新测试,故不启动试验。

七.后续试验

如果想减少受挫并提前终止课程的学生数量,可以适当增加学生每节课完成后的正面反馈。例如,在学生完成一小节课后给出一些鼓励性提示。因此,我的假设为:

每完成一节课后会出现一条消息鼓励学员继续,最终提高学生的留存率。

度量选择:

1.     不变度量

学生ID:此试验是在用户点击试学,并且登录id后,不会影响到登录用户数量,因此选择用户id做不变度量。

2.     评估度量

留存率:试验可能会影响最终付费用户数量,留存率是个很好的评估指标。

3.     转移单位

学生ID:此测试发生在用户登录后,id会被跟踪,用户id是合适的转移单位。

Udacity-A/B TEST相关推荐

  1. Udacity机器人软件工程师课程笔记(三十三) - 蒙特卡洛定位算法(MCL)

    一.概述 之前的文章介绍过卡尔曼滤波算法进行定位,我们知道kalman算法适合用于线性的高斯分布的状态环境中,我们也介绍了EKF,来解决在非高斯和非线性环境下的机器人定位算法.但是他们在现实应用中存在 ...

  2. Udacity机器人软件工程师课程笔记(三十) - 语义分割与实例实现 - 使用keras实现语义分割

    语义分割 1.语义分割介绍 计算机视觉与机器学习研究者对图像语义分割问题越来越感兴趣.越来越多的应用场景需要精确且高效的分割技术,如自动驾驶.室内导航.甚至虚拟现实与增强现实等.这个需求与视觉相关的各 ...

  3. Udacity机器人软件工程师课程笔记(二十五) - 使用PID控制四轴飞行器 - 四轴飞行器(四旋翼)模拟器

    1.四轴飞行器运动学和动力学模型 在讨论四轴飞行器时,明确定义两个参考坐标系会很有帮助:一个固定的世界坐标系W{W}W和一个牢固地附着到四轴飞行器的质心(CoM)的运动坐标系B{B}B. 假设运动坐标 ...

  4. Udacity机器人软件工程师课程笔记(二十二) - 物体识别 - 色彩直方图,支持向量机SVM

    物体识别 1.HSV色彩空间 如果要进行颜色检测,HSV颜色空间是当前最常用的. HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一 ...

  5. Udacity机器人软件工程师课程笔记(二十一) - 对点云进行集群可视化 - 聚类的分割 - K-means|K均值聚类, DBSCAN算法

    聚类的分割 1.K-均值聚类 (1)K-均值聚类介绍 k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心 ...

  6. Udacity机器人软件工程师课程笔记(十六)-机械臂仿真控制实例(其一)-Gazebo、RViz和Moveit!

    机械臂仿真控制实例 目录 环境设置 项目工具介绍 Gazebo (1)Gazebo组件 (2)Gazebo界面 统一机器人描述格式(URDF) RViz Moveit! 1.环境设置 对于此项目,使用 ...

  7. Udacity机器人软件工程师课程笔记(十)-ROS-Catkin-包(package)和gazebo

    包和gazebo仿真 1.添加包 (1)克隆simple_arm包 克隆现有的包并将其添加到我们新创建的工作区. 首先导航到src目录,然后从其github仓库克隆本课程 simple_arm 的包. ...

  8. Udacity机器人软件工程师课程笔记(七)-ROS介绍和Turtlesim包的使用

    Robotics Software engineer笔记 1.ROS简介与虚拟机配置 (1)ROS简介 ROS是一款机器人软件框架,即机器人操作系统(Robot Operating System). ...

  9. Udacity机器人软件工程师课程笔记(五)-样本搜索和找回-基于漫游者号模拟器-自主驾驶

    9.自主驾驶 在接下来的环节中,我们要实现漫游者号的自动驾驶功能. 完成这个功能我们需要四个程序,第一个为感知程序,其对摄像头输入的图片进行变换处理和坐标变换使用.第二个程序为决策程序,功能是帮助漫游 ...

  10. Udacity机器人软件工程师课程笔记(三)-样本搜索和找回-基于漫游者号模拟器-使用moviepy输出测试视频

    6.方法测试 在这个部分我们要整体的测试我们的程序,对前面的知识和内容有一个整体的应用和概括. 这是Udacity提供的相应资料,在code文件夹中有一个Rover_Project_Test_Note ...

最新文章

  1. mysql max和order by_mysql – 为什么MAX()比ORDER BY慢100倍… LIMIT 1?
  2. UVa10795 - A Different Task(递归)
  3. BZOJ2876 [Noi2012]骑行川藏 【拉格朗日乘数法】
  4. 《每周一点canvas动画》——圆周运动
  5. 在程序员眼里,马云 1000 亿的大业败给了王者荣耀 100 个月工资的奖金
  6. nginx 优化,突破十万并发
  7. 2016-11-17(2)(Unity相关)---脚本基础
  8. html5 dom操作api,17 HTML5 DOM获取元素.html
  9. CH340G版USB转串口自动下载器原理图
  10. 删除需要TrustedInstaller权限的文件
  11. 一组绝对有益于科研的随想录(转载)
  12. 管理大师德鲁克管理学精髓
  13. MPEG-DASH简介
  14. Cygwin系列(一):Cygwin是什么
  15. Muli3D 1 下载与编译
  16. ArcGIS填补栅格中空值
  17. 小鸡手柄android,简便易懂的连接方式_小鸡 Gamesir-G3_DIY攒机手柄-中关村在线
  18. 【Beta阶段项目展示】Time Shaft·时间轴
  19. 二次创业,都市丽人照旧
  20. Java堆排序(大顶堆小顶堆及应用实例)

热门文章

  1. RabbitMQ 使用java连接时出现异常com.rabbitmq.client.impl.AMQChannel.wrap和ConnectException
  2. tplink怎么进去_手机怎么进入tplink路由器设置界面?
  3. Java如何从字符串中提取数字
  4. 传16寸MacBook Pro九月发布 分辨率3072x1920
  5. Revit API之获取复合结构和材质
  6. FreeSurfer和FSL的安装和使用(脑部图像去除头骨+对图像和label同时进行仿射对齐)教程
  7. MobileNetV3 论文
  8. 大学物理实验长度的测量实验报告_大学物理长度测量实验报告
  9. html2pdf使用总结
  10. 台式计算机有线无线网卡设置,台式电脑怎么设置无线网络,详细教您台式电脑怎么设置无线网络...