同一个球迷,三种可能的下一单

以一个模拟场景为例:一位用户过去两年在商城里买过两件主队主场球衣和一条围巾,最近三周却频繁浏览某前锋代言的一款训练鞋,同时把一套护腿板和球袜加进了收藏夹。距离主队下一个主场比赛日还有十天,新赛季第三球衣也刚刚上架。这时推荐系统面前摆着三个方向:新款球衣、那双训练鞋,还是一套比赛装备?

如果直接把全站几万件商品丢进排序模型,结果往往是“最近看过什么就推什么”,训练鞋会被反复推送。但这位用户真正处在什么阶段,需要先回答一个更粗粒度的问题:他下一次更可能买的是哪一类商品。

先猜品类,再挑单品

在体育电商里,品类层面的下一单预测(Next Category Prediction)通常比单品排序更稳定。原因很简单:单品受库存、颜色、尺码和上新节奏影响很大,而品类背后对应的是用户的动机——支持球队、模仿球员、自己下场运动,这三种动机分别指向球衣、球鞋和比赛装备。把问题拆成两层,第一层判断“买哪一类”,第二层才在这个品类里挑具体商品,推荐位就不会被一次偶然的浏览绑架。

在欧宝体育的 Recommendation Engine 里,第一层输出的是一组品类概率。示例数据中,这位用户的结果可能是:比赛装备 0.46、球鞋 0.31、球衣 0.18、其他 0.05。第二层再结合库存与尺码,在比赛装备里挑出护腿板、球袜和训练短裤的组合。

六类信号分别在说什么

  • Team(球队):用户关注的主队、所在城市、观赛记录。强球队信号通常拉高球衣和纪念品,但对球鞋几乎没有解释力。
  • Athlete(球员):用户反复查看的球员内容与代言商品。球员信号是球鞋需求的主要来源,也会影响背号球衣的选择。
  • History(历史):过去买过什么、多久买一次、退换货原因。刚买过球衣的人短期内再买球衣的概率会下降,这一点在刚买完主队球衣的推荐问题里有详细讨论。
  • Event(赛事):比赛日、赛季开幕、新球衣发布、杯赛淘汰阶段。赛事节点改变的是购买的时间窗口,而不仅是兴趣本身。
  • Price(价格):用户的历史客单价、是否只在折扣时下单。球衣和专业球鞋的价格带差异很大,价格敏感的用户更可能先买配件和装备。
  • Interest(兴趣):浏览、收藏、搜索词、停留时长。兴趣信号最活跃也最嘈杂,需要和前五类信号互相校验。

把信号翻译成购买动机

单看某一个信号很容易误判。继续上面的模拟场景:用户浏览训练鞋,球员信号很强;但他同时收藏了护腿板和球袜,搜索词里出现了“五人制”“人造草”,历史记录显示他从未买过球鞋,平均客单价处在中低区间。把这些放在一起看,更合理的解释是:他最近开始自己踢球,训练鞋是一个被球员代言吸引的高价选项,而装备才是他当下真正缺的东西。

所以模型需要学的是“信号组合对应什么动机”,而不是把每个信号单独打分后相加。一个实用做法是为每位用户维护三条动机得分——支持球队、追随球员、自己运动——然后让品类预测建立在动机得分的变化上。当“自己运动”的得分在四周内持续上升,比赛装备和球鞋的权重才同步上调;如果只是某一天的浏览突增,权重变化应当很小。

信号互相矛盾时听谁的

实际数据里,六类信号经常互相打架。一个常见的模拟情况是:用户的球队信号很强,比赛日也临近,按理应该推荐球衣;但价格信号显示他最近两次都只在大促时下单,而距离下一次折扣活动还有三周。此时直接推原价新球衣,转化率往往很低。

比较实用的处理原则有三条。第一,时间敏感的信号优先于长期偏好:比赛日、开幕周这类窗口一旦错过就不再回来,而长期偏好下个月依然有效。第二,约束型信号优先于兴趣型信号:尺码、预算和退货记录决定的是“能不能买”,兴趣决定的是“想不想买”,前者不满足时,后者再强也难以成交。第三,当两种动机得分接近时,不急于二选一,而是用分屏推荐同时覆盖,把判断交给用户的下一次点击和加购。

季节性和尺码会改写结果

品类预测如果忽略时间,很快会失灵。体育商品有明显的季节性:新赛季开幕前后是球衣的集中购买期,赛季中段装备和配件更活跃,冬歇期或转会窗口里球员相关商品的波动更大。示例数据中,同一批用户在开幕前两周购买球衣的概率可能是赛季中段的两倍以上,而比赛装备的购买则更平均地分布在全年。

尺码是另一个常被忽略的变量。球衣可以买大一号,球鞋和护具却不行。如果用户在球鞋品类有过因尺码退货的记录,下一次推荐球鞋时,系统应该优先展示尺码齐全、支持换码的款式,甚至暂时降低球鞋品类的权重,先推荐尺码风险更低的装备。尺码数据也会反过来提供信号:一位用户突然开始查看儿童尺码的球衣和球鞋,购买动机很可能已经从“给自己买”变成了“给孩子买”。

推荐位怎么排,下单后怎么验证

品类概率确定后,推荐位不需要只放一个品类。比较稳妥的排法是:首屏放概率最高的品类,第二屏放第二品类,第三屏保留一个探索位,用来测试模型可能低估的方向。对上面的用户来说,首屏是训练装备组合,第二屏是两双价格适中的人造草场地鞋,探索位留给新赛季第三球衣。

验证不能只看点击率。更有意义的指标包括:

  1. 品类命中率:用户下一单实际落在哪个品类,与预测概率最高的品类是否一致。
  2. 跨品类转化:推荐是否帮助用户从球衣买家顺利扩展到装备或球鞋,而不是被反复推同一类商品。
  3. 尺码退货率:球鞋和护具的推荐是否带来了更多因尺码产生的退货。
  4. 时间窗口误差:预测的购买时点和实际下单时点相差多少天。

体育电商推荐的实践中,品类预测最大的价值不是让某一次推荐更准,而是让推荐系统知道自己在回答哪个问题。接下来值得持续观察的是动机得分的迁移:一位球迷从支持球队走向自己下场运动,往往意味着他未来一年的消费结构都会改变,这比任何一次点击都更值得被系统记住。