运筹从业者也需要的因果推断入门:基础概念解析和体系化方法理解

本文主要是介绍运筹从业者也需要的因果推断入门:基础概念解析和体系化方法理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1 引言
  • 2 相关关系 VS 因果关系
    • 2.1 相关关系
    • 2.2 因果关系
    • 2.3 相关关系不等于因果关系
  • 3 因果推断方法
    • 3.1 方法体系
    • 3.2 方法理解
  • 4 运筹从业者也需要因果推断
    • 4.1 问题描述
    • 4.2 算法方案
    • 4.3 算法验证
  • 5 总结
  • 6 相关阅读

1 引言

已经3月初了,原计划的因果推断学习还没有任何阶段性的成果,不太符合预期。反思了一下,首先是因为春节前后的工作排期异常紧张,没多少精力去学习新东西;其次是因为春节前后放飞了自己,耽搁了持续学习的进程;最后,系列的第一篇文章最难写,希望能够在足够入门的同时对方法体系有大概认知,但又不能太深,所以虽然已经看了很多内容,但始终找不到一个比较合理的行文框架,导致迟迟没有动笔。

本周二的时候,有粉丝找我催更鲁棒优化的内容。想到自己的因果推断入门文章还没完成,紧迫感一下子就上来了。所以,这两天加班加点,先把这个完成了。

正文见下。

2 相关关系 VS 因果关系

因果推断中有一句非常著名的话:相关关系不等于因果关系。在正文的开头,先来梳理一下什么是相关关系和因果关系。

2.1 相关关系

相关关系一般是指两个变量之间的相互关系,通常是一种统计意义上的关系:当两个变量一起增加或减少时,属于正相关关系(a图);当一个变量随着另一个变量的增加而较少时,属于负相关关系(b图);当一个变量对另一个变量的增加或减少无动于衷时,认为是没有相关关系(c图)。

统计学中,一般使用相关系数来量化相关关系。常见的相关系数有:Pearson相关系数、Spearman等级相关系数和Kendall等级相关系数。工业界最常用的是Pearson相关系数,下面我们来着重理解一下这个相关系数。

假设有两个变量 X X X Y Y Y,他们之间的Pearson相关系数的数学表达式为
ρ X , Y = C o v ( X , Y ) σ X σ Y = E [ ( X − μ X ) ( Y − μ Y ) ] σ X σ Y \rho_{X,Y}=\frac{Cov(X,Y)}{\sigma_X \sigma_Y}=\frac{E[(X-\mu_X)(Y-\mu_Y)]}{\sigma_X \sigma_Y} ρX,Y=σXσYCov(X,Y)=σXσYE[(XμX)(YμY)]
式中, C o v Cov Cov表示协方差, μ \mu μ表示均值, σ \sigma σ表示方差。上面这个公式不太好理解,我们用分量的形式重写一下
ρ X , Y = ∑ i = 1 N ( x i − μ x ) ( y i − μ Y ) ∑ i = 1 N ( x i − μ X ) 2 ⋅ ∑ i = 1 N ( y i − μ Y ) 2 \rho_{X,Y} = \frac{\sum_{i=1}^N(x_i-\mu_x)(y_i-\mu_Y)}{\sqrt{\sum_{i=1}^N(x_i-\mu_X)^2}·\sqrt{\sum_{i=1}^N(y_i-\mu_Y)^2}} ρX,Y=i=1N(xiμX)2 i=1N(yiμY)2 i=1N(xiμx)(yiμY)
定义: x i ′ = x i − μ x , y i ′ = y i − μ y x_i'=x_i-\mu_x,y_i'=y_i-\mu_y xi=xiμx,yi=yiμy,上式变为
ρ X , Y = ∑ i = 1 N x i ′ y i ′ ∑ i = 1 N x i ′ 2 ⋅ ∑ i = 1 N y i ′ 2 = X ′ Y ′ ∣ X ′ ∣ ∣ Y ′ ∣ = cos ⁡ ( X ′ , Y ′ ) \rho_{X,Y}=\frac{\sum_{i=1}^N x_i'y_i'}{\sqrt{\sum_{i=1}^N x_i'^2}·\sqrt{\sum_{i=1}^N y_i'^2}}=\frac{X'Y'}{|X'||Y'|}=\cos(X',Y') ρX,Y=i=1Nxi′2 i=1Nyi′2 i=1Nxiyi=X∣∣YXY=cos(X,Y)
所以,Pearson相关系数可以理解为:将原向量 X X X Y Y Y做中心化之后的新向量 X ′ X' X Y ′ Y' Y间夹角的余弦值。有了这层理解,便可知,Pearson相关系数值的范围是 [ − 1 , 1 ] [-1,1] [1,1]

下图展示了不同Pearson相关系数值时的变量分布情况。

2.2 因果关系

与相关关系相比,因果关系区分了原因变量和结果变量。借助自然科学研究的思路来定义因果关系,即假设存在两个变量 X X X Y Y Y,在控制能影响 Y Y Y的一切其他变量保持不变的同时,改变 X X X的状态,观察 Y Y Y是否随之发生改变。如果 Y Y Y发生了改变,那么则称 X X X Y Y Y的原因, Y Y Y X X X的结果, X X X Y Y Y之间具有因果关系。

工业界一般习惯使用uplift去表征 X X X Y Y Y之间量化的因果效应,从因果关系的定义上可以推导出

uplift = E ( Y ∣ X = 1 ) − E ( Y ∣ X = 0 ) \text{uplift}=E(Y|X=1)-E(Y|X=0) uplift=E(YX=1)E(YX=0)

显然,该值越大,他们之间的因果关系越强。

直观上来看, X X X Y Y Y的相关关系描述的是“ Y Y Y X X X的变化而变化的趋势”; X X X Y Y Y的因果关系研究的是“有X时的Y”和“没有X时的Y”之间的差值。

为了更直观地展示他们之间的差异,我们举个广告中的实例,如下表所示。此处, X X X对应的是广告, Y Y Y对应的是商品转化率。如果研究广告和商品转化率之间的相关关系,一般指的是看过广告后的的商品转化率,此时第2批用户的相关系数值更大(2%);但如果研究广告和商品转化率之间的因果关系,一般指的是因为广告而导致的商品转化率,此时第1批用户的uplift值更高(0.9%)。

用户批次有广告时的平均商品转化率无广告时的平均商品转化率uplift
11%0.1%0.9%
22%1.5%0.5%

事实上,如果仅能选取一批人进行广告投放,那么最佳的策略显然是将广告投放给因果关系更强的第一批用户。而这也是研究因果关系的价值之一:它可以为我们的最优决策提供理论基础

2.3 相关关系不等于因果关系

上一节的广告实例已经直观地告诉了我们,相关关系和因果关系研究的内容是有差异的。即便如此,我们还是希望能使用相关关系代表因果关系。这是因为,相关关系更直观,而且作为一个统计指标,可以使用很多成熟的数学方法对其进行量化。

为此,我们有必要知道,哪些情况会导致相关关系和因果关系不对等。最容易想到的一种情况是:样本有选择性偏差。如果研究中使用的样本并不能充分代表整个总体,那么研究的结论就可能偏离真实情况。特别地,如果将对撞子作为划分样本的变量,就可能导致得到相关关系和真正的因果关系不一致。此处,对撞子指的是原因变量和结果变量共同的结果。

举个例子,我们想研究饮食健康和作息规律程度之间的因果关系。如果选择健康人群,两个变量相对比较均衡,可能会没有显著的因果关系;但如果选择患病人群,那么可能会发现,如果饮食健康,那么作息就不规律;如果作息规律,那么饮食就不健康,即两个变量间存在负相关关系。这种情况下,选择不同的人群,便得到了不同的相关关系,但真正的因果关系只有一个,由此可能导致了相关关系和因果关系的不一致。

另一种导致相关关系和因果关系不对等的情况稍微复杂:夹杂了混杂因子。混杂因子指的是既影响原因变量也影响结果变量的变量。举个例子,我们想研究作息规律程度与肠胃疾病患病率之间的相关关系和因果关系。样本的散点图如下图黑色圆点所示。

从整体的相关关系来看,患病率和作息规律程度是呈明显的正相关关系(红色箭头),但是如果我们直接给出“作息规律程度的提升会导致患病率提升”的因果关系结论,显然是和我们的常识相悖的。这就是因果推断中辛普森悖论的一个实例。

