上一篇讲了三种数据驱动的 LTV 估算方法:曲线拟合、留存 ARPU 拆解、历史比例系数。它们有一个共同的软肋——都依赖"已经发生的历史"。新产品上线、新渠道起量、新用户涌入时,手里只有头几天的行为数据,等 LTV365 自然沉淀出来,投放窗口早就关了。这时候就需要换武器:用模型估算 LTV,用用户头几天的行为,预估他一年后的价值。
一、为什么数据方法会失灵
数据方法的三类典型失效场景:
- 冷启动:新包、新渠道、新产品没有历史 LTV 可拟合,比例系数法无从谈起;
- 粒度不够:曲线拟合法和比例系数法给出的是渠道级、整体级的 LTV,而投放出价、人群圈选需要用户级的预估值;
- 时效性差:等 90 天、180 天的真实 LTV 出来再决策,预算早花完了。
模型估算的核心价值就在这里:在用户生命周期的早期,给出用户级的 LTV 预估,直接服务于投放出价(按预估 LTV 差异化出价)、预算分配和人群分层运营。
二、两阶段模型:分类与回归的融合
传统做法是"分类模型 + 回归模型"的两阶段融合,简单易懂,落地成本低。

第一步,构建两个分类模型:
- 用户分层模型:基于用户行为特征(使用时长、访问深度)和自身属性特征(性别、城市等),把用户划分到不同价值层级;
- 转化概率模型:预估用户完成关键转化的概率,如电商产品的购买概率、游戏产品的付费概率。
第二步,拼接后回归:
将用户分层结果和转化概率作为特征,与底层用户特征 concat(拼接)在一起,喂给回归模型,输出 LTV 预估值(如 LTV365)。
输入 features ──┬─→ 用户分层模型 ──┐
│ ├─→ concat ──→ 回归模型 ──→ 输出 ltv365
└─→ 转化概率模型 ──┘
(分类阶段) (回归阶段)
优点:结构清晰、可解释性强,每个模块可以独立训练、独立排查问题。
缺点也很明显:构建用户分层时,需要人为主观划定分层标准供模型训练,分层质量高度依赖运营经验;而且分层和购买概率这两个模块,本质上可以让 DNN 自己从数据中学出来,不需要人为拆开。
三、变现方式决定 LTV 的分布形态
建模之前先看清一个事实:不同变现方式下,LTV 的分布形态完全不同。
- 游戏:付费用户占比极低(免费玩家占绝对多数),但大 R(高付费)用户的 LTV 极高——典型的大量零值 + 严重长尾;
- 广告变现:曝光即有收入,只要有活跃就有价值,LTV 分布相对均匀;
- 电商:与游戏类似,大量用户只浏览不购买,少数重度买家贡献绝大部分 GMV。

对游戏、电商这类"零值膨胀"的业务,直接用回归模型拟合 LTV 是不合适的——模型面对的是一堆 0 和少数极大的值,怎么学都学不好。这就引出了专门为此设计的 ZILN:
ZILN(Zero-Inflated Lognormal,零值膨胀对数正态分布):一种混合分布——用"是否付费"刻画大量 LTV 为 0 的普通用户,用对数正态分布刻画付费用户的长尾 LTV。
直观感受一下两种坐标系的差别:LTV 分布在线性坐标轴上严重右偏、挤在原点附近;换到对数坐标轴上,长尾部分呈现出近似正态的钟形。这正是"对数正态"这个名字的由来。
四、ZILN 混合模型:端到端的深度概率模型
ZILN 模型的思路源自 Google Research 团队 2019 年发表的论文《A Deep Probabilistic Model for Customer Lifetime Value Prediction》,并在 Google Play 商店的用户价值预估上得到验证。游戏、电商产品的 LTV 预估,往往都会用到它。
4.1 三个参数,一个输出
模型需要学习三个参数:
- p:用户付费的概率(0 值膨胀部分);
- μ:对数正态分布的均值;
- σ:对数正态分布的标准差。
最终 LTV 预估值 = 付费概率 × 付费金额期望。对数正态分布的期望为 exp(μ + σ²/2),因此:
LTV 预估 = p × exp(μ + σ²/2)
4.2 为什么用多任务建模
DNN(深度神经网络)的中间层需要同时表达两件事:用户是否付费,以及付费用户的 LTV 是多少。这两个任务高度相关(会付费的人,付费金额的分布也不同),共享底层网络表达可以互相增益,因此采用多任务建模的框架。

