滞后分析rstudio

The purpose of this article is to provide some guide on how to conduct analysis of a sample scenario A/B test results using R, evaluate the results and draw conclusions based on the analysis.

本文的目的是提供一些指南,说明如何使用R对示例场景A / B测试结果进行分析,评估结果并根据分析得出结论。

Before we begin, let’s review what an A/B Test means and what it is typically used for and what are some of its limitations.

在开始之前,让我们回顾一下A / B测试的含义,通常的用途以及它的一些局限性。

定义 (Definition)

A/B Testing also known as split testing is a general methodology used online when you want to test a new product or feature. The goal is to design an experiment that is robust and gives repeatable results so as to make an informed decision to launch or not.

A / B测试(也称为拆分测试)是您要测试新产品或功能时在网上使用的一种通用方法。 目标是设计一个健壮的实验,并给出可重复的结果,以便做出是否启动的明智决定。

Typically, this test involves comparing two web pages by showing two variants A and B, to a similar number of visitors and the variant which gives better conversion rate wins.

通常,此测试涉及通过将两个变体A和B展示给相似数量的访问者来比较两个网页,并且变体可以带来更好的转化率。

It is mainly an experiment where two or more variations of the same webpage are compared against each other by displaying them to real-time visitors to determine which one performs better for a given goal. A/B testing is not limited by web pages only, you can A/B test your emails, popups, sign up forms, apps and more.

这主要是一项实验,通过向实时访问者显示同一网页的两个或多个变体进行比较,以确定哪个变体在给定目标下效果更好。 A / B测试不仅限于网页,您可以A / B测试电子邮件,弹出窗口,注册表单,应用程序等。

Typically one of many reasons why an A/B test is done is to ensure new features planned to be introduced do have a measurable (positive) impact on the intended objective for wanting to introduce such feature(s).

通常,进行A / B测试的许多原因之一就是要确保计划引入的新功能确实对想要引入此类功能的目标具有可衡量的(积极的)影响。

局限性 (Limitations)

A/B test is one of many tools for conversion optimization. It is not an independent solution. It won’t fix all your conversion issues. It can’t fix typical issues you get with messy data. You need to do more than just an A/B test to really improve on conversions

A / B测试是许多用于转化优化的工具之一。 这不是一个独立的解决方案。 它不能解决您所有的转换问题。 它无法解决因凌乱的数据而引起的典型问题。 您要做的不只是A / B测试,还可以真正改善转换率

Now, let’s take a dive into a practical example of a case study. The datasets and full analysis details can be found on my github If you need some help understanding and using Github, there is a useful link for beginners here.

现在,让我们深入研究一个案例研究的实际示例。 该数据集和全面分析的细节上可以找到我的GitHub如果你需要一些帮助了解和使用Github上,有初学者有用的链接在这里 。

案例分析 (Case Study)

Imagine we have results of A/B tests from two hotel booking websites. (Note: data is made up to look like the real one.) We need to conduct A/B test analysis of the data, draw conclusions from the data and make recommendations to management or product teams.

想象一下,我们有两个酒店预订网站的A / B测试结果 。 (注意:数据组成看起来像真实的一样。)我们需要对数据进行A / B测试分析,从数据中得出结论,并向管理层或产品团队提出建议。

Note: The analysis below assumes some little knowledge of statistical concepts so as to make it concise and to the point.

注意:下面的分析假设您对统计概念有些了解,以使其简洁明了。

数据集摘要 (Dataset Summary)

  1. Variant A is the control group which depicts the existing products or features on the website.变体A是一个对照组,描述了网站上的现有产品或功能。
  2. Variant B is the experimental group to experiment the new version of product or feature to see if users like it or if it increases bookings (conversions).变体B是一个实验小组,用于测试产品或功能的新版本,以查看用户是否喜欢它或它是否增加了预订(转化)。
  3. Converted — Based on the given dataset, there are two categories defined by logical values (True or false):已转换-根据给定的数据集,由逻辑值定义了两个类别(“真”或“假”):
  4. Converted = True when customer successfully makes a booking当客户成功进行预订时,已转换= True
  5. Converted = False when customer visits the sites but does not make a booking当客户访问网站但未进行预订时,Converted = False

