“A Deep Probabilistic Model for Customer Lifetime Value Prediction“ 论文笔记 额排除 LTV 为0的样本的影响但是LTV 数据的分布及其特殊存在大量零值大量客户是一次性购买者其 residual LTV 0和严重的高偏态连续值少数高价值客户的 LTV 比普通客户高出几个数量级。现有使用 MSE 损失的工作试图用一个单一的连续分布去拟合两个本质不同的群体结果是两边不讨好使用两阶段建模又需要两个模型、复杂度高MSE 对异常值敏感ZILN 混合损失本文主要提出了 Zero-Inflated LogNormalZILN损失函数本文来同时建模用户是否付费以及付费金额其中第一项用交叉熵来建模用户是否付费第二项用对数正态分布建模 LTV假设了用户在已知付费的前提下付费金额服从对数正态分布其中 为真实值均值 和方差 为模型的输出值ZILN(;,,)CrossEntropy(1{0};)1{0}Lognormal(;,)Lognormal(;,)log⁡(2)(log⁡−)222线上 infer 时模型的预估输出为学到的分布的期望 exp⁡(2/2)最优预测会自动大于观测样本的算术平均此外从图中可以看到真实值是 20横坐标是模型输出的点预测值在原始值空间中 lognormal loss 对高值的惩罚比 MSE 小。综上所述对数正态分布所以更匹配 LTV 数据 零值多、右尾厚 的分布特征模型架构本文使用 DNN 作为模型架构DNN 的最后一层包含 3 个输出分别表示付费概率、均值 μ 和方差 σ分别使用 sigmoid、identity、softplus 激活函数。最终通过 ZILN 混合损失实现一个模型同时完成分类和回归两个任务评估指标Gini 系数Gini 系数是经济学中衡量收入或财富不平等程度的指标值越大代表越不平等本文对这个原始概念做了改造以用于 LTV 数据按客户的真实 LTV 从大到小排序画出 Lorenz 曲线横轴是累积客户百分比纵轴是累积 LTV 百分比20% 的客户贡献了 80% 的 LTV 即 80/20 法则Gini 系数 Lorenz 曲线与 45° 对角线之间面积的两倍所以标签 Gini 系数反映了客户消费的不平等程度值越大说明头部客户越集中。本文还引入归一化 Gini 系数Normalized Gini (模型 Gini 系数) / (标签 Gini 系数) 用来衡量模型的区分度有没有把真正的高价值用户排到前面校准图