出现该悖论的原因是存在混杂因子:年龄。一方面,年龄越大,人们越重视作息,规律性越强;另一方面,年龄越大,身体机能越差,患病率也会提升。

这种情况下,如果想探查出真正的因果关系,就需要去除混杂因子:将样本限定在同一个年龄段内。此时我们发现,无论在哪个年龄段,作息越规律,患病率都会越低(绿色箭头),因此可以得到结论:规律的作息有助于降低患病率。

3 因果推断方法

3.1 方法体系

既然不能直接用相关关系替代因果关系,那么就需要单独的方法去做因果推断。

我翻阅了一些书籍,感觉有本书针对因果推断的方法论体系的描述很容易让人理解:《因果推断:原理解析与应用实践》。

本节将参考该书中使用的因果推断方法体系,来描述因果推断的各类方法,并增加一些实例来加深对这些方法的认知和理解,具体如下图所示。

(1)试验场景:完全随机对照试验中,没有混杂因子也没有样本选择偏差,此时设置实验组的原因变量 X = 1 X=1 X=1,对照组 X = 0 X=0 X=0,再计算实验组和对照组的结果变量之差,就可以得到uplift值,它是量化因果关系的黄金标准;类随机对照试验中,会将试验数据通过差分、组合等方式将原始数据还原成完全随机对照试验的情况。

(2)非实验场景:潜在结果模型中,不需要再做试验,而是根据已经观测到的数据通过一些计算直接得到uplift,是一种可以得到因果关系结论的理想模式;结构因果模型中,使用有向图来建模变量间的因果关系。

3.2 方法理解

完全随机对照试验,很容易理解,不需要赘述;类随机对照试验中的双重差分法,我此前已经写过两篇文章,双重差分法(DID):算法策略效果评估的利器和双重差分法:标准化流程和stata代码实现,其他方法后面学习的时候再详细介绍。

潜在因果模型可以用下表来理解。针对特定用户,我们实际上只能观察到其中一条数据,但要计算uplift值,就必须同时知道两条数据。在潜在因果模型中,会使用机器学习的方法,把未观测到的另一条数据给预测出来。至于如何让预测的结果可靠,后面学习的时候再详述(关于机器学习的原理,可以参考:运筹视角下,体系化学习机器学习算法原理的实践和总结)。

用户有广告时的商品转化率无广告时的商品转化率uplift
11%1-?
21.5%?-1.5%

关于结构因果模型的理解,我们也举个实例。下表是一个关于新药物是否可以降低心脏病发作的实验数据,其中分子是心脏病不发作的数量,分母是对应组别下的总人数。限定性别时,我们发现服药组不发作的概率均高于对照组;不管性别直接看总数时,我们却发现服药组不发作的概率低于对照组。事实上,这还是个辛普森悖论的实例。

服药组未服药组
男性81/87=0.93234/270=0.87
女性192/263=0.7355/80=0.69
总数273/350=0.78289/350=0.83

为了确定新药物是否可以降低心脏病发作,结构因果模型的推演过程包含三步:关联、干预和反事实推断。

第一步,关联:从原表可以看出,心脏病发作的概率同时受性别和是否服用药物影响,是否服用药物也受性别影响,所以因果图如左下图所示(干预前)。此处,节点通过有向边连接到一个或多个与其有因果关系的其他节点,有向边则反映了因果关系的方向。

第二步,干预:我们让所有人都服用药物 X = 1 X=1 X=1,以及所有人都不服用药物 X = 0 X=0 X=0。此时,性别已经不再影响是否服用药物,所以因果图变成右上图(干预后)。

