双重差分法(DID)

假设我们有一个广告方案P,没有经过ABTest直接在在一些城市放量了,怎么来判断这个广告的有效性(gmv)呢?能不能直接比较投放广告的城市和没有投放广告的城市之间gmv的差值呢
Δgmv=avg(广gmv)avg(广gmv)\Delta_{gmv}=avg(投放广告城市的gmv)-avg(没有投放广告城市的gmv)

这样可以得到两类城市之间gmv的差值。这样其实有个问题,万一投放活动的城市本身gmv就高呢?比如北京和杭州,两者之间存在天然的差别,直接这么比较肯定不合理。因此我们就想能不能观察两期,第一期是没有投放活动之前,第二期是投放活动之后

杭州(未投放) 北京(投放) 组间差异
投放活动前 1 5 4
投放活动后 2.5 5.5 3
组内变化 1.5 0.5 -1

这里可以看到对于没有投放广告的杭州,他的一个自然变化是上涨了1.5,但是对于投放广告的北京,反而只上涨了0.5,这个一个不幸的消息,广告反而抑制了gmv的增长双重差分法(DID)
是不是感觉很奇怪,苦思冥想的策略怎么就没有效果呢?真的是这个样子吗?其实不然,北京的gmv已经非常高了,要想再提高非常的困难,反观杭州,gmv的起点非常底,上涨的空间很大,即使什么都不做gmv都上涨了很高。所以在这样的对比是非常的不合理的。(想一想,同样可以找到很多自然上涨不如北京的城市,比如自身就是搞gmv的上海市)。这里最关键的一点是,北京和杭州的自然上涨趋势是不一致的

双重差分法(DID)
假设咱们有一个平行世界,在咱们的世界中,北京投放了广告,平行世界中没有投放广告,可以看到,红色的线是北京自然增长的,咱们的活动是有效的。也可以看到北京和杭州的自然增长趋势非常的不同。
所以这就要求咱们在做对比的时候,选择的对照组一定要跟实验组有相同的增长趋势,怎么找到这样的城市呢?可以通过聚类或者一些其他的规则。比如都有较高的gmv,城市体量差不多,运营时间相差不多等等,通过这些特征我们可以把一些城市给聚集起来,认为他们是一类,未来有相同的增长趋势。
上面依然不是正常的AA测试,为什么这么说呢?假如咱们找到了上海,深圳,广州这三个城市跟北京是相似的。并且这三个城市都没有进行投放,再假设上海增幅是0.1,深圳增幅是0.15,广州增幅是0.2,如果选择了上海,广告的增益就是0.4(0.5-01),深圳是0.35,广州是0.3,为了证明广告的效果好,我肯定直接选择跟上海对比,这就很值得品味了。

DID数学公式

我们假设Pi=1表示在这个城市投放了广告,Pi=0表示没有投放广告。
Δ=E(YPi=1)E(YPi=0)\Delta=E(Y|Pi=1)-E(Y|Pi=0)

P=0 P=1 组间差异
T=0T=0 α\alpha α+γ\alpha + \gamma γ\gamma
T=1T=1 α+β\alpha+\beta α+β+γ+δ\alpha + \beta + \gamma + \delta γ+δ\gamma + \delta
组内变化 β\beta β+δ\beta+\delta δ\delta

Yit=αPi+βT+γ(PiT)+δitY_{it}=\alpha P_i+\beta T + \gamma (P_i * T)+\delta_{it}