检验假设 (Test Hypothesis)

零假设 (Null Hypothesis)

Both version A and B have the same probability of driving customer booking or conversion. In other words, there is no effect or no difference between version A and B.

版本A和版本B具有相同的驱动客户预订或转化的可能性。 换句话说,版本A和B之间没有影响或没有区别。

替代假设 (Alternative Hypothesis)

Both version A and B have a different probability of driving customer booking or conversion. There is a difference between version A and B. Version B is better than A in driving customer bookings. PExp_B != Pcont_A

版本A和版本B具有不同的驱动客户预订或转化的可能性。 版本A和版本B之间存在差异。在推动客户预订方面,版本B优于版本B。 PExp_B!= Pcont_A

分析 (Analysis)

Let’s do the analysis together. Download the dataset here. Please note you must have RStudio installed to do this.

让我们一起做分析。 在此处下载数据集。 请注意,您必须安装RStudio才能执行此操作。

  1. Prepare the dataset and load the tidyverse library which contains the relevant packages used for the analysis.准备数据集并加载tidyverse库,该库包含用于分析的相关软件包。
library(tidyverse)setwd(“~egot_\\Projects\\ABTest”) #set up your own directoryABTest <- read.csv("Website Results.csv", header = TRUE)#Using read.csv base R file import function so the data can be imported into a dataframe in RStudio.save(ABTest, file = "~rda\\ABTest.rda")  #save in your own directory

2. Let’s filter conversions for variants A & B and compute their corresponding conversion rates.

2.让我们过滤变体A和B的转化并计算其相应的转化率。

3. Let’s compute the relative uplift using conversion rates A & B. The uplift is a percentage of the increase.

3.让我们使用转化率A和B计算相对提升。提升是增量的百分比。

uplift <- (conv_rate_B - conv_rate_A)/ conv_rate_A * 100uplift #82.72%#B is better than A by 83%. This is high enough to decide a winner.

4. Let’s compute pooled probability, standard error , margin of error and difference in proportion (point estimate) for variants A & B.

4.让我们计算变体A和B的合并概率,标准误差,误差容限和比例差异(点估计)。

5. Let’s compute the z-score.

5.让我们计算z得分。

#5a. Compute the Z-score so we can determine the p-valuez_score <- d_hat/SE_poolprint(z_score) #2.249546

6. Using this z-score, we can quickly determine the p-value via a look-up table, or using the code below:

6.使用此z分数,我们可以通过查找表或以下代码快速确定p值

#5b.Let's compute p_value using the z_score valuep_value <- pnorm(q = -z_score, mean = 0, sd = 1) * 2print(p_value) #0.02447777

7. Let’s compute the confidence interval for the pool

7.让我们计算池的置信区间

8. Let’s visualize the results computed so far in a dataframe (table):

8.让我们在数据框(表)中可视化到目前为止所计算的结果:

模型 (Model)

Based on the computations made so far, i created a model for computing ABTests. You can simply throw in your file with corresponding ABTest results in exactly same format as the file i used and once you run this model your ABTest result will be computed and returned to you within seconds.

基于到目前为止的计算,我创建了一个用于计算ABTests的模型。 您可以简单地将文件和相应的ABTest结果以与我使用的文件完全相同的格式放入文件中,一旦运行此模型,ABTest结果将被计算并在几秒钟内返回给您。

AB Test Model
AB测试模型

10. Finally let’s visualize the results of A & B using a normal distribution.

10.最后,让我们使用正态分布可视化A和B的结果。

结论与建议 (Conclusions & Recommendation)

1. There are 721 hits and 20 conversions for variant A and 730 hits and 37 conversions for variant B.

1.变体A有721个匹配和20个转换,变体B有730个匹配和37个转换。

2. Relative uplift of 82.72% based on a Conversion rate for A = 2.77%, Conversion rate for B = 5.07%. Hence variant B is better than A by 82.72%.

2.基于A的转化率= 2.77%,B的转化率= 5.07%,相对提升为82.72%。 因此,变体B比A好82.72%。

