← 返回 2026-11-10

LCM-Promo:基于大语言模型的促销分配提升模型 LCM-Promo: An LLM-Based Uplift Model for Promotion Allocation

Nesta Midavaine, Floris Fok, Paulo Mendes, Joao Silva, Önder Akaçık, Dimas Lima, Zülküf Genç 📅 2026-10-27 👍 3 2026-11-11 18:00
促销分配 因果推断 大语言模型 工业应用 提升建模

微调LLM单token预测转化阈值,构造单调促销响应曲线,A/B测试转化+1%、成本−6%

前置知识

提升建模(Uplift Modeling)

一种因果机器学习任务:不预测用户“会不会转化”,而是预测“展示干预(如促销)比不展示能让转化概率提高多少”,即个体处理效应 ITE。常见做法包括双模型法、提升树/因果森林以及基于 transformed outcome 的方法,训练数据通常来自随机对照实验(RCT),评估使用 AUUC、Qini、Uplift@k 等曲线型指标。

本文的整个框架就是把促销投放形式化为提升建模问题,理解 ITE 与 AUUC/Qini 才能读懂它的实验设计与对比基线的含义。

转化阈值模型

把用户对递增强度干预的响应概括为一个潜在阈值 $T$:给定按强度排序的档位 $d_0,\dots,d_K$,$T=d_k$ 表示用户恰好从第 $k$ 档起才会转化,$T=\infty$ 表示任何档位都不会购买。于是第 $k$ 档的响应概率就是累计分布 $P(T\le d_k)$,天然单调非降,无需额外约束。

这是 LCM-Promo 的核心解释框架:模型输出的折扣标识符分布被直接读作 $T$ 的概率质量函数,促销响应曲线由累计求和得到。

受限解码与单 token 预测

让 LLM 只在一个小子集(本文中是折扣标识符 $a_0,\dots,a_K$ 和“不转化” $a_\varnothing$)上输出 next-token,并对这些 token 的概率重新归一化,从而把语言模型的开放生成问题变成受限分类问题。好处是可以直接复用下一 token 预训练学到的能力,微调成本很低。

本文方法的全部数学(归一化公式、PMF 解释、单调响应曲线)都建立在受限解码之上,不读懂它就无法理解响应曲线从何而来。

AUUC 与 Qini 指标

离线提升评估指标:把人群按预测提升从高到低排序,逐点累计“处理组转化减去对照组转化”画出提升曲线,曲线下面积即 AUUC;Qini 曲线类似但修正了处理/对照组样本量不平衡。Uplift@k 只看前 k% 高分人群的累计提升。数值越大说明模型越能把高增量用户排在前面,排序质量越高。

论文离线实验全部用这三个指标呈现,必须知道其含义才能判断 0.0608 对 0.0578 这类差异究竟说明什么、量级有多大。

Segment-EMA 基线

iFood 原有的生产促销策略:在“细分人群 × 促销档位”的每个单元格上用指数加权移动平均(EMA)预测订单量,再据此分配预算。它依赖每个单元格内积累的历史观测,每新增一种折扣、一个人群维度或一个上下文条件都要重新探索,因此切分粒度受限(生产上约 50 个细分、10 种钱包配置)。

它是 A/B 测试的对照组,也是论文动机(单元格粒度受限、无法泛化到新组合)的具体载体,理解它才能明白 +1%/−6% 提升的参照系。

研究动机

在 iFood 这类外卖平台上,促销是短时效且强依赖上下文的:效果随星期几、配送时段(午餐/晚餐)、商品品类和折扣机制剧烈变化。原有生产系统 Segment-EMA 用指数加权移动平均在“细分人群 × 促销档位”的单元格里预测订单量,其根本缺陷是每新增一种折扣、一个人群维度或一个上下文条件,都必须在该单元格内重新探索积累数据,导致切分粒度受限——生产上只能支撑约 50 个细分人群和 10 种钱包(wallet)配置。更本质的问题在于,促销投放应当建模为提升(uplift):要估计的是“展示促销比不展示让用户转化概率提高多少”这一因果增量,而不是对单元格里历史订单量做外推。用 EMA 外推均值既回答不了因果增量问题,也无法在促销组合数以百万计的组合空间中泛化,这正是本文要解决的具体场景。

