前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >expLTV:通过专家网络路由和高价值用户识别进行LTV预测

expLTV:通过专家网络路由和高价值用户识别进行LTV预测

作者头像
秋枫学习笔记
发布2024-01-29 18:26:52
3170
发布2024-01-29 18:26:52
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

1.导读

Alt text

本文是针对LTV(生命周期价值)预估,提出的相关方法。主要是在以往LTV预估方法的基础上去额外考虑“鲸鱼”用户的分布,所谓鲸鱼用户就是具有高消费能力的用户,以游戏为例,用户的消费情况基本符合二八定律,即20%的“鲸鱼”用户提供了80%的成交收益。下文中主要就以高价值和低价值用户来分别指代两类用户,作者发现高价值用户和低价值用户的分布是存在明显差异的,若是一起训练会预测的不准,所以设计了ExpLTV方法:

  • 设计一个门控网络,来检测用户属于高价值用户的概率,以此概率对用于后续预测的
\mu

\sigma

进行加权

  • 基于不同的专家网络分别预测高价值和低价值用户的
\mu

\sigma

,然后用上述门控得到的权重进行加权融合

简单补充:上面说到的

\mu

\sigma

是谷歌19年提出的ZILN方法,上述的

\mu

\sigma

对应对数正态分布均值和标准差,详情可以阅读原论文,本文是在ZILN的基础上进行改进的,所以阅读本文需要一些ZILN的知识。相关内容网上还是挺多的,这里就不列了。论文:《A Deep Probabilistic Model For Customer Lifetime Value Prediction》

2. 方法

如图所示,模型结构主要是三部分,embe层,鲸鱼用户检测和融合预测

2.1 鲸鱼用户识别

令LTV大于阈值R的用户为鲸鱼用户,则鲸鱼用户的概率表示为下式,

g_u=1

表示是鲸鱼用户,

s_u=1

表示存在购买行为,一个用户只有存在购买行为才有可能是鲸鱼用户(eg:就像在淘宝里只有点击后才会有购买一样)

p_u^{gwptr}=p(g_u=1,s_u=1|x_u)=1-e^{-LTV/R}

如果LTV小于R则

p_u^{gwptr}=0

note:可以发现这里没有直接通过阈值R将用户分为高价值用户和低价值用户,因为如果直接这么分,我们只能知道这个用户是高价值用户的概率有多大,但是无法和LTV结合起来,而上述的方式,用户的概率越大可以反应LTV就会越大,所以作者把这个任务做成了回归任务。

鲸鱼用户的预测值表示为下式,就像前面说的需要同时考虑用户会购买的概率和是高价值用户的概率(类似ESMM)

\hat{p}_u^{ptr}=p(s_u=1|x_u) \\ \begin{aligned} \hat{p}_{u}^{g w p t r} & =p\left(g_{u}=1, s_{u}=1 \mid \mathbf{x}_{u}\right) \\ & =p\left(s_{u}=1 \mid \mathbf{x}_{u}\right) \times p\left(g_{u}=1 \mid s_{u}=1, \mathbf{x}_{u}\right) \\ & =\hat{p}_{u}^{p t r} \times \hat{p}_{u}^{g w} \end{aligned}

普通用户有两种,一种是低价值的,一种是不会购买的,所以表示为

\hat{p}_u^{ngwptr}=(1-\hat{p}_u^{ptr})+\hat{p}_u^{ptr}*\hat{p}_u^{ngw}

最后的损失函数为下式,第一项是预测用户是否会购买,使用交叉熵损失函数;第二项中的

\hat{y}

p^{gwptr},p^{ngwptr}

的拼接,使用KL散度来衡量预测分布和真实分布的差异。

\mathcal{L}_{G W D}=\sum_{u \in \mathcal{D}} l_{1}\left(s_{u}, f_{p t r}\left(\mathbf{x}_{u} ; \Theta_{p t r}\right)\right)+D_{K L}(\mathbf{y} \| \hat{\mathbf{y}}),

小总结:如结构图所示,鲸鱼用户识别网络的输出

\hat{p}_{ngw}, \hat{p}^{gw}

为经过softmax后的概率值,然后再结合对用户是否会购买的概率的预估得到最终的预测,其中

\hat{p}^{ngw}+\hat{p}^{gw}=1

。那这里为啥没有直接用

\hat{p}_{ngw}, \hat{p}^{gw}

来建模呢?类似ESMM的思路,这里为了缓解selection bias和data sparsity。

2.2 LTV预测和损失函数

LTV预测部分整体和ZILN是类似的,但是作者再这两把原始ZILN中的

\mu

\sigma

分别拆分成了两个,对应鲸鱼用户和普通用户的

\mu

\sigma

。从图中很容易看出来,这里不过多赘述,对于四个expert分别用鲸鱼识别网络得到的权重进行加权聚合,得到最终的

\mu

\sigma

\begin{aligned} \mu & =\hat{\mathbf{y}} u \cdot \mu^{e}=\hat{p}_{u}^{g w} \mu^{e}[0]+\hat{p}_{u}^{n g w} \mu^{e}[1] \\ \sigma & =\hat{\mathbf{y}}_{u} \cdot \sigma^{e}=\hat{p}_{u}^{g w} \sigma^{e}[0]+\hat{p}_{u}^{n g w} \sigma^{e}[1] \end{aligned}

聚合后进行预测和损失函数构造都和ZILN一样,不做赘述。

\widehat{LTV}_{\boldsymbol{u}}=p\cdot e^{\mu+\frac{\sigma^2}2}\\
\mathcal{L}_{LTV}=l_1(\mathbb{I}_{s_u>0};p)+[\mathbb{I}_{s_u>0}\log(s_u\sigma\sqrt{2\pi})+\frac{(\log s_u-\mu)^2}{2\sigma^2}],

最终的损失函数

L=L_{ltv}+L_{gwd}

3. 结果

Alt text

4. 一点思考

ltv预估更多是需要结合不同的业务场景,不同的业务场景的数据分布会存在自身的一些特性,翻阅了一些文章,并没有发现统一的benchmark,大多数都是基于自身场景存在的问题提出对应的解决方法,可见ltv是具有较强场景属性的问题,不同的方法只能参考。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-28,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.导读
  • 2. 方法
    • 2.1 鲸鱼用户识别
      • 2.2 LTV预测和损失函数
      • 3. 结果
      • 4. 一点思考
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com