Uplift的缺陷与Agent-coupon的对比精析
-
Agent的潜意识
2021-10-16 22:31:10
-
数据库开发技术
-
原创
春天跟一些团队在交流用户增长和大促的算法方案的时候,有人提了uplift的算法模式。当时简单看了下。觉得还不错。最近仔细咀嚼了下。发现这个方案有很多漏洞。不建议工业界推广。还是Agent -coupon的方案好使。如果你操盘过一家电商公司的大促的话,你对增量GMV概念会很熟悉。取大促前一周和后一周的日均GMV为例,如果大促日的GMV比前一周GMV高 w,大促后一周的GMV比前一周的GMV低P,那么大促带来的增量大致为w-p。因为大促后一周GMV会自然回落,很多消费已经被大促吃掉了。所以这部分不能算做增量。Uplift模型的整个逻辑,就是希望把这个增量GMV做最大。这样的解释应该是很白话了。
传统的营销算法,优化目标是点击或者转化,优化增量的方式是没有的。从最近比较热门的因果推断方法来解剖,uplift的通俗说法就是:我投一个优惠券给user1,能带来G1的转化,如果没有发优惠券刺激营销,则该user1就不会消费。这样我发的优惠券是因,能直接带来果。Uplift就是对这样的因果关系进行建模。 建模的方式有很多种,有两阶段模型法,有一阶段模型法。也有树模型法。这些方法的具体内容网上有很多。暂且不议。举最经典的两阶段建模的方法来说明问题(其他方法的原理是一样的)。 第一层假设:我们如果要做AB测试,从一个个体角度来看,按前面的因果推断的流程,有两次交互,第一次是没有发优惠券,转化的GMV是多少;第二次是发优惠券后,转化的GMV是多少。但你既然是做AB测试,那么一个个体要么在实验组,要么在对照组,是没法完成两次交互的。这就牵涉到uplift的经典第一层假设。 假设随机抽样 A B两组用户,他们的分布相同(相近)且独立。对A进行实验,B做对照。 对实验组A转化建模,特征是user feature+itemfeature +优惠券 feature。转化不转化可以建模ModelA。这时,训练好的模型对一个不在训练集新用户u1可以预测出发优惠券的情况下的转化率。 对对照组B 转化建模,特征是user feature+itemfeature +null优惠券 feature.转化二分类建模modelB .训练好的模型可以对一个不在训练集的新用户U1预测不发优惠券的转化率。 训练好的模型直接部署到线上,来一个用户就过两个模型,然后将两个模型预测值求差,即得到施加优惠券后带来的转化增量,按这个增量概率排序来决定给那些用户发优惠券。 改进:如果优惠券有等级,例如满100减10,满300减40等,则modelA需要建一个多分类模型。 第一个缺陷:训练和预测的分布不统一。我们知道,uplift建模的时候有一个假设,是讲实验组和对照组一定要独立同分布。假设通过严格的数理统计和特征工程设计,能达到这样的要求。但这时训练出来的模型,训练集(包括实验组和对照组)的分布,跟线上部署预测的时候,对单个用户W计算Uplift值,这个W服从的统计分布跟训练集的分布肯定是不一样的。至少他的分布要广泛得多。因而训练好的模型存在失效风险。 当然,你可以把线上用户w 圈定跟训练集来自同一人群,这样的话分布会接近。但这样会降低大促的人群范围。 总之,uplift模型能拿到收益,但他存在分布不一的缺陷。这个跟传统响应模型训练集和测试集的分布不统一不一样,因为他是uplift特定假设。他是假定分布相同才能有作用意义的。才能算两个概率,施加优惠券和不发放优惠券带来的转化概率。 第二个缺陷:优惠券的金额门槛值不灵活。他还是老套的营销手段。优惠券的金额和门槛值都是统一的。这样导致的问题是没法刺激活跃买家大额度消费。他浪费了一大批刚需买家刺激消费的机会。例如一个人要买双鞋子。你不发优惠券他也会买。但你给他发5000减300的优惠券,他有可能买鞋子后,再凑单买其他产品。