摘要
准确的用户生命周期价值(LTV)预测可以帮助服务提供商在以用户为中心的应用中优化其营销策略。然而,消费事件的高度稀疏性以及数据方差和噪声的干扰阻碍了LTV的估计。许多现有的LTV预测方法直接在消费样本上训练单视角的LTV预测器,这可能会导致不准确甚至有偏差的知识提取。在本文中,我们提出了一种用于LTV预测的对比多视角框架,这是一种即插即用的解决方案,可以兼容各种主干模型。它结合了多种异构的LTV回归器,通过互补的知识来提高模型的鲁棒性,并通过对比学习捕捉样本的相关性,以减轻对数据丰富性的依赖。具体来说,我们使用了一种分解方案,将LTV预测问题转化为估计消费概率和支付金额的组合。为了减轻噪声数据对模型学习的影响,我们提出了一个多视角框架,该框架通过联合优化具有不同特征和优势的多种回归器来编码和融合全面的知识。为了充分利用有限的训练样本潜力,我们提出了一种混合对比学习方法,帮助捕捉分类和回归任务中样本之间的相关性。我们在一个真实的游戏LTV预测数据集上进行了广泛的实验,结果验证了我们方法的有效性。我们已经在华为的移动游戏中心上线部署了我们的解决方案,并实现了32.26%的总支付金额增长。
1 引言
用户生命周期价值(LTV)反映了用户在与企业的长期关系中预期贡献的收入 [18, 20]。在业务规划和用户细分中,LTV的指导可以帮助服务提供商做出更明智的营销决策,并提供更好的个性化服务,以增加用户留存率并减少流失 [5, 15, 28, 31, 33, 40]。因此,准确的LTV预测在数字经济和智能管理中扮演着越来越重要的角色 [9, 11, 27, 46]。
在许多现实应用中,用户的消费行为本质上是稀疏的、多变的和噪声的 [25, 49]。例如,如图1所示,在应用使用场景中,用户可能只会从应用商店推荐的众多候选应用中选择少数几个,并且在试用后可能会在更少的应用中订购付费服务。在我们的实践中,只有大约2%的应用下载最终在一个月内转化为有效支付。此外,用户的购买行为可能会受到各种主观和客观因素的影响,如计划外的购买意图和促销活动 [1, 6, 53]。结果,我们可以观察到一个范围很广、长尾且噪声很大的LTV分布(参见我们的数据集统计以获得直观示例)。用户消费样本的高度稀疏性和噪声使得LTV预测成为一个相当具有挑战性的问题。
考虑到非零LTV样本的稀疏性,许多方法将LTV预测问题分解为预测高价值用户的二元分类任务和估计潜在货币价值的回归任务 [44]。其中一些方法使用两阶段策略以级联方式建模这两个任务,并使用随机森林 [39] 和XGBoost [13] 等机器学习模型来处理输入特征。然而,这些两阶段方法中的多个模型维护可能会导致更高的复杂性和更严重的误差传播问题。近年来,一些基于深度学习的方法提供了端到端的LTV预测解决方案。例如,ZILN [44] 通过多任务学习将这两个任务统一在一个模型中,其中最终预测的LTV是购买倾向和预期购买金额的乘积。ODMN [25] 模型化了LTV之间的时间依赖关系,并使用一个多分布多专家模块,将不平衡的LTV分布划分为几个更平滑的子分布,并将它们分配给不同的专家。然而,这些方法中的单视角LTV回归器可能仍然会受到异常值和噪声样本的严重干扰,尤其是在用于模型优化的正样本非常有限的情况下。
在本文中,我们提出了一种名为CMLTV的对比多视角框架用于LTV预测,该框架可以有效减轻消费数据稀疏性、多变性和噪声对模型学习的影响。CMLTV的核心是一个多视角回归框架,其中具有不同特征和优势的多种异构回归器被联合优化,以提取互补且稳健的知识。它们的预测被合成为一个统一的分数,该分数进一步与购买分类器估计的购买概率相结合,以生成最终的LTV。为了减少模型对数据量的依赖,我们提出了一种混合对比学习方法,以帮助捕捉分类和回归任务中样本之间的相关性,从而充分利用数据潜力。通过联合正则化购买分类器和多视角回归器,模型可以意识到样本之间的内在相关性,并做出更准确的预测。我们的离线实验是在从华为移动游戏中心收集的真实游戏应用用户LTV预测数据集上进行的,结果表明CMLTV的有效性。在该平台上的进一步在线A/B测试也显示总支付金额增加了33.26%。截至目前,CMLTV已深度参与为数亿用户提供稳定且高质量的游戏应用推荐服务。
本文的贡献如下:
- 我们提出了一种多视角LTV预测框架,该框架通过多种异构回归器编码互补知识,以应对数据噪声和不平衡。
- 我们提出了一种混合对比学习方法,使模型能够在分类和回归任务中有机地利用样本之间的相关性,以减轻数据稀疏性的影响。
- 我们在离线和在线环境中进行了广泛的实验,结果充分验证了我们方法的有效性。我们的解决方案已在线部署,用于个性化游戏应用推荐,服务于数亿移动用户。
2 相关工作
2.1 LTV预测
LTV预测是商业管理中的一个经典问题 [24]。关于用户LTV预测的先驱研究集中在基于观察数据构建概率模型 [21]。例如,Pareto/NBD [35] 是一个基于历史交易的用户分析经典模型,它通过建模用户行为的某些随机过程来预测用户的未来活动和购买频率。基于此框架,Fader等人 [14] 研究了基于交易的最近性、频率和货币价值对用户进行分组,然后估计每个客户群体的LTV。这些基于概率的方法需要用户行为的先验知识来建立基本模型假设,这对数据噪声和波动高度敏感。在复杂场景中,通过完善的随机过程模拟用户行为也很困难。
LTV预测的另一条主要研究路线是使用机器学习技术从历史日志中构建数据驱动模型 [8, 10, 12, 22, 34, 37, 38]。考虑到LTV分布的特征,一些方法将任务分解为两个阶段,即第一阶段预测购买倾向,第二阶段估计在第一阶段预测购买的用户的LTV。例如,Vanderveld等人 [39] 提出在这两个阶段都使用随机森林,其构建基于包括用户参与度测量、用户体验、历史行为和人口统计在内的各种特征。Drachen等人 [13] 提出使用XGBoost模型实现一个游戏LTV预测框架,该框架涉及各种游戏玩法、社交和购买特征。这些两阶段方法需要维护多个级联模型,这可能导致高计算成本和在线延迟。近年来,一些基于深度学习的方法将这两个阶段统一到一个模型中。例如,ZILN [44] 使用多任务学习框架,优化一个二元分类器以预测购买倾向,并使用基于对数正态分布的回归器预测预期支付金额。最终的LTV是通过将预测的购买倾向和支付金额相乘得到的。ODMN [25] 进一步考虑了不同时间段LTV之间的顺序依赖关系。在每个预测点,它使用一个多分布多专家模块,预测不同LTV范围的分类概率,并使用它们自适应地选择适当的专家来预测某些范围内的LTV。不幸的是,由于购买数据的噪声、不平衡和波动性,这些方法中的单视角LTV回归器可能仍然会受到严重影响甚至有偏差,尤其是在样本不足以绘制数据分布全貌的情况下。我们的工作结合了一个多视角回归框架,以提取互补信息并将其融合为更稳健和准确的知识。值得注意的是,近年来一些工作从其他方面研究了LTV预测,例如用户表示 [49]、购买序列建模 [3, 10] 和社交信息挖掘 [54]。由于这些特定场景方法对数据格式带来一些额外限制,因此它们不属于与我们工作相同的研究路线。
2.2 推荐中的对比学习
对比学习是推荐领域中广泛使用的技术 [45, 52],这里我们简要介绍一些相关工作。在推荐中的常见对比范式是将每个正样本与一个或多个负样本进行比较,例如BPR [32] 和InfoNCE [29] 损失。这种范式在各种推荐场景中的学习排序系统中是一个流行的选择,例如电子商务 [48]、视频 [51] 和新闻推送 [47]。然而,在在线广告应用中,候选广告的顺序和预测因子的绝对值(例如,pCVR和pLTV)在竞价过程中都很重要 [17, 30]。因此,成对对比学习范式可能不适用于广告场景,因为它会对预测分数产生扭曲效应。为了在广告系统中采用对比学习的强大表示能力,Wang等人 [41] 提出了一个CL4CTR框架,该框架使用数据增强来构建对比对。然而,它不能有效地利用不同样本之间的相关性。此外,大多数推荐中对比学习的研究集中在分类问题上 [2, 26],这与涉及回归任务的LTV预测不完全兼容。我们提出了一种混合对比学习方法,该方法同时指导分类和回归任务中的模型优化,特别适用于LTV预测,以缓解数据稀缺的影响。
3 方法论
在这里,我们介绍用于用户生命周期价值(LTV)预测的CMLTV方法。由于现有文献中对LTV预测有几种不同的表述,我们首先介绍本文研究问题的定义。然后,我们详细描述我们的模型,并展示如何优化它以生成LTV预测。
3.1 问题定义
用𝑢和𝑖分别表示一个用户和某个产品/服务。给定𝑢和𝑖的特征(如果有的话,还包括一些上下文特征),LTV预测模型的目标是在特定时间跨度𝑇(例如,30天)内估计𝑢在𝑖上的支付金额。如果用户𝑢在𝑇内没有购买𝑖,则该期间的相应LTV标记为零。如果在此时间跨度内涉及𝑢和𝑖的交易有多笔,则LTV标记为其货币价值的总和。在历史交易数据上进行模型学习后,期望预测未来的LTV,以作为决策和个性化广告的参考。
3.2 CMLTV框架
我们CMLTV方法的总体框架如图2所示。当一批训练样本到达时,我们首先使用多视角LTV预测模型为每个样本生成购买概率和多个LTV回归结果,然后对该批次的样本应用混合对比学习策略,以捕捉它们的内在相关性。它们的详细信息如下所述。
3.2.1 多视角用户生命周期价值预测
多视角用户生命周期价值预测模块使用具有不同特征的异构回归器来从不同方面描述输入样本。用 x x x表示样本的输入特征。首先,使用基本特征表示模型通过建模特征之间的交互来学习输入特征的隐藏表示 h h h。请注意,我们的框架不限制此骨干模型的架构,它可以通过各种现成的结构实现,如MLP、DeepFM [17]、DCN [42]和DCNv2 [43]。
接下来,购买分类器应用于隐藏表示 h h h,以预测购买概率 p ^ \hat{p} p^,公式如下:
h p = ReLU ( W p h + b p ) , h_p = \text{ReLU}(W_p h + b_p), hp=ReLU(Wph+bp),
p ^ = σ ( w p h p + b p ) , \hat{p} = \sigma(w_p h_p + b_p), p^=σ(wphp+bp),
其中 W p , w p , b p W_p, w_p, b_p Wp,wp,bp和 b p b_p bp是参数, σ ( ⋅ ) \sigma(\cdot) σ(⋅)表示Sigmoid函数。分类器输出的概率用于计算交叉熵损失 L p L_p Lp,公式如下:
L p = − z log p ^ − ( 1 − z ) log ( 1 − p ^ ) , L_p = -z \log \hat{p} - (1 - z) \log (1 - \hat{p}), Lp=−zlogp^−(1−z)log(1−p^),
其中 z z z是样本的二进制购买标签。
然后,我们以多视角方式估计每个样本的付费金额。这里我们包括三种不同类型的回归器。第一种是基于分布的回归器,旨在通过精心设计的概率模型来逼近真实的用户生命周期价值分布。虽然可以通过任何概率分布实现,但我们建议使用一些经典分布,如对数正态分布和伽马分布,这些分布已被证明在表征长尾特性方面有效[16, 23, 50]。这里我们用 f ( x ) f(x) f(x)表示选定分布的归一化概率密度函数。它由变量 θ \theta θ参数化,该变量从 h h h中学习,公式如下:
h d = ReLU ( W d h + b d ) , h_d = \text{ReLU}(W_d h + b_d), hd=ReLU(Wdh+bd),
θ ′ = w d h d + b d , \theta' = w_d h_d + b_d, θ′=wdhd+bd,
θ = log [ 1 + exp ( θ ′ ) ] , \theta = \log[1 + \exp(\theta')], θ=log[1+exp(θ′)],
其中 W d , w d , b d W_d, w_d, b_d Wd,wd,bd和 b d b_d bd是可学习参数。该回归器的损失函数 L d L_d Ld是由 f ( x ) f(x) f(x)给出的概率密度的负对数似然,公式如下:
L d = − log f ( y ) , L_d = -\log f(y), Ld=−logf(y),
其中 y y y是样本的用户生命周期价值标签。通过优化此损失函数,模型被鼓励找到更好的 θ \theta θ来参数化 f ( x ) f(x) f(x),以最大化训练样本的用户生命周期价值概率密度。在测试阶段,它使用由每个样本获得的 θ \theta θ参数化的分布 f ( x ) f(x) f(x)的期望值作为预测值。在我们的方法中,我们使用伽马分布来实例化函数 f ( x ) f(x) f(x)。因此,变量 θ \theta θ是一个包含两个元素的向量,即形状参数和速率参数,预测的用户生命周期价值得分是它们之间的比值。
第二个回归器是基于对数的,旨在预测对数尺度上的用户生命周期价值得分。尽管用户生命周期价值可以从零到百万级数字不等,但在对数视图中它们可能只是低位数,这适合常见的神经网络处理。具体来说,该回归器的输出 y ^ l \hat{y}_l y^l通过一个MLP模块从 h h h中获得,公式如下:
h l = ReLU ( W l h + b l ) , h_l = \text{ReLU}(W_l h + b_l), hl=ReLU(Wlh+bl),
y ^ l = ReLU ( w l h l + b l ) , \hat{y}_l = \text{ReLU}(w_l h_l + b_l), y^l=ReLU(wlhl+bl),
其中 W l , w l , b l W_l, w_l, b_l Wl,wl,bl和 b l b_l bl是MLP参数。该回归器的损失函数 L l L_l Ll是标准的均方误差(MSE),计算公式如下:
L l = ( y ^ l − log ( 1 + y ) ) 2 . L_l = (\hat{y}_l - \log(1 + y))^2. Ll=(y^l−log(1+y))2.
这里我们加1到标签以确保非负性。
第三个回归器是基于分类的,它首先将回归任务转换为分类问题,然后从类别概率中重构一个实值得分作为最终预测。由于用户生命周期价值分布通常是长尾的,它使用对数操作将整个范围划分为几个类别箱。我们使用以2为底的对数进行分箱,而不是更大的底数,因为它可以保留更细粒度的数值信息。更具体地说,用户生命周期价值标签 y y y对应的类别ID c c c计算如下:
c = ⌊ log 2 ( 1 + y ) ⌋ . c = \lfloor \log_2(1 + y) \rfloor. c=⌊log2(1+y)⌋.
类别概率向量 y ^ c \hat{y}_c y^c预测如下:
h c = ReLU ( W c h + b c ) , h_c = \text{ReLU}(W_c h + b_c), hc=ReLU(Wch+bc),
y ^ c = Softmax ( V c h c + v c ) , \hat{y}_c = \text{Softmax}(V_c h_c + v_c), y^c=Softmax(Vchc+vc),
其中 W c , V c , b c W_c, V_c, b_c Wc,Vc,bc和 v c v_c vc是分类器参数。模型学习的损失函数 L c L_c Lc是以下多类交叉熵:
L c = − ∑ i = 1 C c i log y ^ i c , L_c = - \sum_{i=1}^{C} c_i \log \hat{y}_i^c, Lc=−i=1∑Ccilogy^ic,
其中 C C C是类别数, c i c_i ci和 y ^ i c \hat{y}_i^c y^ic分别是第 i i i类的真实和预测标签。最终的实值用户生命周期价值预测 y ^ c ′ \hat{y}'_c y^c′从概率向量 y ^ c \hat{y}_c y^c重构如下:
y ^ c ′ = ∑ i = 1 C ( 2 i − 1 + 2 i + 1 − 2 ) y ^ i c = ∑ i = 1 C ( 2 i + 2 i / 2 + 1 − 3 ) y ^ i c . \hat{y}'_c = \sum_{i=1}^{C} (2^i - 1 + 2^{i+1} - 2) \hat{y}_i^c = \sum_{i=1}^{C} (2^i + 2^{i/2+1} - 3) \hat{y}_i^c. y^c′=i=1∑C(2i−1+2i+1−2)y^ic=i=1∑C(2i+2i/2+1−3)y^ic.
通过这种方式,我们使用期望值作为用户生命周期价值预测,其中每个箱的中心用于表示其预期用户生命周期价值。
3.2.2 混合对比学习
接下来,我们介绍我们方法中的混合对比学习机制,该机制旨在构建同一批次样本之间的有机联系,以更好地利用有限的训练数据。假设一个批次中有 K K K个样本。它们的预测购买概率和三种类型的用户生命周期价值得分分别表示为 [ p ^ 1 , . . . , p ^ K ] [\hat{p}_1, ..., \hat{p}_K] [p^1,...,p^K], [ y ^ d , 1 , . . . , y ^ d , K ] [\hat{y}_{d,1}, ..., \hat{y}_{d,K}] [y^d,1,...,y^d,K], [ y ^ l , 1 , . . . , y ^ l , K ] [\hat{y}_{l,1}, ..., \hat{y}_{l,K}] [y^l,1,...,y^l,K], [ y ^ c , 1 , . . . , y ^ c , K ] [\hat{y}_{c,1}, ..., \hat{y}_{c,K}] [y^c,1,...,y^c,K]。受BPR损失的启发,我们鼓励正样本的购买概率大于负样本。然而,直接比较每对样本是不现实的,因为噪声样本可能会误导模型生成低质量的对比对,这对模型优化有害。幸运的是,尽管部分样本是不具信息性的,但正样本的购买倾向应该平均高于负样本。因此,我们首先计算正样本和负样本的平均购买概率,分别表示为 p ^ + \hat{p}^+ p^+和 p ^ − \hat{p}^- p^−。我们通过比较 p ^ + \hat{p}^+ p^+和 p ^ − \hat{p}^- p^−设计了分类对比损失 L c L_c Lc,公式如下:
L c = − log σ [ σ − 1 ( p ^ + ) − σ − 1 ( p ^ − ) ] , L_c = - \log \sigma \left[ \sigma^{-1} (\hat{p}^+) - \sigma^{-1} (\hat{p}^-) \right], Lc=−logσ[σ−1(p^+)−σ−1(p^−)],
其中 σ − 1 \sigma^{-1} σ−1表示Sigmoid函数的反函数。
受先前工作[7]中发现的启发,我们假设用户生命周期价值较高的用户也可能具有较高的购买概率。这种假设在各种场景中可能是正确的,因为大的消费值通常是由多次购买行为引起的。因此,我们提出了一种回归对比学习方法,以正相关的方式对回归结果进行正则化,并与预测的购买概率相关联。我们以基于分布的回归器输出的得分为例来详细说明这一过程。其对应的回归对比损失 L r d L_{r_d} Lrd计算如下:
L r d = − 1 K 2 ∑ i = 1 K ∑ j = 1 K ( p ^ i − p ^ j ) [ log 10 ( 1 + y ^ d , i ) − log 10 ( 1 + y ^ d , j ) ] . L_{r_d} = - \frac{1}{K^2} \sum_{i=1}^{K} \sum_{j=1}^{K} (\hat{p}_i - \hat{p}_j) \left[ \log_{10}(1 + \hat{y}_{d,i}) - \log_{10}(1 + \hat{y}_{d,j}) \right]. Lrd=−K21i=1∑Kj=1∑K(p^i−p^j)[log10(1+y^d,i)−log10(1+y^d,j)].
这里我们使用底数为10的对数来控制对比损失的尺度。类似地,我们基于其他两种回归结果计算回归对比损失 L r l L_{r_l} Lrl和 L r c L_{r_c} Lrc。通过这种方式,同一批次中不同样本之间的相关性被显式编码到模型学习中,同时通过这些损失,自然地将分类和回归部分连接起来,以便它们编码的知识可以交换和共享。
3.3 模型训练和预测
最后,我们介绍框架中模型训练和测试的细节。我们的方法使用多任务学习框架来统一不同类型的损失函数。模型训练的总体损失 L L L是二元分类损失、三种类型的回归损失、对比分类损失和三种类型的对比回归损失的组合。请注意,二元分类损失和对比损失是在所有样本上计算的,而回归损失仅在正样本上激活。这是因为严重的数据不平衡会损害回归模型的准确性。因此,损失 L L L的公式如下:
L = L c + L r d + L r l + L r c + ∑ i [ L p ( i ) ] + ∑ y i > 0 [ L d ( i ) + L l ( i ) + L c ( i ) ] , L = L_c + L_{r_d} + L_{r_l} + L_{r_c} + \sum_{i} [L_p (i)] + \sum_{y_i > 0} [L_d (i) + L_l (i) + L_c (i)], L=Lc+Lrd+Lrl+Lrc+i∑[Lp(i)]+yi>0∑[Ld(i)+Ll(i)+Lc(i)],
其中 L p ( i ) , L d ( i ) , L l ( i ) L_p (i), L_d (i), L_l (i) Lp(i),Ld(i),Ll(i)和 L c ( i ) L_c (i) Lc(i)表示第 i i i个样本的相应损失, y i y_i yi是其用户生命周期价值标签。通过优化这个目标函数,模型可以融合多视角框架提取的知识以生成准确的预测。
在模型收敛后,我们使用多视角用户生命周期价值预测部分进行推断。受ZILN [44]框架的启发,我们将购买概率和回归得分相乘。最终的用户生命周期价值得分 y ^ \hat{y} y^生成如下:
y ^ = p ^ ⋅ [ α y ^ d + β y ^ l + ( 1 − α − β ) y ^ c ] , \hat{y} = \hat{p} \cdot [\alpha \hat{y}_d + \beta \hat{y}_l + (1 - \alpha - \beta) \hat{y}_c], y^=p^⋅[αy^d+βy^l+(1−α−β)y^c],
其中 α \alpha α和 β \beta β是加权系数。
3.4 模型复杂度分析
最后,我们提供一些关于我们方法的理论计算复杂度的分析。多视角用户生命周期价值预测部分的复杂度主要取决于基本模型的架构。如果它由MLP模型实现,则该模块的计算成本为 O ( K d 2 ) O(Kd^2) O(Kd2),其中 d d d是隐藏维度。我们的混合对比学习部分的计算成本主要由计算回归对比损失带来,其复杂度为 O ( K 2 ) O(K^2) O(K2)。因此,我们框架的总体计算复杂度为 O ( K d 2 + K 2 ) O(Kd^2 + K^2) O(Kd2+K2)。如果批量大小 K K K远大于隐藏维度 d d d,那么瓶颈在于对比学习部分。因此,由于效率考虑,最好设置适中的批量大小。
4 实验
4.1 数据集
尽管有一些公开的用户生命周期价值(LTV)预测数据集,但它们可能无法很好地反映许多场景的特征,这些场景中正样本比负样本稀疏得多。因此,我们从华为的移动游戏中心收集了一个数据集进行离线实验。该数据集从2022年8月1日至8月31日的聚合应用消费日志中抽取,包含642k个正样本和3010万负样本。LTV标签是在下载后的30天内统计的。例如,8月1日生成的样本的LTV标签是从7月2日至8月1日的累计消费金额。每个样本都与多个数值特征(例如历史LTV)、类别特征(例如应用ID和类别)以及二进制特征(例如用户分段)相关联。非零LTV的分布(值在对数尺度上归一化)如图3所示。
我们发现它大致遵循长尾分布,但曲线上有多个峰值,这可能是由于移动应用商店中的制度化价格水平引起的。最后一天的样本用于测试,我们随机抽取10%的训练数据进行验证。
4.2 实验设置
在我们的实验中,除非特别说明,我们在所有深度学习方法中使用带有ReLU激活函数的两层MLP作为基本特征表示模型。骨干模型的每一层后面都跟着一个批量归一化[19]操作。该模型的隐藏单元分别为256和128。分类器和回归器的隐藏维度为64。我们使用Adam[4]作为模型优化器,其学习率为1e-3。批量大小设置为10,000。我们在模型训练中使用早停机制,其耐心为3个epoch。系数 α \alpha α和 β \beta β设置为0.3。这些超参数在验证集上进行调优。
尽管许多先前的工作[25, 44]使用均方根误差(RMSE)和平均绝对误差(MAE)作为性能指标,但在我们的实践中,我们发现它们不足以全面反映预测质量,特别是在负样本占主导地位时。因此,在我们的实验中,我们使用六个指标来全面评估模型性能,包括RMSE、MAE、皮尔逊相关系数(记为Pearson)、斯皮尔曼相关系数(记为Spearman)、决定系数(记为R2_score)和ROC曲线下面积(AUC)。为了全面了解模型在不同类型样本上的表现,我们分别在所有样本或仅正样本上计算所有指标,除了AUC。这是因为在实际场景中,正样本和负样本的误差可能会产生不同程度的损失。我们重复每个实验五次以减少随机性,并报告平均性能。
4.3 性能评估
在我们的离线评估中,我们将我们的CMLTV方法与以下基线方法进行比较:
- Linear,使用多元线性回归模型进行LTV预测;
- MLP,使用多层感知器网络进行LTV预测;
- RF[39],使用两个独立的随机森林模型进行分类和回归;
- XGBoost[13],在上述两阶段方法中用XGBoost模型替换随机森林;
- ZILN[44],一种多任务学习方法,统一了二元分类和基于对数正态分布的回归;
- MDME[25],一种用于LTV预测的多分布多专家方法,是ODMN[25]的核心模块。
比较方法的性能列在表1中,我们有以下观察结果:
首先,我们发现不同的方法在不同的指标上可能有不同的排名。例如,在所有样本上,RF在MAE得分上表现较好,但在AUC方面表现较差。不同指标之间的不匹配主要是由于数据高度不平衡和异常数据的干扰。因此,仅使用RMSE和MAE来衡量模型性能是不够的。只有当一个模型在大多数指标上优于其他模型时,我们才能对其效果有信心。根据我们在实际场景中的长期经验,R2_score通常与实际在线性能具有最佳相关性。RMSE和MAE信息量较少,因为它们对异常值高度敏感。如果不支持使用多个指标,工业从业者可以选择它作为主要指标。其次,Linear和MLP模型在许多指标上表现不佳。这是因为它们受到极度不平衡数据的严重干扰,甚至偏向。似乎MLP比简单的线性回归模型更容易受到数据不平衡的影响,这可能是由于深度网络的高度非线性。这表明在基于深度学习的方法中,将LTV预测问题分解为分类任务和回归任务的合理性。第三,单阶段深度学习方法如ZILN和MDME通常优于两阶段方法(即RF和XGBoost)。这是因为两阶段中的独立模型无法共享它们的相互知识,并且第一个模型产生的错误完全由第二个模型继承。因此,在单个模型中统一这两个过程是更好的选择。第四,我们的CMLTV方法优于其他基线方法(在双侧t检验中 p < 0.05 p < 0.05 p<0.05的显著性水平上,在表现最佳的指标上进行评估)。这可能是因为我们的方法更好地防御数据噪声和波动,同时意识到样本之间的关系以克服数据稀疏性。因此,我们的方法比基线方法更稳健和准确。
由于ZILN、MDME和CMLTV独立于基础模型,我们使用它们来增强几种广泛使用的基础模型,包括MLP、DCN[42]和AutoInt[?]。结果如表2所示。我们观察到CMLTV始终优于ZILN和MDME,并且基于DCN的模型取得了最佳结果。这进一步验证了我们的方法在利用现有模型方面的有效性和通用性,这些模型已在其他任务(如CTR预测)中得到了很好的设计。
4.4 回归视图的有效性
在本节中,我们验证了我们多视角LTV预测模块中不同回归视图的有效性。我们比较了CMLTV与其不同回归视图移除的消融实验结果,如图4所示。在后续实验中,由于空间限制,我们仅报告所有样本的结果。我们发现不同的回归器在不同指标上具有不同的优势。例如,当移除基于伽马分布的回归器时,AUC显著下降,而当移除基于分类的回归器时,皮尔逊相关系数降幅最大。这一现象证实了不同的回归视图确实编码了异质和互补的知识,没有一个是多余的。因此,结合多视角回归器的预测可以在所有指标上保持令人满意的性能。
我们接着报告在我们的框架中单独使用不同类型回归器的结果,以支持我们方法中回归器的选择。这里我们比较五种不同的回归器,包括:(1)ZILN中的基于对数正态分布的回归器;(2)我们方法中的基于伽马分布的回归器;(3)基于负指数分布的回归器;(4)我们方法中的基于对数的回归器;(5)我们方法中的基于分类的回归器,结果如图5所示。我们发现,伽马分布比对数正态分布和指数分布更适合我们的场景中的LTV建模,这可能是因为图3中显示的分布曲线形状更符合伽马分布的形状。因此,我们在方法中选择了基于伽马分布的回归器。此外,基于对数和基于分类的回归器在不同指标上显示出优势和劣势,因此在联合优化时它们可以互补。基于上述分析,我们在多视角框架中结合这些回归器,以全面增强我们的模型。
4.5 混合对比学习的有效性
在本节中,我们分析了我们方法中两种对比学习损失的影响。我们方法中使用不同对比损失组合的结果如图6所示。我们观察到两种损失对模型学习都有益,但它们对模型性能的影响不同。分类对比学习损失主要提高AUC,这很直观,因为它应用于二元分类任务。相反,回归对比损失可以显著提高AUC和其他回归指标。这是因为它在预测购买概率和LTV得分之间建立了联系,因此分类和回归任务都可以从它们编码的相互知识中受益。此外,在我们的方法中结合这两个任务可以始终取得更好的结果,这验证了我们混合对比学习方法的有效性。
我们接着将我们提出的对比学习方法与其他成熟的对比学习策略进行比较,包括标准的成对方法和[41]引入的基于数据增强的方法。从图7所示的结果中,我们发现直接的成对对比机制对模型性能有负面影响。这很直观,因为它可能受到数据噪声和对比带来的不必要的预测偏差的影响。基于增强的对比方法也不如我们的混合对比方法。这是因为前者只能增强隐藏表示的判别能力,并且对不同样本的真实值标签之间的相关性一无所知。我们的混合方法可以在分类和回归任务中协同利用不同样本的监督信号,这在LTV预测中特别强大。
4.6 预测结果分析
我们接着展示了CMLTV预测得分的一些分析。我们首先在图8中展示了购买概率和预测的LTV得分的分布。请注意,小于1的LTV预测值被省略。我们发现大多数样本的预测购买概率较低。这很直观,因为购买行为通常是稀疏的。此外,我们发现不同回归器给出的回归结果在其分布上存在一些差异,而它们的形状通常是长尾的。因此,通过融合来自多个异质回归器的预测,模型可以对数据分布有更全面和更少偏见的理解。
我们还对我们方法输出的预测得分进行了进一步分析。我们计算了不同类型得分之间的皮尔逊相关系数,分别在所有样本或仅正样本上,其中LTV回归得分以线性和对数尺度呈现,如图9所示。我们发现不同回归器生成的回归结果高度相关(特别是在正样本上),但并不相同。这个结果表明不同的回归模块在大多数样本上有高度一致性,但在某些样本上存在差异。
4.7 超参数分析
在本节中,我们研究了两个关键超参数对我们方法的影响,即预测融合系数 α \alpha α和 β \beta β,它们控制最终预测中基于分布的回归器和基于对数的回归器的相对重要性。我们改变两个系数的值,对应的结果如图10所示。从结果中,我们发现不同指标的热图上的最佳点是多样的。例如,当 α = 1 \alpha = 1 α=1时,MAE最佳,而当 α = β = 0 \alpha = \beta = 0 α=β=0时,Spearman得分最佳。然而,为了在不同指标之间取得良好的平衡,我们倾向于选择这些系数的适中值。在我们的实验中,我们设置 α = β = 0.3 \alpha = \beta = 0.3 α=β=0.3,这确保了所有三种类型的回归器都能有效地对最终预测做出贡献,同时所有类型的指标在此点上都令人满意。在实际场景中,我们建议从业者根据相应应用中的关键指标搜索这些超参数。
5 在线评估
我们在华为的移动游戏中心部署了我们的CMLTV方法,用于游戏玩家的用户生命周期价值(LTV)预测。我们的模型给出的预测结果用于在“编辑推荐”的游戏展示板上生成个性化的游戏建议,如图11所示。我们在平台上进行了为期70天的在线A/B测试,以验证我们算法的有效性。
5.1 在线实验设置
在线A/B测试从2022年11月11日持续至2023年1月20日,共70天。我们模型的竞争对手是一个精心设计的基线模型,该模型也是通过多任务学习框架以端到端的方式学习的。为了公平比较,基线模型和我们的方法共享相同的输入特征和基本模型骨干。两个模型都定期在过去一个月的交易数据聚合数据集上重新训练。我们的模型部署在一个带有NVIDIA Tesla V100 GPU(32GB内存)的虚拟Linux计算节点上。在在线A/B测试中,随机选择20%的用户作为实验组,另有20%的随机选择用户作为对照组。实验组和对照组的流量分别由我们的方法和基线模型提供服务。预测的LTV与估算的转化率(以应用下载量为准)相乘,作为排序标准生成最终的推荐列表。
5.2 在线结果
这里介绍在线A/B测试的结果。我们的模型服务的流量相较于对照组流量实现了32.26%的支付金额提升,代价是增加了9%的推理延迟,这在我们的系统中是完全可以接受的。进一步分析表明,这一显著提升主要是由于低和中等消费水平用户的支付金额增加(高消费用户的收入贡献在基线和我们的方法中相似)。这一发现表明,我们的方法在提升广泛用户活跃度方面具有关键优势,而不仅仅是针对高消费用户。
由于我们CMLTV解决方案的出色表现,它已成为我们应用商店用户中心生态系统中的核心模块,为数亿用户的主要流量提供服务,涵盖各种类型的移动设备。由于我们方法中的多视角回归和混合对比学习模块是即插即用的技术,我们的解决方案有潜力在不同场景中赋能各种LTV预测模型。与许多现有解决方案相比,我们的方法对数据格式和模型管道的要求最小,因此可以轻松地被不同的工业系统采用。目前,我们正在将我们的解决方案转移到其他产品,如在线教育和广告。
6 结论与局限性
在本文中,我们提出了一种工业级的用户生命周期价值(LTV)预测解决方案,名为CMLTV。不同于传统的LTV预测范式,我们提出了一个多视角回归框架,结合了多种异质回归网络以捕捉互补知识,使得模型在处理噪声和波动的消费数据时具有更好的预测准确性和鲁棒性。此外,我们提出了一种混合对比学习机制,将样本之间的关系信息显式编码到模型学习中,同时在模型中建立二元购买分类器和LTV回归器之间的有机联系。因此,可以更好地利用训练样本的潜力,以应对数据稀疏性。广泛的离线和在线实验验证了我们的方法相对于基线方法的优越性。我们已将我们的解决方案在线部署,为数亿移动用户提供服务并改善他们的体验。
尽管我们的方法有效,但仍存在以下局限性。首先,由于预测的购买概率通常总是小于1,模型可能低估某些用户的实际LTV。其次,由于这些异常样本在训练数据中非常稀疏,我们的方法难以预测非常高的LTV。第三,我们的混合对比学习方法需要较大的批量大小,否则单个批次的正样本太少,损失波动较大。最后,由于缺乏先验知识,对于冷启动用户和物品的LTV预测较为困难[36]。我们将在未来探索这些方向。