本文的目标是本文的目标是构建一个能直接用于生产促销分配的任务专用大商业模型 LCM-Promo:以微调后的 LLM 作为提升模型,从生产日志(而非昂贵的随机对照实验数据)中学习用户对促销的响应,并把模型输出转换成一条按折扣深度单调非降的促销-响应曲线。这条曲线要同时服务两个用途:一是在全局预算约束下供线性优化分配器做促销分配决策,二是支持离线提升评估(AUUC、Qini 等指标)。最终目标是在真实生产环境中验证价值:在 iFood 巴西全境的流失用户召回场景做为期一个月的 A/B 测试,证明相对原 Segment-EMA 基线,能在提升转化(相对 +1%)的同时降低促销成本(相对 −6%),并随后把系统推广到全部流失用户。

与已有工作不同的是,本文的独特切入角度是把“用户在哪个折扣档位才会转化”建模为 LLM 的单 token 分类问题。已有方法要么用树模型/神经网络在特征表上估计提升,要么让 LLM 直接输出转化与否的判断、单调性靠后处理约束;本文让 LLM 在按折扣深度递增排序的折扣标识符上做单 token 预测,解码时把该 token 的分布解释为潜在转化阈值 $T$ 的概率质量函数,累计求和即得响应曲线,单调性由构造免费获得。另一个差异化设计是把会话上下文(星期几、配送时段等)作为 prompt 输入直接序列化进模型,而不是像 Segment-EMA 那样为每种上下文组合单开预测单元格,从而使分配空间从约 50 个细分 × 10 种钱包配置扩展到 1000+ 聚类和超过 100 万种促销组合。

核心方法

整体思路是“把折扣选项当作词表,把转化阈值当作标签”。每个 prompt 由四部分拼成:系统提示、会话上下文(如星期几、配送时段)、由另一个 LCM 表征模型把用户原始历史行为日志转写成的结构化行为摘要,以及映射为字母标识符的折扣选项。设折扣集合 $D=\{d_0,\dots,d_K\}$ 按折扣深度递增排序,$a_k$ 为 $d_k$ 的标识符,$a_\varnothing$ 表示不转化;模型是 4B 参数稠密架构微调的 LLM,以观测到的“转化时所用折扣”为标签做交叉熵训练,非转化者标签为 $a_\varnothing$。推理时只允许模型在合法标识符上输出,对 next-token 分布做受限归一化:$$q_i(x)=\frac{p_\theta(a_i\mid x)}{\sum_{j=0}^{K}p_\theta(a_j\mid x)+p_\theta(a_\varnothing\mid x)}$$ 将 $q_i(x)$ 解释为潜在转化阈值 $T$ 的概率质量函数,做前缀和即得响应曲线 $r_k(x)=\sum_{j=0}^{k}q_j(x)$,单调非降由构造保证。

核心创新是把提升估计转化为对潜在转化阈值 $T$ 的分布预测:$T=d_k$ 表示用户最少要在折扣 $d_k$ 下才会转化,$T=\infty$ 表示任何可用折扣都不会购买。模型输出的标识符分布 $q_i(x)$ 被解释为 $T$ 的概率质量函数,响应曲线即累计概率 $r_k(x)=P(T\le d_k\mid x)=\sum_{j=0}^{k}q_j(x)$;因为折扣档位天然有序,这条曲线单调非降是构造性质而非训练后的正则化技巧,$a_\varnothing$ 上的概率质量则允许 $r_K(x)<1$,相对无折扣的提升可直接从曲线导出。这与已有把 LLM 当二分类器用(输出“是否转化”)的做法有本质区别:后者单调性只能靠后处理强行约束,而本文靠标识符的序结构加受限解码免费获得单调响应曲线,并且训练只需生产日志中的观测折扣标签,完全不依赖随机对照数据。

方法步骤详情

