Uplift:Partial observation modeling

场景:

数字营销,广告行业。在互联网领域,流量变现一直都是很多产品非常大的一个利润来源。因为很多传统领域(甚至一些转型的领域,如电商)在互联网环境下,一个重大的开支都是营销支出,这些支出中其中一个重要分支说到底,就是流量成本。


目标分析:

  • 而衡量我们收益,的一般是传统意义上的ROI(在预算有限的环境下,提升ROI也是直接提升转化量),比较典型的例如RTB广告,其一直是效果广告的首选,一般比较适用于从外部流量投放,去拉取新用户的状态,对于这种需求,其实传统的点击,转化模型是比较合适的。ROI=点击(转化)收益/竞价成本。*
  • 但是对于自有用户,流量很多,复购率很高的一些电商来说,ROI中收益的计算,并不是严格意义上直接归因的收益。因为对于一些用户,可能你不营销,他们也能转化。实际上:
    Revenue = (p(act | treatment) - p(act | no_treatment)) * act_value

核心难点1:Partial Observation

  • 这个问题,有个最核心的难点,就是对于同一用户,我们要么知道其在treatment下的label,要么知道其在no treatment下的label【无法同时得到他们的ground truth,我在这里定义为partial observation】。我们无法知道其在两种状态下的ground truth,所以直觉上不好直接地建模。
    要解决它,一个比较明确的方案就是,依靠模型的泛化性来解决。虽然不是同一个用户,但是对“同一类”用户,我们是有可能得到他们两种状态下的label的。这里需要用到条件独立的假设,即随机分AB组,并对其中一组做treatment,另一组不做。则能得到无偏数据(特征独立于treatment)。

核心难点2:无法完全无偏

  • 很多情况下,要优化最终收益,ROI灯,我们需要使用p(y|do(x))来进行估计,以得到:
    Revenue = p(y|u, do x=1) - p(y|u, do x =0)
    由此来决策。但是由于很多时候我们无法获得完全无偏的数据(我们不可能每次都进行大规模的随机实验),因此,由于Confounder的存在,p(y|x,u) \neq p(y|u, do(x)),所以,我们需要小心地做进行Debias
    *TODO

理解到上述问题后,我们的任务就是对问题进行建模。那么现在其实有多种建模的思路:


建模思路:

conceptional 2x2 Matrix:[2] 先通过这个图,理解一下我们知道的,我们想知道的:


image.png
  • 1、在两个样本集上做两个模型。一个是“treatment下的转化”另一个就是“没有treatment的转化”,在推断的时候,使用两个模型的差值来做为最终预估。不过由于是两个模型,可能最终的累积误差会比较大。

  • 2、类似地可以只使用同一个模型,将有无treatment作为特征输入。最终预估仍然是两次预估取差值。不过和方法1比较类似,相当于共享了更多的参数,样本更多(两倍),训练更充分,累积误差会小一点(但是实际上还是预估两次做差,累积误差扩大问题还是存在)。当然,这个模型也有很多可以优化的细节,比如做weighted loss,对Control NoneRespond与Treatment Respond部分加权(or不同权重),使其这部分预估得更精准一些。因为这部分是主要uplift的来源。

  • 3、根据上述权重优化的思路,其实也可以用别的一些目标建模。例如将CN与TR的label设为1,其他为0,相当于我们直接建模预估哪些是persuadable的【即这两部分比较有潜力】,然后对这部分用户提供treatment。参考[3]

  • 4、直接对revenue建模:
    可以参考论文[1],可以直接使用模型对使用怎样的treatment进行建模,直接计算与优化建模的期望收益。
    由于其实现的方法要对训练过程,loss等进行比较大的改造,所以成本较大。
    不像1中的方法,能比较好地兼容现有的训练推理体系。

  • PS:其实同理,这个模型也可以是多目标的。帮助我们在多个层次上对用户行为进行更精细的建模。


评估思路:

这里评估也因为partial observation,有一大难点,就是我们无法知道真正的uplift(用户在treatment与control两种状态下分别的ground truth我们只能观测到一种)。所以,我们的思路便是:以群体的视角来看待用户。,用在群体中的期望收益,来代替对个人的收益。(对于某一个人我们只能观测到T 或者C其中一种状态。而对于群体我们能通过随机策略,同时获得T与C组的观测结果,通过群体上的期望评估来代替个人)

  • 即:我们的目标虽然是评估ITE(Individual Treatment Effect),但是我们没法直接观测评估它,所以我们通过ATE(Average Treatment Effect),在群体上统计uplift来分析。

Qini Curve

QINI = TR - [(CR*T)/C];QINI = (TR/T) - (CR/C)【这是归一化的后的百分比QINI】


qini curve

这个非常好理解x轴为人数,y轴为累积收益:

  • x轴即为分数从高到底逆序的分位点。(例如有10个点,即top10%,top20%..)
  • y轴为这些样本中,累积的收益(例如正样本数量),

图中线段:

  • 1、baseline是一根直线(假设用户随机,均匀分布,则每个分组中转化数量=分组人数*整体期望差【Treatment转化概率- Control转化概率】),右方最高点即为总的转化差值。
  • 2、蓝色为模型的线,对于我们的模型来说,按照模型预估的uplift分数(在差分模型中就是u(x) = p(x| t=1)-p(x | t=0))来对用户排序(包含T组与C组【treatment,control】),然后再在分组的用户中计算转化的数量增益:
    Treatment转化数量 - Control转化数量(注意,横坐标必须保证每组人数数量是一致的【或者比例固定】,对应的baseline才能画出一条直线。也正式因为T组与C组人数比例是固定的,所以期望的uplift收益=期望转化人数*T/(T+C),由于T/(T+C)是固定的,所以这个对应的baseline才能成为直线)
    PS1:由于我们先决假设特征X与是否使用T是条件独立的,所以理论上,在同一个Uplift分数段中,T组与C组的人数应该是一样的。
    PS2:理论上如果模型有效,应该能将“提升大的用户”分在前面,所以真实提升应该更向左上方集中。

AUUC

变量假设参考论文[4]
我们可以用类似auc的方式计算:


image.png

Qini coefficient

类似地,也是参考qini curve:

image.png

这里NT,NC标示T组的人数,C组的人数。这里便是将其scale到同一个人数标准下。
RT(k)=kE(Y|t=T),即分为点数量每组期望数量转化数量

Refer:
[1]:Uplift Modeling with Multiple Treatments and General Response Types
[2]:https://www.kaggle.com/davinwijaya/uplift-modeling-qini-curve-with-python
[3]:The Class variable transformation (CVT) Model(Jaskowski und Jaroszewicz, 2012) and Lai´s Weighted Uplift Method (LWUM) (Kane, Lo und Zheng, 2014)
[4]:A Large Scale Benchmark for Uplift Modeling
https://zhuanlan.zhihu.com/p/100821498
https://blog.csdn.net/jxq0816/article/details/105100834/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352