第三步,反事实推断:分别计算两种干预情况下,心脏病不发作的概率。
P ( Y = 1 ∣ X = 1 ) = P ( Y = 1 ∣ X = 1 , Z = 1 ) P ( Z = 1 ) + P ( Y = 1 ∣ X = 1 , Z = 0 ) P ( Z = 0 ) = 0.93 × 87 + 270 87 + 270 + 263 + 80 + 0.73 × 263 + 80 87 + 270 + 263 + 80 = 0.83 P(Y=1|X=1)=P(Y=1|X=1, Z=1)P(Z=1)+P(Y=1|X=1, Z=0)P(Z=0)=0.93\times\frac{87+270}{87+270+263+80}+0.73\times\frac{263+80}{87+270+263+80}=0.83 P(Y=1∣X=1)=P(Y=1∣X=1,Z=1)P(Z=1)+P(Y=1∣X=1,Z=0)P(Z=0)=0.93×87+270+263+8087+270+0.73×87+270+263+80263+80=0.83
P ( Y = 1 ∣ X = 0 ) = P ( Y = 1 ∣ X = 0 , Z = 1 ) P ( Z = 1 ) + P ( Y = 1 ∣ X = 0 , Z = 0 ) P ( Z = 0 ) = 0.87 × 87 + 270 87 + 270 + 263 + 80 + 0.69 × 263 + 80 87 + 270 + 263 + 80 = 0.78 P(Y=1|X=0)=P(Y=1|X=0, Z=1)P(Z=1)+P(Y=1|X=0, Z=0)P(Z=0)=0.87\times\frac{87+270}{87+270+263+80}+0.69\times\frac{263+80}{87+270+263+80}=0.78 P(Y=1∣X=0)=P(Y=1∣X=0,Z=1)P(Z=1)+P(Y=1∣X=0,Z=0)P(Z=0)=0.87×87+270+263+8087+270+0.69×87+270+263+80263+80=0.78
上述两式是基于全概率公式推导出来的,它能用在此处的原因是:在干预后,性别和是否服用药物之间是相互独立的。细节原理不清楚没关系,后面详细学习的时候应该还会再说,此处有个大致印象就行。

由于 P ( Y = 1 ∣ X = 1 ) P(Y=1|X=1) P(Y=1∣X=1)大于 P ( Y = 1 ∣ X = 0 ) P(Y=1|X=0) P(Y=1∣X=0),所以可以得到结论:新药物有利于提升心脏病不发作的概率。

4 运筹从业者也需要因果推断

关于因果推断的入门内容,到这里其实已经结束了。

但,作为运筹优化方向的算法工程师,为什么要学习因果推断,还是没有充分阐述。

接下来我们将通过一个行业实践的案例:DiDi Food中的智能补贴实战漫谈,来讲解因果推断是如何与运筹优化相结合来解决业务问题的。

4.1 问题描述

这个案例的基本背景是:业务方DiDi Food是一个外卖平台,它们希望通过对用户做差异化定价,提升某些指标。

针对任意一件商品,用户看到的最终价格 P P P通过下述公式计算得到
P = P i + P d − S c P=P_i+P_d-S_c P=Pi+PdSc

其中, P i P_i Pi为菜品标价(商品侧), P d P_d Pd为配送费(骑手侧), S c S_c Sc为C端补贴(用户侧)。

作为一个平台,DiDi Food很难拥有菜品价格的定价权,在设置配送费时也会尽量不使用用户维度的特征,以避免出现大数据杀熟的现象,所以最终确定以 S c S_c Sc为主要抓手,通过给不同用户发放不同类型的补贴,动态调整 P P P值,目标是最大化如下指标
R O I = 指标 Y 干预 − 指标 Y 不干预 补 贴 干预 − 补 贴 不干预 ROI=\frac{指标Y_{干预}-指标Y_{不干预}}{补贴_{干预}-补贴_{不干预}} ROI=干预不干预指标Y干预指标Y不干预
R O I ROI ROI可以理解为单位补贴成本带来的指标 Y Y Y的增量收益,所以该值越大越好。

4.2 算法方案

针对以上问题,算法方案包括两个步骤:(1)分析用户对补贴的敏感性并进行量化;(2)基于量化的敏感度值和业务约束,做补贴的最佳分配。

先看第一步。一般来说,可以定性的把用户分为如下四种:(1)自然转化:有没有补贴都会下单;(2)补贴敏感:没有补贴就不下单,有补贴才会下单;(3)反作用:没有补贴时会下单,有补贴反而不会下单;(4)无动于衷:有没有补贴都不会下单。