3. P-value computed for this analysis was 0.02448 (p < 0.05 or p lower than 5% significance level). Hence, the tests results show strong statistical significance. You can be 95% confident that this result is a consequence of the changes made and not a result of random chance.

3.为此分析计算的P值为0.02448(P <0.05或P低于5%的显着性水平)。 因此,测试结果显示出很强的统计学意义。 您可以95%确信此结果是所做更改的结果,而不是随机机会的结果。

4. Based on the aforementioned results that show strong statistical significance. you should reject the null hypothesis and proceed with launch.

4.基于上述结果,具有很强的统计学意义。 您应该拒绝零假设并继续进行发布。

5. Hence, Accept variant “B” and roll it out for 100% of the users.

5.因此,接受变体“ B”并将其推广给100%的用户。

Note: Please check for the entire source code including the visualization on my Github repository.

注意:请检查完整的源代码,包括我Github存储库中的可视化文件。

Thanks for reading.

谢谢阅读。

翻译自: https://medium.com/@etomaa/a-b-testing-analysis-using-rstudio-c9b5c67d6107

滞后分析rstudio


http://www.taodudu.cc/news/show-994935.html

相关文章:

  • unity3d 可视化编程_R编程系列:R中的3D可视化
  • python 数据科学 包_什么时候应该使用哪个Python数据科学软件包?
  • 熊猫tv新功能介绍_您应该知道的4种熊猫绘图功能
  • vs显示堆栈数据分析_什么是“数据分析堆栈”?
  • 广告投手_测量投手隐藏自己的音高的程度
  • python bokeh_提升视觉效果:使用Python和Bokeh制作交互式地图
  • nosql_探索NoSQL系列
  • python中api_通过Python中的API查找相关的工作技能
  • 欺诈行为识别_使用R(编程)识别欺诈性的招聘广告
  • nlp gpt论文_GPT-3:NLP镇的最新动态
  • 基于plotly数据可视化_[Plotly + Datashader]可视化大型地理空间数据集
  • 划痕实验 迁移面积自动统计_从Jupyter迁移到合作实验室
  • 数据开放 数据集_除开放式清洗之外:叙述是开放数据门户的未来吗?
  • 它们是什么以及为什么我们不需要它们
  • 机器学习 啤酒数据集_啤酒数据集上的神经网络
  • nasa数据库cm1数据集_获取下一个地理项目的NASA数据
  • r语言处理数据集编码_在强调编码语言或工具之前,请学习这3个基本数据概念
  • 数据迁移测试_自动化数据迁移测试
  • 使用TensorFlow概率预测航空乘客人数
  • 程序员 sql面试_非程序员SQL使用指南
  • r a/b 测试_R中的A / B测试
  • 工作10年厌倦写代码_厌倦了数据质量讨论?
  • 最佳子集aic选择_AutoML的起源:最佳子集选择
  • 管道过滤模式 大数据_大数据管道配方
  • 用户体验可视化指南pdf_R中增强可视化的初学者指南
  • sql横着连接起来sql_SQL联接的简要介绍(到目前为止)
  • 如何击败Python的问题
  • 数据冒险控制冒险_劳动生产率和其他冒险
  • knn 邻居数量k的选取_选择K个最近的邻居
  • 什么样的代码是好代码_什么是好代码?

