2010年12月29日星期三

评估在线广告的效果

很久以前看到这样一篇论文
Evaluating Online Ad Campaigns in a Pipeline: Causal Models At Scale
一直想看进去却没有整块时间。
终于在今年年底开年会的时候,在密云的一个安静的角落里看进去了。趁着还有点印象,写篇Blog。

假设广告商在网上投放广告的目的是提升品牌影响力,就像医院给病人用药的目的是让病人缓解病症。
证明广告有效,就像证明药品有效一样,需要"临床"数据。

考虑这样一个实验:
你有100个胃炎病人,程度不一,生死掌握在你手上。你有一种新药,随机给其中50个人吃,结果这些大多数都活了,剩下的50个人差不多都死了。于是你说,斯达舒,管用。

一个怀疑的声音说:人活并非因为药有效,而是因为心理作用:医院给我吃药,我有救了。
为此改进的实验:给不吃新药的人吃安慰剂:一种外观和新药相同的胶囊。

类比到此结束,你不能给targeting中的用户看一个没有任何品牌符号的广告(吃安慰剂),因为没有广告商愿意为了你的对照组而浪费Inventory。
更糟糕的是,你不能随便找一个没看过此广告的用户当作对照,因为有可能他压根儿就屏蔽了所有广告(好吧,我承认屏蔽视频广告不那么容易)。
所以,对照组的用户必须要看过其他广告才行,以表明他没有屏蔽广告。

即便如此,也还不够。另外一个不能类比的地方在于,吃什么药,是医院说了算,被实验的病人没有选择,吃完药病症如何自己也左右不了,生理现象。而看广告不一样,决定要不要看广告的是用户,决定看完广告去干什么的还是用户。你除了观测、分析,能控制的很少。文章中,选了15k个看了给定广告的用户,只统计他们在看这个广告之前的行为,同时选了70k个没看这个广告的用户,发现:前一组用户访问该品牌网站的次数的中位数,是后一组
用户访问该品牌网站的次数的中位数的4倍多。
如果因果联系必须是先行后继的,那么这样两组用户不能互相对照,因为他们活跃程度不同,至少在看广告之前就对此品牌的兴趣度不同。

有两个方案:
接受拒绝:扔掉对照组中的一部分不活跃用户,使得剩下的用户的活跃度和考察组在看广告之前的活跃度相同。实验发现,这样很可能失败因为对照组的用户太不活跃了,以致于几乎都被拒绝了。
调权重:通过简单乘上概率的倒数来降低对照组中不活跃用户的权重。虽然是无偏的,但是方差很大,以致于通常也不可用。
文章给出了一个鲁棒的估计,在调权重上花了很大功夫,也是最有趣的部分。实验结果发现,其实广告效果不是那么明显,想观测出来都难,更甭提评估了。也许这才体现了这篇文章的价值。

这种Research只有Google这样的公司能做,因为它有很多Tool Bar安装的用户,可以采集用户的很多行为数据。
我的怀疑:安装Google Tool Bar,是否能假设等同于全体用户的集体偏好?这恐怕是一个难以检验的假设。

没有评论: