背景
智能营销场景
智能营销是互联网平台精细化运营的一种方式,其往往希望在保证用户优惠的前提下,实现特定目标。以网约车平台为例,由于不同场景的供给与需求差异巨大,在部分场景并不适合发放补贴,因此挖掘出有增量的场景是解决问题的核心。对于“满足补贴率约束&最大化GMV”的问题,其可以被建模为:
此时,衡量钱效的指标为投资回报率ROI(Return on Investment),计算公式为ΔGMV/ΔCost(其中“Δ”指实验组对比空白组的绝对值增量)。
该类问题的特点:
基于场景粒度进行折扣决策。
以最大化GMV或完单为目标,以补贴率为约束。
是多折扣下的折扣决策问题(multi-treatment)。
Uplift模型
智能营销场景离不开对uplift(增量)的建模,其定义为:
与常规的 response model 相比,uplift model 需要在不同 treatment 下对 label(或label之间的差值)进行预估。由于观测数据中仅能观测到其中一种,因此反事实预估是uplift model的重点。
在因果推断中,反事实推理(Counterfactual Reasoning)是一个核心概念。反事实问题通常涉及对已经发生事件的假设性不同情况的探讨,即“如果某些条件与实际发生的有所不同,结果会怎样”。
Uplift模型评估指标
关于uplift model的评估指标,Radcliffe提出以Boldness(衡量模型的区分能力,即序准指标)和Accurate(衡量模型的准确性,即偏差指标)作为参考。其中,序准主要影响钱效,而偏差主要影响预算执行,大部分场景下二者并不冲突,而业界使用时更关注序准,即希望对所有样本uplift大小的排序准确。
与uplift建模的难点类似,由于无法获取所有treatment下的真实label(即存在反事实问题),常见机器学习评估指标都不太适用。目前的大部分解法是基于RCT(Randomized Controlled Trial)数据的分组ATE(Average Treatment Effect)近似代替ITE(Individual Treatment Effect),并进行累计收益的评估[1]。
Uplift Curve与AUUC
在Treatment仅有0、1两种取值时,Uplift Curve的绘制流程:
Step1:模型对RCT数据进行预测,然后把样本按预估的 ITE 降序排序。
Step2:取ITE topK样本,以k为横轴,f(k)为纵轴,画出Uplift Curve。其中f(k)的公式为:
在横纵轴归一化后,AUUC被定义为Uplift Curve与随机线差的积分(Uplift Curve与随机线围成的面积)。
Qini Curve与Qini系数
当topK样本中,treatment组和control组的样本数量相差比较大的时候,Uplift Curve的计算会存在问题。为此 Radcliffe 提出 Qini curve,对control组的缩放至treatment组的样本规模上。Qini Curve的绘制流程:
Step1:模型对RCT(Randomized Controlled Trial)数据进行预测,然后把样本按预估的 ITE 降序排序。
Step2:取ITE topK样本,以k为横轴,g(k)为纵轴,画出Qini Curve。其中g(k)的公式为:
在横纵轴归一化后,Qini系数被定义为Qini Curve与随机线之差的积分(Qini Curve与随机线围成的面积)。
因为Qini Curve可以处理treatment组和control组样本数量差异大的情况,更具有稳定性,所以Qini系数会比AUUC更实用。
AUUC & Qini系数的局限性
AUUC和Qini系数评估的是所有样本的Uplift Score的序准。但实际应用当中,由于预算有限,往往只能覆盖Uplift Score排序的头部。以下是一个头部排序差于随机线,但总体的Qini Score优于随机线的例子:
Dini系数
针对AUUC和Qini的缺陷,团队于21年底对Qini系数进行了改进,将头部的排序准确性结果加大权重。
Dini系数的局限性
Dini系数虽然解决了Qini与AUUC的问题,但仍具有局限性:无论是Qini、AUUC还是Dini,都是根据Uplift Score排序,并不完全等价于“按照钱效(ROI)排序”。而对于智能营销场景,显然后者更为合理。以下例子可以充分说明Uplift Score不等价于ROI时产生的问题:
AUCC
大部分工业界场景中,treatment作用到不同样本上的成本不同,因此单纯考虑增量会忽略成本因素。基于此,Uber同时考虑了收益增量与成本增量,提出了AUCC(Area Under Cost Curve)指标[2],其思想主要为:
样本排序:同时考虑收益和成本,与业务评估指标拉齐,如:ROI。
X轴:累计成本增量。
Y轴:累计收益增量。
AUCC指标定义为模型曲线面积和随机线面积的比值,即(A+B)/B。AUCC基本解决了单treatment下的离在线评估不一致问题,且当营销场景为「发放立减金(而非折扣)+最大化完单」时,AUCC的绘制方式等价于Qini Curve的绘制方式。
AUCC的局限性
在实际落地时,大部分业务均存在多种折扣或券的发放形式(multi-treatment)。此时,常规做法是同时计算各treatment下的AUCC,然后对所有指标取均值,或基于在线折扣分布进行加权求和。但是单treatment内部的钱效排序准确,并不能保证多treatment场景下treatment与treatment之间的钱效排序准确。以下例子可以充分说明「样本间单折扣下排序准确,多折扣间排序不准确」的问题:
MT-AUCC
为解决上述介绍的multi-treatment场景中存在的问题,业界提出了MT-AUCC指标[3]。该指标与本文将介绍的RAS-AUCC在核心思想上高度一致,均通过对样本在各折扣下的边际ROI进行排序,实现理论上的离在线一致性(将在第二节展开介绍):
而在实际落地场景中,我们遇到过以下问题:
钱效不一定随着折扣的加深而递减(即函数不一定为凸)。
对于multi-treatment智能营销场景,线上常用的对照组为定折组(全场景发放统一折扣)而非随机组(随机场景发放最深档折扣)。
因此,我们希望提出一套满足以下诉求的评估指标:在无需额外假设的前提下,完全消除multi-treatment场景的离在线评估gap,同时大幅提升与各业务场景的适配程度(支持不同策略目标、支持指定补贴率、与定折组对比评估)。
RAS-AUCC
动机
上文提到,在大部分智能营销场景中,treatment并不是二元的,而是包含一系列折扣(如95折、9折、85折等)。当前的大部分指标只能基于单treatment进行评估,当需要多treatment评估时,无论是对单treatment评估结果进行加权求和,还是基于帕累托占优思想寻找更优模型,都无法抹平评估指标与业务收益之间的差距。
经过推导,我们发现,在多treatment智能营销场景的样本级别最优化决策中,最优策略本质即为:对所有样本各treatment的边际ROI进行排序,并基于预算约束确定策略覆盖范围。而上文所列举的各种评估指标,能举出反例的根本原因都是由于排序指标仍存在缺陷。因此,一个合理的改造思路便呼之欲出:完全沿用最优策略实际发放折扣的排序,对uplift模型的累计业务收益进行评估。此时,该评估指标可以达到理论的离在线完全一致。
思路
我们希望新指标能实现离在线评估方向一致的诉求,命名为RAS-AUCC(Area Under Cost Curve for Resource Allocation Simulation)。
样本排序
业界常见的智能营销策略可拆分为两部分:增量建模和运筹优化。若运筹优化采用的是样本级别的基于对偶优化思想的求解,则在不同的优化目标下,会推导出不同的决策公式:
若指标构造时也采取相同的排序方式,则可以在multi-treatment场景下与策略实际发放结果相同,拉齐离在线策略。
X轴
支持两种横轴:Cost、C补率
前者计算模型线与对照线围成的面积,用于评估在所有补贴率下的总体效果。
后者计算模型线对比对照线在指定C补率下的相对提升幅度,用于评估在指定补贴率下的效果。
Y轴
支持多种规模指标与钱效指标评估:呼叫数、完单数、GMV、ROI、完单ROI等。
除了评估主要目标,还可评估受策略影响的一系列观察指标。
其他改进点
对照线选取定折组(而非随机折扣组)。
更贴近线上常用baseline。
实现
数据
与上文提及指标相似,我们仍需使用RCT数据进行评估:
定折曲线绘制
绘制定折曲线时:
计算每个折扣组样本集的总花费与总规模指标增益。
每个折扣组样本集对应定折曲线中的一个点,根据X轴与Y轴指标确定每个点对应的横纵坐标(见下表)。
从原点出发,从左到右连线。
模型曲线绘制
绘制模型曲线时:
1.计算与排序
计算全样本集每条样本所有预估折扣下的模型预估cost和模型预估规模指标。
对于每条样本,仅保留「以预估Cost为横轴,以预估规模指标为纵轴」曲线的凸包络线上的预估折扣(使得评估指标的决策空间和业务的决策空间一致)。
对于每条样本所有被保留下来的预估折扣,对于非不打折的折扣,基于不同的最大化指标计算对应的排序指标:
对每条样本所有被保留下来的预估折扣所计算出的排序指标,从大到小进行排序。
2.在排序好的数列中选择多个截断点,每个截断点对应模型曲线中的一个点。截断点前的数据(比截断点排序指标大)中,相同样本若含不同预估折扣的数据,只保留最深预估折扣。
3.对于每个截断点,根据X轴与Y轴指标确定对应的横纵坐标(见下表)。
4.从原点出发,从左到右连线。
落地
总体视角
当我们想「基于所有补贴水平,整体评估模型在各规模指标下相比于定折组的提升」时,可计算「横纵轴归一化后,策略线和定折线围成的面积」:
指定补贴率视角
当我们想「基于指定补贴率水平,评估模型在各规模指标&钱效指标下相比于定折组的提升」时,可计算「在对应的横坐标下,策略线相比于定折线的提升幅度」:
总结与展望
总结
我们分析了基于对偶优化的策略内核,在评估指标搭建时复现了最优策略发放折扣的思想(基于边际ROI排序),并利用RCT数据对各补贴率下的累计规模指标收益进行仿真,在无需额外假设(如钱效随折扣加深而递减)的前提下,完全消除multi-treatment场景的离在线评估的理论gap,同时大幅提升与各业务场景的适配程度(支持不同策略目标、支持指定补贴率、与定折组对比评估)。实现过程主要包括以下两个难点:
在不假设「钱效随折扣加深而递减」时,需删除Cost-规模指标曲线上的非凸点,防止评估指标决策空间大于策略决策空间。
在每个环节对样本进行合理缩放,确保最终结果能真正代表uplift。
最终,我们搭建了一套适配multi-treatment场景、无钱效递减假设、更具有线上指导意义、也更方便排查收益链路的指标。基于线上实验回收结果,该指标的合理性及离在线收益一致性也得到验证,即RAS-AUCC指标高的模型更容易在实际业务场景取得收益。
展望
当前指标仍然存在改进的空间:
缺乏对数据和模型无偏性的校验
问题:可能会造成评估指标不合理。
解法:添加若干条group_ratio曲线,表示按边际ROI排序后,每个组样本量的占比,以验证Ignorability假设。
期望:group_ratio斜率基本为0,不呈上升或下降趋势。
缺乏对预测绝对值误差的评估(即缺少对Accurate的评估)
问题:将绝对值误差较大的预测结果应用到运筹优化决策中,可能会导致预算约束失效。
解法:补充ATE error指标。
期望:ATE error处于较低水平。
数据质量要求高
问题:评估指标需使用RCT数据,会耗费线上资源。
解法:使用(甚至仅使用)观察数据。
期望:产出无偏的评估结果,且降低RCT成本。
参考文献
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...