第一步,用户表征:另一个 LCM 表征模型把用户原始历史交易日志转写为结构化行为摘要(输入原始日志,输出摘要文本)。第二步,prompt 组装:系统提示 + 会话上下文(星期、配送时段等)+ 行为摘要 + 按折扣深度递增排序、映射为字母标识符的折扣选项 $D=\{d_0,\dots,d_K\}$。第三步,微调:4B 稠密模型以观测转化折扣为标签做交叉熵训练,非转化者标签记 $a_\varnothing$。第四步,受限解码:推理时把 next-token 分布限制在合法标识符上并归一化,得 $q_i(x)$。第五步,构曲线:计算 $r_k(x)=\sum_{j=0}^{k}q_j(x)$ 得单调响应曲线,进而导出相对无折扣的提升。第六步,生产化:每天午、晚各推理一次,用户按城市×会话×生命周期聚类,用自助法确定样本量的随机采样估计簇级平均曲线,交给全局预算约束下的线性优化分配器;模型以 vLLM 自托管在 8 张 H200 上每天运行 1 小时。另评估了 waterfall 变体:转化于 $d_k$ 则所有 $d_j\ge d_k$ 标为正、平滑成软目标做交叉熵,但效果更差。

技术新颖性

技术新颖性有三层。其一,序结构换单调性:把“折扣档位天然有序”这一先验编码进标签词表,配合受限解码与归一化,使响应曲线的单调性成为构造性质,而不是训练后附加的正则化或裁剪步骤——这是与既有 LLM 提升建模工作最本质的区别。其二,数据效率:训练只用生产日志中“转化时所用折扣”作为阈值 $T$ 的代理标签,避免了 Segment-EMA 为每个新折扣/人群单元重新探索的成本,也不需要为训练专门做随机对照实验。其三,上下文即 prompt:会话上下文不再是独立预测单元格而是序列化输入,借助预训练语言模型的泛化能力,分配空间从约 50 个细分、10 种钱包配置扩展到 1000+ 聚类和超过 100 万种促销组合。作者还用 waterfall 标签编码做了消融,其失败(AUUC 从 0.0608 跌到 0.0278)从反面证明单 token 阈值目标与 LLM 下一 token 预训练目标的兼容性是方法成立的关键。

实验结果

线上:在 iFood 巴西全境流失用户召回场景做一个月 A/B 测试,90% 对照组跑 Segment-EMA、10% 实验组跑 LCM-Promo,两组共用同一全局预算约束和线性优化分配器,只替换响应模型。结果转化率相对提升 +1%,总促销成本相对下降 −6%;分配空间从约 50 个细分扩展到 1000+ 聚类、从 10 种钱包配置扩展到超过 100 万种促销组合,随后推广到全部流失用户。推理每天午晚各一次,vLLM 自托管在 8 张 H200 上每天运行 1 小时。线下:在固定促销的 RCT 数据上与 causalml 的 Uplift Random Forest(用数月 RCT 数据训练)对比,LCM-Promo 仅用生产日志训练:后处理版 AUUC 0.0608±0.0032 对 RF 的 0.0578±0.0064,Qini 0.0490±0.0028 对 0.0466±0.0053,小幅领先且方差更小;但 Uplift@30 为 0.1626±0.0035,低于 RF 的 0.1708±0.0064;waterfall 变体全面落后(AUUC 0.0278±0.0036)。作者强调线下基准只是上线前验证而非优越性证据。

Online A/B test. Lifts relative to Segment-EMA baseline.
Table 1: Online A/B test. Lifts relative to Segment-EMA baseline.
Offline uplift metrics on churn users.
Table 2: Offline uplift metrics on churn users.
查看结构化数据
任务指标本文基线提升
线上 A/B 测试(巴西流失用户召回,一个月,90/10 分流) 相对转化率提升 +1% Segment-EMA(iFood 原生产策略) 转化率相对提升 1%
线上 A/B 测试(巴西流失用户召回,一个月,90/10 分流) 总促销成本 −6% Segment-EMA(iFood 原生产策略) 促销成本相对降低 6%
离线 RCT 评估(固定促销,流失用户) AUUC 0.0608 ± 0.0032 Uplift Random Forest:0.0578 ± 0.0064 +0.0030(约 +5%,且方差更小)
离线 RCT 评估(固定促销,流失用户) Qini 0.0490 ± 0.0028 Uplift Random Forest:0.0466 ± 0.0053 +0.0024(约 +5%,且方差更小)
离线 RCT 评估(固定促销,流失用户) Uplift@30 0.1626 ± 0.0035 Uplift Random Forest:0.1708 ± 0.0064 −0.0082(低于基线约 5%)