基于最朴素的认知也很容易得到如下结论:如果要最大化 R O I ROI ROI,应该把补贴发放给补贴敏感的用户,其他用户就不用补贴了。

不过,即使都是补贴敏感的用户,他们对补贴敏感的程度也是有差异的。为了对这些人群也做区分,我们就需要量化用户对补贴的敏感度uplift。下表给出了一些实例。

用户无补贴下单概率有补贴下单概率uplift备注
1000无动于衷
20.50.550.05补贴敏感度次之
30.50.4-0.1反作用
40.20.20自然转化
500.50.5补贴最敏感

然后再看第二步。假设目前有10个用户,有3种补贴券,分别都有1张。那么针对每种补贴券,每个用户都会有一个对应的uplift。此时的问题可以转化为:如何为每个用户分配一种补贴券,从而最大化总的uplift值。

这是个标准的整数规划问题,可以建模如下
max ⁡ ∑ i = 1 10 ∑ j = 1 3 x i j ⋅ u i j s.t ∑ i = 1 10 x i j = 1 , j = 1 , 2 , 3 ∑ i = 1 10 ∑ j = 1 3 x i j ⋅ w j ≤ W x i j ∈ { 0 , 1 } \max \quad \sum_{i=1}^{10}\sum_{j=1}^3 x_{ij}·u_{ij} \\ \text{s.t} \quad \sum_{i=1}^{10}x_{ij}=1, j=1,2,3 \\ \sum_{i=1}^{10}\sum_{j=1}^3 x_{ij}·w_j ≤W \\ x_{ij}\in \{0,1\} maxi=110j=13xijuijs.ti=110xij=1,j=1,2,3i=110j=13xijwjWxij{0,1}
此处, x i j x_{ij} xij表示是否对用户 i i i发放第 j j j种补贴券,值为1时表示发放,值为0时表示不发放; u i j u_{ij} uij表示用户 i i i对第 j j j种补贴券的uplift; w j w_j wj表示第 j j j种券的补贴金额; W W W表示允许的最大补贴额。

4.3 算法验证

假设线上正在运行的是基于人工经验设计的补贴方案B,我们也开发完成了上述的算法方案A。目前需要验证A是否显著优于B,如果是,后续便可以替换B为A。

验证的方法是做线上实验:选取3组几乎相同的人群,分别定义为:实验组、对照组和空白组,它们使用的补贴方案分别为:A、B和无补贴。

经过一段时间的实验后,回收三组对应的指标 Y Y Y及其对应的补贴金额,便可以通过计算和对比实验组的 R O I ROI ROI和对照组的 R O I ROI ROI值,得到A是否显著优于B的结论。

从前文的描述可以看出,算法方案中的第二个步骤属于运筹优化内容,而算法方案中的第一个步骤和算法验证模块均属于因果推断的内容。所以,在实际工作中如果想要解决好这类业务问题,很难避开因果推断。

5 总结

本文稍微有些长,最后再总结一下:

(1)相关关系不等于因果关系,出现不对等的原因可能是:样本有选择性偏差、有混杂因子;相关关系使用Pearson相关系数去量化,因果关系使用uplift去量化。

(2)因果推断的方法分为两大类:试验场景和非试验场景,试验场景中包含完全随机对照试验和类随机对照试验;非试验场景分为潜在因果模型和结构因果模型。

(3)运筹从业者也需要因果推断。

6 相关阅读

赵永贺等编著.因果推断:原理解析与应用实践[M], 北京: 电子工业出版社, 2023:https://weread.qq.com/web/bookDetail/813326f0813ab873fg015d1a

因果推断(一):因果推断两大框架及因果效应:https://zhuanlan.zhihu.com/p/652174282

DiDi Food中的智能补贴实战漫谈:https://mp.weixin.qq.com/s/WU1iILMFdH3RZAbJKFU4WA

皮尔逊相关系数的几何理解:https://oychao.github.io/2016/05/18/statistics/03_pearsons_r/

因果推理初探(4)——干预:https://zhuanlan.zhihu.com/p/111340526

动手学因果推断】(二):潜在因果框架:https://blog.csdn.net/weixin_45052363/article/details/129842753

这篇关于运筹从业者也需要的因果推断入门:基础概念解析和体系化方法理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795919

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测