数据分析思维(三)|测试/对比思维

简介: 测试/对比思维可以说在数据分析的工作中随处可见。当我们通过各种手段得到一些结果数据后,如何评价结果的好坏呢?这个时候你可能会想到和标准结果进行比较、和之前的数据进行对照等等方法,这些方法归根结底就是一种测试/对比思维。在该思维中最常用的方法就是A/B测试,本文我们就重点了解一下A/B测试的思想及其应用案例。

测试/对比思维

1、概念

测试/对比思维可以说在数据分析的工作中随处可见。当我们通过各种手段得到一些结果数据后,如何评价结果的好坏呢?这个时候你可能会想到和标准结果进行比较、和之前的数据进行对照等等方法,这些方法归根结底就是一种测试/对比思维。在该思维中最常用的方法就是A/B测试,本文我们就重点了解一下A/B测试的思想及其应用案例。

2、A/B测试(A/B实验)

为什么要进行A/B测试

  • 在很多互联网软件(广告)想要进行迭代时,通常要先进行假设给出迭代方案,而验证假设是否可行的最好方法就是进行A/B测试。
  • 在进行迭代时,会有想要迭代的目标,比如提高点击率新用户数购买转化率等等,我们通常称之为核心指标,A/B测试就是通过观察并计算核心指标的变化最终确定方案是否可行。

A/B测试原理

  • A/B测试的基本原理为“控制变量法”,我们需要将迭代前的功能(产品)作为对照组,新迭代方案作为实验组,来进行测试。具体需要注意的点如下:

    • 保证两个组的人群相同(特征分布一致);
    • 保证实验进行时间相同;
    • 保证除了方案变量之外的所有变量都是一致的;
    • 可以有多个实验组(A/B实验可以不只有A和B)。

A/B测试的结果判断

  • 前面我们提到过,进行测试时会选择一个核心指标,在相同的环境下对照组实验组都会产生核心指标,对于二者的指标我们通常采用假设检验的方式来进行判断。(后文会举例说明如何进行判断)
  • 假设检验的方式有很多,通常我们会把A/B测试中的检验分为单样本检验双样本检验配对检验三种,对于三种检验方法的使用场景如下:

    • 单样本检验:将一组样本和具体的数值进行比较时,为单样本检验。
    • 双样本检验:两组随机样本进行比较时,为双样本检验。
    • 配对样本检验:将同一组样本前后变化进行比较时,为配对样本检验。
  • 除了检验方法的选择之外,根据样本量和方差是否已知有要选择使用T检验Z检验

    • 当不知道总体方差时,使用T检验。
    • 当总体方差已知,但是样本量<=30时,使用T检验。
    • 当总体方差已知,但是样本量>30时,使用Z检验。

A/B测试的流程图

  • A/B测试的原理看起来很简单,但其难点在于对于环境的控制以及对于方案变量的选择,梳理A/B测试的流程如下图所示:

在这里插入图片描述

3、举个例子

  • 某APP为了增加用户粘性,准备更改新的页面风格,为了比较更改前和更改后用户日均使用时长是否有明显差别,我们随机抽取10位用户进行内测并统计其内测前一周(A组)及内侧后一周(B组)的日均使用时长,之后进行A/B测试来进行验证。
  • 数据如下:
1 2 3 4 5 6 7 8 9 10
A组(min) 80 79 58 90 82 77 74 65 54 70
B组(min) 86 85 60 90 88 84 75 78 58 74
  • 分析:根据上述条件可知,我们进行的是同一组样本前后变化的比较,且样本量<30,因此需要进行配对样本T检验(这里的确定是为了计算时选择对应的检验方式)
  • 做出假设:

    • H0:改版前后用户粘性无显著变化。
    • H1:改版前后用户粘性有显著变化。
  • 计算P值:

    • from scipy.stats import ttest_rel
      import pandas as pd
      
      x = [80, 79, 58, 90, 82, 77, 74, 65, 54, 70]
      y = [86, 85, 60, 90, 88, 84, 75, 78, 58, 74]
      # 配对样本t检验
      t_val, p = ttest_rel(x, y)
      print("P值:", p)
      
      # 结果如下
      # P值: 0.0023301816817713405
  • 得出结论:

    • 根据计算可以得到P值=0.002<0.05,因此我们可以拒绝H0假设选择H1假设,也就是说改版后的用户粘性有显著变化,有了这个结果我们就可以更有力的去说明更新的重要性了。
相关文章
|
6月前
|
监控 数据挖掘 中间件
性能测试数据分析的第一步
性能测试数据分析的第一步
101 0
|
22天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
28天前
|
数据采集 机器学习/深度学习 数据可视化
|
6月前
|
数据可视化 数据挖掘 Java
springboot+vue体质测试数据分析及可视化设计(源码+文档)
体质测试数据分析及可视化设计实现了以下功能: 管理员:首页、个人中心、学生管理、教师管理、日常运动管理、运动分析管理、成绩信息管理、论坛管理、系统管理, 学生:首页、个人中心、日常运动管理、运动分析管理、成绩信息管理、论坛管理, 教师:首页、个人中心、日常运动管理、运动分析管理、成绩信息管理、系统管理, 前台首页:首页、论坛信息、公告信息、个人中心、后台管理、客服模块的修改维护操作。
|
6月前
|
自然语言处理 数据可视化 数据挖掘
首批!瓴羊Quick BI完成中国信通院大模型驱动的智能数据分析工具专项测试
首批!瓴羊Quick BI完成中国信通院大模型驱动的智能数据分析工具专项测试
202 1
|
算法 数据挖掘 大数据
到底什么才是数据分析思维? by彭文华
到底什么才是数据分析思维? by彭文华
|
6月前
|
SQL 人工智能 自然语言处理
让老板成为数据分析师--ChatGpt链接本地数据源实战测试
本文探究ChatGpt等AI机器人能否帮助老板快速的做数据分析?用自然语言同老板进行沟通,满足老板的所有数据分析的诉求?
|
6月前
|
测试技术 UED
设计思维在软件测试领域的应用
设计思维在软件测试领域的应用
|
6月前
|
敏捷开发 测试技术
软件测试人员的思维方式
软件测试人员的思维方式
|
6月前
|
测试技术 数据库
测试做久了,思维定势了怎么办?
测试做久了,思维定势了怎么办?