混排的那些事儿
混排,往往是的推荐系统的最后一个环节,在这个阶段,自然内容(后面简称 item)需要与营销内容(后面简称 ad)进行混合,生成最终推送给用户的 list
如果以 Long Term Value (LTV) 的视角来看,这是个在 LT 和 V 之间做 trade-off 的过程,ad 如果出得过多,必然会挤压 item 的数量和位置,进而影响用户体验和留存即 LT,但相应的广告收入,或者说 Average revenue per user (ARPU) 会提升,反之亦然
所以业界往往的做法是定一个用户体验的约束,在这个约束下尽可能优化 ad 的效率,即达到收入最大化,因此很自然可以把这个建模成一个最优化问题,LinkedIn 在 2020 年的这篇 paper 就是这么做的,Ads Allocation in Feed via Constrained Optimization
直观地看混排这个问题,有 2 个子问题需要解决
(1)怎么计算每个 item 或 ad 在每个位置上的价值:因为 item 和 ad 是各自排序的,目标不同,最终的值的量纲也不同,这么把两者的 scale 拉到可比范围是一个需要讨论的问题
(2)怎么分配能让最终 list 价值最大化:在 item 和 ad 的价值确认后,怎么插入 item 和 ad 的位置,从而达到整个 list 的最大化
上面提到的 LinkedIn 的 paper 重点是在解决第二个问题,部分内容也涉及到第一个问题 ;本文会先讲一下这篇 paper 的建模方法,然后讨论下计算 item 和 ad 价值的一些思路,混排中一些其他需要注意的事项