局限与改进

作者明确承认结果只覆盖单一生命周期阶段(流失召回)和单一平台(iFood),向其他生命周期阶段与电商平台的迁移仍在进行中。我自己的观察:其一,训练标签用“转化时所用折扣”代理真实阈值 $T$,但用户一个月内可能看到多个 offer 而最多转化一次,观测折扣至多是真实阈值的删失版本,会系统性压低响应曲线;其二,线下基准是固定促销的窄设定,与线上多折扣深度、多会话上下文、多钱包配置的真实分布并不一致,线下 AUUC 仅 +0.0030 的领先落在误差棒边缘;其三,线上 +1% 转化提升未报告置信区间或显著性检验,而实验组只占 10% 流量,统计功效存疑;其四,为可行化而做的簇级采样平均牺牲了逐用户个性化;其五,waterfall 失败只有一句猜测(与预训练目标冲突),缺乏深入消融;其六,无公开代码与数据,也缺少 LLM 推理开销与简单模型加更多特征的成本-收益对比。

独立分析的弱点

第一个弱点是阈值代理偏差:只有当用户在被展示的所有折扣档位上都有充分探索机会时,观测折扣才接近真实 $T$,而生产日志中的展示策略本身有偏,改进方向是引入逆倾向加权(IPW)或删失回归来显式校正。第二个弱点是簇级平均:为满足每日两次推理的时延与算力约束,逐用户响应曲线被按城市×会话×生命周期聚类平均,丢掉了 prompt 建模本可提供的细粒度个性化,改进方向是把逐用户曲线预计算缓存,或蒸馏到轻量模型供实时调用。第三个弱点是基线偏弱:线下只与 Uplift Random Forest 比较,未涵盖 DR-learner、因果森林等现代提升方法,+0.0030 的 AUUC 领先又处在误差棒边缘,改进方向是补齐基线并做显著性检验。第四个弱点是 waterfall 失败仅有猜测性解释,改进方向是改用与下一 token 目标兼容的编码,例如在解码端加序约束或改用有序回归头。第五个弱点是缺少校准分析:$q_i(x)$ 是否可靠地反映真实概率没有任何评估,改进方向是温度缩放与共形校准,为分配器提供置信度。第六个弱点是方法只在单转化场景成立,多次购买用户的阈值定义需要重新设计。

未来方向

作者提出的方向:把方法推广到更多生命周期阶段和其他电商平台,并把 LCM 专化到更广泛的商业决策场景(如用户定向投放、商家运营),这也是 Prosus 大商业模型(LCM)体系的宏观路线。基于本文成果可延伸的工作:一是把“阈值-解码”范式迁移到其他有序决策问题,如动态定价档位、信贷额度、召回券面额的选择;二是研究删失感知训练与主动探索策略,让生产日志中的展示偏差被显式校正,逼近真实阈值 $T$;三是结合共形预测为响应曲线提供置信带,支撑更稳健的预算分配;四是端到端联合优化响应模型与线性分配器,让解码分布直接服务预算约束下的收益最大化;五是发布面向 LLM 提升建模的公开 RCT 基准数据集,弥补该方向缺乏可比数据的现状;六是检验多转化场景(用户月内多次购买)下阈值模型的适用边界与扩展形式。

复现评估

复现难度偏高,主要障碍在数据而非算法。论文未开源代码与数据:基座模型只透露为 4B 参数稠密模型(未给出具体名字),训练数据是 Prosus/iFood 的专有生产日志,评估用的 RCT 数据同样不公开,因此完整复现论文中的具体数字基本不可行。可以复现的部分:方法本身工程上很轻——受限解码加累计求和即可实现核心算法;causalml 的 Uplift Random Forest 基线开源可得;服务侧的 BESH 批量端点(文献 [4])和 vLLM 都是开源项目;推理算力为 8 张 H200 每天运行 1 小时,训练算力未披露但有 4B 参数规模可作参考。拥有自有交易日志和一定 RCT 数据的团队可以复现“生产日志训练 + RCT 评估”的方法骨架并验证可行性,但线上 A/B 结论只能自行重跑,综合评估复现难度为中等偏难。

相似论文推荐