滞后分析rstudio_使用RStudio进行A / B测试分析相关推荐

  1. 小学数学测试软件报告,小学数学学业水平测试分析报告.doc.doc

    小学数学学业水平测试分析报告.doc 小学数学学业水平测试分析报告 高淳县教育研训中心 唐开鸿 赵凯 为了解目前我县小学数学教师的教学情况.数学学科教学质量.学生学习的薄弱点和优势,给县教育局进行农村 ...

  2. 软件测试--黑盒测试常用测试分析方法总结

    三个方面: 测试分析是什么 重要性,常用性 测试分析包含两个过程: 1.对待测系统或功能的需求了解 2.思考如何去测试这个系统或功能 目前常用的测试分析方法: 测试需求分类 1.偏功能->理清主 ...

  3. 高效的敏捷测试第十一课 敏捷测试分析、策略和方法

    第26讲:基于上下文驱动思维的测试分析 从这一讲开始,我们就进入了第 5 部分内容的学习:敏捷测试分析与计划.在这一部分你将学到:测试需求分析.测试风险的识别.测试策略及测试计划的制定.今天先从基于上 ...

  4. MFQPPDCS大型嵌入式软件系统的测试分析和测试设计

    MFQ&PPDCS大型嵌入式软件系统的测试分析和测试设计 原创作者:邰晓梅 翻译:wzhj132 原创来源:2009年ICSEA大会上的论文<MFQ & PPDCS - Test ...

  5. MFQPPDCS 大型嵌入式软件系统的测试分析和测试设计

    原创作者:邰晓梅 翻译:wzhj132 原创来源:2009年ICSEA大会上的论文<MFQ & PPDCS – Test Analysis and Test Design for Lar ...

  6. 手把手教你做测试分析

    测试分析 测试分析是什么? 我们知道作为一个测试人员,拿到需求之后,不可能上来就做测试设计,因为 需求是否合理?是否有价值?是否可测试? 这些问题我们没有弄明白之前开始做测试设计是不负责任的 需求分析 ...

  7. 网站日志分析——关于茶叶网站用户的访问日志分析

    红昇茶业网站分析 1.茶行业现状 中国是茶的故乡,茶园面积为世界第一,茶叶产量居世界第二位,历年来,我国茶产品出口也呈现了大幅增长势头,出口100多个国家和地区.中国茶,作为一种健康饮品.一种精神饮品 ...

  8. 在线作图丨高级的微生物分析——在线做Variance Partitioning Analysis(VPA分析)

    今天小编给大家分享点厉害的干货~ Question 1:什么是VPA? 群落分析中常见的环境因子分析包括CCA典范对应分析(canonical correspondence analysis)和RDA ...

  9. R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等

    R语言caret包构建机器学习回归模型(regression model).使用DALEX包进行模型解释分析.特征重要度.偏依赖分析等 目录

最新文章

  1. 刷新COCO目标检测纪录!谷歌只靠AI扩增数据,就把一个模型变成SOTA,已开源
  2. String,StringBuffer与StringBuilder
  3. 听云支持.NET Core的应用性能监控
  4. 协议森林02 小喇叭开始广播 (以太网与WiFi协议)
  5. Freepiano如何使用sf2音源,sfark如何转换至sf2?
  6. Struts2通配符和动态方法调用
  7. Racket GUI,使用message%显示图片
  8. pat乙级【数列的片段和 (20分)】测试样例修改(第二个测试点)
  9. 【Matlab三维路径规划】蚁群算法三维路径规划【含源码 179期】
  10. 萌新小白萌新中软实习day7
  11. 桌上有一空盘,最多允许存放一只水果。爸爸只向盘中放一个苹果,妈妈只向盘中放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。用wait、signal操作实现爸爸、妈妈、儿子、女儿四个并发进程的同步。
  12. mysql导入dum_MySql 利用mysqlmysqldum导入导出数据
  13. AWS Python Lambda 使用 Layer
  14. X-editable文档
  15. 38、消防联动控制系统
  16. CDN降价之后又一大招 阿里云PCDN正式开放申请
  17. centos安装xfce
  18. 英语中近义词的区别——总结
  19. 统计图表着实方便,这个可视化工具太赞了~~
  20. jdk eclipse SDK下载安装及配置教程

热门文章

  1. 详解vector容器(应用+模拟实现,vector相关练习题)
  2. 关于树和二叉树的一些基本概念,基本名词解释。
  3. me shy是什么歌 抖音make_内含活动福利 | 小红书、抖音爆赞的高颜值的北欧家居神店开到卜蜂中心啦!...
  4. java-Mysql学生管理系统
  5. 下载Centos7 64位镜像
  6. PHP 备份还原 MySql 数据库
  7. New Distinct Substrings(后缀数组)
  8. 实现对数组找最大最小数
  9. python 中移去文件的只读属性
  10. Java静态类使用 使用 service