大家好,又见面了,我是你们的朋友全栈君。
1. 合成控制法
合成控制法最开始是经济学家用来研究评估某个政策实施在某国家或地区的效果,原理即是反事实框架,假想该地区没有受政策干预会怎样,并与事实上受到干预的结果做对比。二者之差即为“处理效应”。这里D为干预变量,X为解释变量,Y为被解释变量。因此合成控制法需要估计处理效应ATT:
那么如何求解未受政策干预的结果呢?常用的解决方法就是寻找适当的控制组,即从其他相似的地区来组合成一个新的地区,新地区和实际受干预的地区一致。比如,要评估仅在A市实施的某政策效果,用其他城市(B市、C市、D市)进行适当的线性组合构成A市的控制组,即合成的A市 ,最后比较这个合成的A市和真实的A市在某一结果指标上的差别。
作为因果推断方法之一,合成控制法的特点主要是原理简单、并且结果合理有说服力,可视化强。
2. 策略实施效果评估
比如某一业务线一直用户规模稳健上升,为实现快速用户增长,在经费有限的情况下,运营方决定尝试在2019年10月北京这一地区投放某一广告持续一个月,如果效果显著,再统一推广到全国各地。那么这里如何评估效果?这一广告是否需要推广到全国?像这样的场景又无法使用AB testing等实验方法,那么从数据驱动运营的角度分析,观察研究比较适用于该场景分析,这里选用合成控制法,该方法能更好地将结果可视化为运营人员呈现。假设该业务的销售情况基本不随季节有较大变动。
数据集说明:
-
time:时间变量,年月
-
area:地区
-
age15to24:年龄在15到24岁的用户比例
-
male:男性用户比例
-
tenant:租房用户比例
-
income:人均收入
-
sale_amount:人均购买量
-
user_amount:用户渗透率
合成控制法的流程:
-
确定结果变量,这里以用户渗透率为预测变量
-
确定预测变量,这里包括age15to24(年龄在15到24岁的用户比例,年轻人为用户目标对象)、male(男性用户比例,男性为目标用户)、tenant(租房用户比例,租房者为目标用户)、income(人均收入)、sale_amount(人均产品购买量)
-
确定用于合成对照组的个体,这里将其他城市作为合成对照组的个体
-
确定权重,通常算法是最小化预测均方误差
-
检验拟合,即干预前一段时间内控制组和干预组因变量是否接近
-
检验安慰剂效应
-
检验稳健性
分析结果:
通过合成控制法分析结果发现,用于拟合北京市的城市由上海市、重庆市和广东省组成,权重占比分别为0.54,0.32和0.14。其余城市权重为0。进一步考察北京市与合成北京市的预测变量是否接近。
表1 预测变量均值比较
变量 | 北京市 | 合成北京市 |
age15to24 | 0.207 | 0.191 |
male | 0.502 | 0.511 |
tenant | 0.445 | 0.432 |
income | 0.661 | 0.661 |
sale_amount | 0.428 | 0.427 |
在表1中,比较了实际的北京市和合成的北京市的预测变量均十分接近,故合成北京市可以很好地复制北京市的市场特征。然后比较二者的结果变量上的差异:
图1 合成控制法分析结果
上图显示了北京市和合成北京市在2019年1月-2020年3月期间的用户渗透率。高程度的拟合表明,在广告实施之前,合成北京市的用户渗透率与真实北京市几乎重合,表明合成北京市可以很好地作为北京市的反事实替身。上图表明广告实施对用户渗透率有很大影响,这种效应随着时间的推移而增强。我们的结果表明,对于整个2019年10月到2020年3月期间的用户渗透率提高了近20%,但对比自然增长效果,广告带来的用户渗透率幅度不大,比如在2020年1月提高了近3.6%。广告所带来的用户增长只占18%(3.6%/20%),单从数据层面的来看,效果并不明显,因此不建议推广。
3. 学习资料
PPT推荐:合成控制法(Synthetic Control Method)(附PPT免费公开)
视频资料:合成控制法视频资源(一)
点击“在看”可收藏随时查看↘↘↘
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134588.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...