真实面经题目 · 原创解析

京东商品详情页“XXX 也买过”推荐模块如何设计,如何做候选召回、排序特征、冷启动和线上 CTR/CVR/GMV 评估?

这题考商品详情页 item-to-item 推荐模块设计。回答应围绕“也买过”的共购语义,讲清候选召回、排序特征、冷启动、去重多样性、业务约束,以及用 CTR、CVR、GMV、加购率和护栏指标做线上实验评估。

出现于:京东 · 算法

60 秒回答模板

我会先定义这个模块的目标:在商品详情页,根据当前商品推荐用户可能继续购买或搭配购买的商品,所以它更偏 item-to-item 和共购关系,不是简单相似商品。召回层可以多路并行:第一是共购图,从订单里构建 item-item 共现边,按同一订单、同一用户短期购买、时间衰减和品类关系计算关联强度;第二是行为协同,比如同看、同加购、同收藏、同搜索后的购买;第三是 embedding 召回,用商品文本、图片、类目、属性和行为序列学习向量;第四是规则和运营召回,比如配件、耗材、套装、同品牌互补品和高转化商品。排序层要结合当前商品、候选商品、用户和场景特征:共购强度、转化率、价格带、类目互补性、品牌关系、库存、配送时效、评价、毛利、促销、用户偏好、历史购买去重和实时上下文。模型可以从 GBDT/LR 到 DNN 或多任务排序,预测 CTR、CVR、加购率和 GMV 贡献,再加多样性、去重、价格和业务规则重排。冷启动时,新商品可用类目、标题、属性、图片 embedding、店铺和品牌先召回,积累曝光点击加购购买后逐步切到行为共购。线上评估不能只看 CTR,因为低价或标题党商品可能点击高但成交差,要同时看 CTR、CVR、加购率、GMV、客单价、连带率、退货率、用户停留和主商品购买是否被干扰,并通过 A/B 实验分品类、价格带和新老用户分析。

考点 共购图召回
难度 真实面经题
回答目标 让候选人把商品详情页推荐讲成可上线的 item-to-item 推荐系统:候选召回有共购和内容补足,排序有多目标特征,冷启动有先验,线上评估能证明交易收益且不伤害用户体验。

深入解析

01

模块目标是共购和互补

商品详情页的“也买过”强调用户看当前商品后还可能购买什么,核心语义是共购、搭配、互补和继续决策。它和“相似商品”不同:相似推荐可能替代当前商品,而共购推荐更希望提升连带购买、加购和订单价值,同时不能干扰用户对主商品的购买决策。

02

候选召回要多路覆盖

候选召回可以包括订单共购图、用户行为协同、序列模型召回、商品内容向量、类目搭配规则和运营池。共购图按订单或短时间窗口构建 item-item 边,加入时间衰减、去热门偏置、类目约束和置信度;内容召回用于补足行为稀疏商品;规则召回用于配件、耗材、组合装等强业务关系。

03

排序特征要同时看商品、用户和场景

排序不能只依赖共购次数。特征应包括当前商品和候选商品的类目、品牌、价格差、属性互补、评价、库存、配送、促销、历史 CTR/CVR、共购强度、用户偏好、用户价格带、近期行为、是否已买、是否同店、是否有售后风险,以及当前流量入口、设备和活动场景。

04

排序目标要兼顾点击和成交

详情页推荐如果只优化 CTR,容易推荐吸睛但不成交的商品。更稳的是多目标建模,预测点击、加购、购买、GMV、利润或连带率,并通过重排控制多样性、去重、曝光疲劳、价格区间和业务安全。对于不同品类,目标权重可能不同,例如快消更看复购和搭配,3C 更看配件和服务。

05

冷启动依赖内容和结构先验

新商品缺少共购边时,可以用类目、品牌、标题、属性、图片 embedding、店铺、价格带、相似商品和人工搭配规则召回。新用户则用当前浏览商品、入口、地域、设备、实时行为和全站热门搭配。随着曝光、点击、加购和成交积累,再逐步提高协同和共购信号权重。

06

线上评估要看主指标和护栏

线上 A/B 实验要明确随机化单位、曝光口径和归因窗口。主指标可看模块 CTR、加购率、CVR、GMV、连带购买率和客单价;护栏指标要看主商品转化是否下降、退款退货、投诉、缺货点击、页面性能、用户跳出和推荐多样性。还要按品类、价格带、流量来源和用户类型分层分析。

易错点

  • 把“也买过”答成普通热门推荐,没有讲 item-to-item 共购关系。
  • 只用共购次数召回,不做去热门、时间衰减、类目约束和多路补足。
  • 排序只看 CTR,忽略 CVR、GMV、连带率、主商品转化和退货投诉。
  • 冷启动只说推热门商品,没有利用类目、属性、图片文本 embedding 和搭配规则。
  • 不做已购过滤、相似去重和多样性控制,导致推荐重复、无关或干扰购买。
  • 线上实验没有分品类、价格带和用户类型分析,平均指标掩盖局部伤害。

面试官追问

“也买过”和相似推荐有什么区别?

相似推荐更偏替代关系,帮助用户比较同类商品;“也买过”更偏共购和互补关系,帮助用户发现配件、耗材、组合品或后续可能购买的商品。两者召回和排序目标不同。

共购图如何避免热门商品支配推荐?

可以对共购次数做归一化,例如使用 lift、PMI、条件概率、时间衰减和类目约束,降低全站热门商品的泛化影响。同时在重排阶段控制多样性和业务相关性。

新商品没有购买记录怎么办?

先用内容和结构先验召回,包括类目、属性、标题、图片向量、品牌、店铺、价格带、相似老商品和搭配规则。等有点击、加购、成交后,再逐步引入行为协同和共购边。

为什么线上不能只看 CTR?

CTR 高不代表成交高,也可能吸走主商品注意力。详情页推荐更需要看 CVR、加购、GMV、连带率、客单价和主商品转化护栏,避免点击上涨但整体交易价值下降。

如何处理用户已经买过或不需要重复购买的商品?

要结合用户购买历史、商品消耗周期、复购周期和品类属性过滤或降权。耐用品可过滤已买同款,快消和耗材可以根据复购周期保留,配件类则看是否与当前商品互补。