4.3 为什么用 ZILN 损失而不是 MSE
这是 ZILN 模型最关键的设计决策:损失函数用 ZILN 的负对数似然(NLL),而不是回归里最常见的均方误差(MSE)。原因在于:
- MSE 会强迫模型学习 0 值和大 R 的均值:面对 95% 的 0 和 5% 的大额付费,MSE 的最优解就是给出一个不高不低的"平均数"——两边都不准;
- MSE 过度惩罚对大 R 用户的预估错误:预估一个 10000 元的大 R 偏差 5000 元,产生的损失会主导整个训练过程,导致模型不稳定;
- 额外的代价是,MSE 训练出的模型还可能给出负的 LTV 预估值,在业务上无法解释。
ZILN 的负对数似然则把"是否付费"和"付多少"拆开处理,各学各的:
L = -[ 1(y=0)·ln(1-p) + 1(y>0)·( ln p - ln σ - ln y - (ln y - μ)²/(2σ²) ) ]
零值样本只影响 p,付费样本只影响 μ 和 σ,互不干扰。
4.4 模型怎么评估
LTV 预估模型的评估也不用 MSE,业界通行的做法(也是原论文的做法)是看排序能力:
- Normalized Gini 系数:衡量模型区分高价值用户和低价值用户的能力;
- Top 10% 分位捕获率:模型预测出的 top 10% 高价值用户,实际贡献了多少比例的 LTV。捕获率越高,模型越能帮助投放侧把钱花在刀刃上。
毕竟业务要的不是把每个人的 LTV 算到分毫不差,而是把最值钱的那批人先找出来。
五、事件级建模:更细的颗粒度
如果还想再进一步,可以把建模颗粒度拆到"事件"层面,构成另一种多任务模型:

- 事件是否发生:logit 模型(预测购买/付费行为发生的概率);
- 事件发生次数:泊松分布(Poisson)或负二项分布(Negative Binomial)模型(预测一段时间内发生多少次)。
这一思路与营销科学里经典的 BTYD(Buy Till You Die,"买到死")流派一脉相承——Fader 和 Hardie 等学者提出的 Pareto/NBD、BG/NBD 模型,正是用"交易过程 + 流失过程"两个子过程的组合来刻画客户生命周期价值。其中用负二项分布替代泊松分布,是为了处理实际购买数据中普遍存在的过散布(方差大于均值)现象。
六、三种思路怎么选
| 思路 | 适用场景 | 核心依赖 | 主要短板 |
|---|---|---|---|
| 两阶段模型 | 有运营分层经验、强解释性需求 | 人工分层标准 | 分层主观,误差逐级传递 |
| ZILN 端到端模型 | 游戏、电商等零膨胀长尾业务 | 付费样本量 | 黑盒程度高,需谨慎监控 |
| 事件级多任务(BTYD 系) | 购买频次低的电商、订阅制业务 | 事件粒度埋点 | 建模和调优成本高 |
实操建议:
- 数据方法定盘,模型方法做增量:渠道级、整体级的 LTV 仍用比例系数法定锚,模型负责用户级的差异化;
- 零膨胀业务优先上 ZILN:付费率低、长尾重的业务,ZILN 是目前工程界验证最充分的方案;
- 盯排序不盯绝对值:用 Gini 和分位捕获率监控模型,绝对值偏差交给定期校准去修。
写在最后
到这里,LTV 这条线讲完了:先算清口径,再用数据方法快速估,最后用模型在用户级、早期化地估。但增长公式是 ROI = LTV / CAC——分子估准只是半件事,另一半是把分母打下来。下一篇进入第四章:如何通过提升下载安装转化率来降低 CAC。

