01 前言
- 场景一:banner位要进行大促活动,但距离活动上线时间较短,如果要做AB实验需要产研定制化开发,拿不到产研排期资源的情况下,运营往往会对全量用户进行活动运营。事后要评估该大促活动的投入产出时,就没有严格的实验组和对照组进行对比,如果直接参加活动用户作为实验组、用大盘未参加大促活动用户作为对照组,那么实验组和对照组本身就是存在很大差异的(参与大促活动的一般更加活跃且对补贴敏感),在这种情况下该怎么进行评估才能得到更加合理的结论呢?
- 场景二:某直播平台上线了一个直播间的新功能,并进行了AB实验,其中实验组能看到新功能,对照组看不到新功能。但是事后评估时发现,实验组中虽然都能看到新功能且点击使用该功能的用户数据表现都很好,但是点击使用该新功能的用户渗透率很低,如果直接用AB实验的实验组和对照组相比较,那么不能得到显著性的结论。那么直播间的这个新功能真的就没有效果的吗?
02 PSM方法简介
为了解决如上两个场景的营销活动效率评估,常常会根据实际情况matching一个对照组,倾向评分匹配(Propensity Score Matching,简称PSM)是matching的方法之一,使得实验组和对照组进行更合理的比较。
PSM这种方法一般用于医学、公共卫生、经济学等领域。比如研究问题是吸烟对于大众健康的影响,如果要进行随机对照实验,招收大量实验用户,然后随机分配到吸烟组和不吸烟组,这种实验设计不太容易实现,也并不符合科研伦理。
这种情况下观察研究是最合适的研究方法,但是面对最容易获得的观察研究数据,如果不加调整,很容易获得错误的结论,比如拿吸烟组健康状况最好的一些人和不吸烟组健康状况最不好的一些人作对比,得出吸烟对于健康并无负面影响的结论。
从统计学角度分析原因,这是因为观察研究并未采用随机分组的方法,无法基于大数定理的作用,在实验组和对照组之间削弱混杂变量的影响,很容易产生系统性的偏差。PSM就是用来解决这个问题,消除组别之间的干扰因素。
PSM的定义很直观,是一个用户属于实验组的 “倾向性”。具有不同特征的用户被干预的概率应该相等。理论上,如果我们对每一个实验组用户都在对照组里匹配一个得分相等的用户,我们就能得到同质的实验组和对照组,就可以假装做了一个 A/B 实验了,接着就可以随意地进行组间比较。
在实际工作中,通过多期的观测验证PSM方法较为适用于某些营销场景,那么可以将PSM模型产品化。运营同学无须每次提需求到算法侧,只需要通过简单的输入就能获得最终结果。
1)输入
确定样本集是PSM中最为重要的一个环节,包含确定实验组用户和对照组用户。实验组用户一般选取策略触达的用户或者是真实体验到核心策略的用户,具体根据营销活动特点来定义,而对照组则是给到一个范围,通过建模从给到的对照组范围中筛选用户特征和实验组相似的用户作为真实的对照组。
一般对照组的圈选范围最好是有活动参与的倾向性但是并没有参与的用户,比如说是同样有某个活动页的曝光,体验活动的用户为实验组,有曝光但是未体验该活动的用户则为圈选的对照组范围。
2)PSM建模
- 首先要进行倾向性得分估算:这一步直接就是建模问题,自变量为用户特征变量,按需做一下特征预处理,套用LR或者其他更复杂的模型,如LR + LightGBM等模型估算倾向性得分。
- 其次进行倾向性得分匹配:在有了每个用户的倾向性得分的基础上,针对目前的实验组用户,匹配得到一个近乎于同质的对照组。当用户量足够时候,一个简单做法是进行一对一无放回匹配:对于每一个实验组用户,我们去对照组里找一个倾向性得分最近的用户,把他们配成一对。匹配过程中,可以限制一下配对用户的得分差异不能超过某一个阈值,配不上就放弃,以防把 “太不相似” 的用户匹配在一起。
- 模型输出及评价:模型的输出包含了实验用户、构建的与之匹配的对照组用户、倾向性得分,评价指标包含模型在训练集上的AUC(越高说明倾向性建模越准确,一般AUC≥0.85则认为效果较好)、各个特征维度的匹配关系值(值越高说明这个特征维度的匹配关系越好)。
3)效果计算
通过PSM构建出与实验组用户特征类似的对照组,那么效果计算的逻辑就和AB实验的计算逻辑类似了。
03 PSM方法实操
以上面提到的场景一作为案例,对没有进行AB实验的营销活动进行效果分析。
确定样本集范围
- 实验组:点击进入大促活动页面并领取到红包的用户A1,导出uesr_id明细作为PSM实验组输入,假设用户数为10,000
- 对照组范围:有大促页面曝光但是未领取红包用户B1,导出uesr_id明细作为PSM对照组圈选范围输入,假设用户数为50,000
PSM建模
从对照组范围B1中通过PSM建模构建出用户特征和A1相似的用户B2,一个实验组用户找到一个特征相似的对照组用户,所以B2的用户数也为10,000。模型的AUC=0.89,且其他特征匹配值较好。
结果计算
- 可靠性:AUC>0.85,模型效果较好,匹配结果可以参考。
- 活动补贴效率计算:实验组A1样本量10,000,贡献的总的GMV为500,000元,总投入成本是50,000元;PSM构建的对照组B2样本量10,000,贡献的总的GMV为300,000元,总投入成本是25,000元。最终计算该大促活动的投入产出比为ΔGMV/Δ成本=(500,000-300,000)/(50,000-25,000)=8,那么我们就可以得出该大促活动的投入产出比是8,即1元投入带来8元的GMV。
04 后记
PSM不是适用于所有的营销场景,一般来说适用于样本量足够、实验效果较为显著且倾向性建模较为可靠的场景,有些场景下难以定义对照组的范围,这个时候如果用全量用户(排除实验组用户)作为对照组的圈选范围,那么最终的误差可能较大。
因此建议在能做AB实验的情况最好还是进行AB实验,在真的无法做AB的情况下再考虑PSM,同时PSM可以结合DID+用户分群提高准确性。
本文由@一个数据人的自留地原创,运营喵专栏作者。