电商广告场景,一天样本量:曝光 1 亿、点击 500 万(CTR 5%)、下单 10 万(点击后 CVR 2%)。你现在的做法是:在点击样本上训练 CVR 模型,线上对全量曝光用 pCTR × pCVR 排序。上线后离线 AUC 0.80 看着不错,但线上收入反而不如只用 pCTR 排序。请分析原因,并说明你会怎么改。要求覆盖:(a) 训练空间与推理空间不一致会带来什么;(b) 转化延迟怎么处理;(c) 上线前看哪些指标能避免「离线涨、线上跌」。
面试官在考什么
判断候选人是否真正理解样本空间偏差、延迟转化和概率校准这三件在 CVR 建模里必须同时处理的事,以及他知不知道离线排序指标与线上收入之间的鸿沟在哪。
回答框架 · 前两步
- SSB:训练空间是有点击的 5% 有偏子集,推理空间是全量曝光,两个空间的特征分布不同,模型学到的条件概率在全空间上不是无偏的,pCTR×pCVR 的排序会被带偏。
- 常见解法是在曝光空间建模 pCTCVR = pCTR × pCVR(两塔共享底层 embedding,CVR 塔只在点击样本上传梯度),从而在全空间得到一致的排序;也可以用重要性加权做样本修正,但工程上更常用前者。
还有 3 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。
同一能力域的其他题
- 冷启动问题你会怎么处理?新用户和新物品的策略一样吗?请分别说。
- 离线 AUC 涨了但线上 CTR 没涨,你会按什么顺序排查?请给出具体清单。
- CTR 模型里为什么要用 GAUC 而不只看 AUC?GAUC 是怎么算的、它解决了什么问题?
- 特征工程里你会怎么做特征穿越(label leakage)的检查?请举一个推荐场景里常见的穿越例子。
- 你做过线上 A/B 实验,请说明分流、样本量、显著性判断的要点。如果一个实验 p 值不显著,你怎么处理?
- 你在做一个首页信息流的 CTR 模型,要加一维特征「用户过去 7 天在该一级类目下的点击率」。训练样本取自 8 月 1 日–8 月 7 日的曝光日志(每天约 2 亿条),你打算 1–6 日做训练、7 日做验证。请说明:这个特征的统计窗口在离线训练和线上 serving 分别应该怎么算?为什么不能直接对整份日志算一个「过去 7 天」的统计再 join 回每条样本?