版权声明:除特别声明外,本博客文章均采用 BY-NC-SA 许可协议。转载请注明出处。
你是一个电商运营人员,今天你需要给用户发放红包,以促进用户的转化。但是老板给你的预算相当有限,只能给一部分用户发。那么问题来了,给哪些用户发?发多少?难不成你又要拍规则吗?
决策模型
考虑两种场景。
其一是红包的种类不固定。此时需要决策给用户发放的红包金额(不发红包可以视作发放 0 元红包)。
假设已知第 个用户使用 元红包的概率 ,则可以求解线性规划问题
其中 为预算, 为历史红包的使用总额与发放总额之比, 为单个红包最高金额。优化的目标是最大化期望转化人数,约束是发放的红包的总金额约束和单个红包最高金额约束。
其二是红包的种类固定。此时需要决策是否要给用户发放红包,以及发放哪一种红包。
假设已知第 个用户使用第 种红包的概率 ,则可以求解整数线性规划问题
其中 表示是否要给第 个用户发放第 种红包。优化的目标同样是最大化期望转化人数,约束是发放的红包的总金额约束和每个用户最多发放的红包数量约束。
不管是哪一种场景,都需要知道特定用户使用特定红包的概率。那么在数据稀疏的条件下我们该如何预估这一概率呢?
预测模型
假设用户对红包金额有一个心理预期,用随机变量 表示。只要我们给用户发放的红包金额不低于用户的心理预期,用户就会使用。换句话说,用户使用金额为 的红包的概率就是 不低于用户的心理预期 的概率,亦即 的累积分布函数
于是我们的问题就转化为求用户心理预期 的概率分布。可以通过一定方法先给出 的先验分布,再结合用户使用红包的历史数据,利用贝叶斯推断方法得到 的后验分布。利用后验分布的累积分布函数,就可以得到用户使用特定金额红包的概率。
先验
随机变量 表示用户对红包金额的心理预期,反应了用户对优惠力度的敏感程度。从这个意义上来看,它应该跟用户历史订单的优惠力度有关。
计算用户历史订单平均优惠金额,用 表示。我们假设随机变量 的先验分布是均值为 的 Poisson 分布,即先验概率为
似然
用 表示用户直减红包使用情况的历史数据,其中 表示第 次发放给用户的红包金额, 表示用户是否使用了该红包。易知似然为 次 Bernoulli 试验的乘积
其中
为了方便求解,我们用 sigmoid 函数来代替示性函数
后验
利用贝叶斯公式,我们得到后验概率为
因为只有一维,这里可以直接计算后验分布。如果是更复杂的情况,则需要使用马尔可夫链蒙特卡洛(MCMC)或变分推断(VI)方法。
延伸
以上只考虑直减红包,但真实业务场景中为了提高流水,往往会使用满减红包。用 表示用户对红包金额的心理预期,用 表示用户对红包折扣率的心理预期,我们可以对 和 的联合概率分布建模,从而得到用户使用特定满减红包的概率。方法与直减红包的建模类似,就不再赘述了。
网友评论