百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Python实战AB试验提升课程转化率的成效分析(一)

toyiye 2024-06-21 12:36 8 浏览 0 评论


点击上方蓝字关注我们

来源:数据万花筒

https://mp.weixin.qq.com/s/fGLR1_PmWUjC9_9e4CwcYg


A/B试验提升课程转化率的成效分析

上篇

1.试验背景和试验假设

2.试验设计和核心指标说明

3.实验所需样本量计算


下篇

1.试验结果分析

2.符号检验



A/B 试验是对比分析中的较为经典的方法,通过控制试验变量研究对照组与试验组之间是否存在显著差异,从而决定是否大规模推广新策略。A/B试验是探究因果关系最为有效的方法,作为数据分析师除了设计A/B试验流程之外,还需要结合试验数据对试验结果进行分析和评估,这个过程就涉及到各类统计学知识的应用。这篇文章会以Udacity A/B 试验案例为背景,通过Kaggle提供的公开数据集,利用Python实现对A/B 试验数据的处理。


如果需要了解A/B试验设计的流程及其试验误区的话可以点击下方链接,查看往期A/B试验相关文章!


数据分析师必会A/B 试验设计及其容易忽略的误区

https://mp.weixin.qq.com/s/3XUDCFpSye0QpxnErtyzmg


试验背景和试验假设



Udacity A/B 试验课程是由谷歌开发旨在提供A/B 测试的设计和分析的相关课程,该课程为每个用户提供14天的免费试用机会,且每个用户只能申请一次免费试用。

在课程页面上用户有两种选择,其一是开始免费试用,其二是访问课程免费材料。当用户点击“免费试用”按钮之后,会弹出信用卡信息收集按钮,填写信息完毕之后用户即可参加付费课程的免费试用版。除非用户在14内取消付费授权,否则课程平台会在14天后收取课程费用。如果用户点击“访问课程材料”,其能够观看视频并免费参加测验,但不会获得教练支持或认证证书,也不会提交最终项目的反馈。


为了提高整体用户的课程完成率,同时减轻课程老师的辅导压力,Udacity设计了A/B 试验,在试验组增加“每周能投入课程的时间”弹窗,旨在让没有足够时间参与课程的用户主动放弃免费试用机会,从而提升课程完成率。基于以上假设,试验策略如图1所示。

图1 Udacity课程A/B试验策略


对照组:按照现有流程,不做任何改变

试验组:当用户点击“免费试用”之后,会跳出弹窗询问用户每周能够投入课程的时间,如图2所示。当用户表示每周有5小时以上的时间参与学习,则流程正常通过;如果用户表示每周学习时间少于5小时,则网页会提示“您需要更多时间才能完成课程,完成课程后可以免费获得课程材料”。但用户仍然可以继续选择“免费试用”或者“免费访问课程材料”。


图2 Udacity课程试验组策略


试验设计及核心监控指标说明

一个成功的A/B 试验的指标至少包括两类,分别是核心指标和辅助指标,更严谨的A/B 试验需要加上第三类指标,即反向指标。在Udacity A/B 试验课程案例中仅使用了核心指标以及辅助指标两类。该案例中用户转化路径的核心步骤包括访问课程页面、点击免费试用按钮、进入课程、付费,在这路径当中访问课程页面以及点击免费试用按钮并不涉及任何策略变化,而用户正式进入课程之后才涉及到策略的改变。该试验以“进入课程”为分界点,将试验抽象为两部分,如下图所示3,不涉及策略变化的部分相当于一组A/A试验,涉及策略改变的部分相当于A/B试验。A/A试验的目的是验证保证流量的随机性,此处涉及到的指标称为辅助指标;理论上来说,A/A试验部分不涉及策略改变,因此A1/A2组的检测指标不应该存在差异显著性;如果最后试验结果显示A1/A2组的检测指标差异较大,则试验可能存在较大的偏差,结果不可取信。而数据分析师较为关心的是策略改变之后对指标带来的影响,即A/B 试验的效果,检测A/B 试验效果的指标称为核心指标。核心指标有时也叫北极星指标,是数据分析师想要在A/B 试验中看到其在试验组和对照组之间发生重大变化的指标;而辅助指标的作用是保证新上线策略不发生原则性错误。


图3 Udacity A/B试验方案设计


为了保证指标的改变对于业务来说是具有真实作用,每个指标都有设置了效应量,如果对照组与试验组相比指标变化小于效应量,即使其在统计学水平上具有显著性,数据分析师也有理由认定该试验是不显著的。


1.核心指标

Udacity A/B试验中,核心指标包括了课程转化率(Gross Conversion)、课程付费转化率(Net Conversion)以及付费留存率(Retention)三个指标,其统计口径详见图4,其中Dmin是前面介绍过的效应量。


图4 Udacity A/B试验中核心指标统计口径

2.辅助指标

Udacity A/B试验实例中,辅助指标包括课程页面独立访客数(Unique Visitors)、免费试用按钮点击数(Button Clicks)以及免费试用按钮点击率(Button Click Rate),其统计口径如图5所示。

图5 Udacity A/B试验中辅助指标统计口径


试验所需样本量计算



在正式开始试验之前,数据分析师需要了解目前的业务现状,即数据指标在当前业务的表现情况,也就是通常说的基准值(baseline)。数据基准值可以通过历史数据计算得到,其也样本容量的估计的基础。


1.数据指标基准值

Udacity A/B 试验提供了各个指标的数据基准值,如图6所示。


图6 Udacity A/B试验中数据指标基准值


在这里我们先导入分析相关的包,然后直接将数据指标的基准值记入字典,实现代码如下。

import math as mt
import numpy as np
import pandas as pd
from scipy.stats import norm
#先将基线值存入字典中
baseline = {
   "Cookies":40000,
   "Clicks":3200,
   "Enrollments":660,
   "CTP":0.08,
   "GConversion":0.20625,
   "NConversion":0.109313,
   "Retention":0.109303
}


完整文章

https://mp.weixin.qq.com/s/fGLR1_PmWUjC9_9e4CwcYg

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码