您可以将此问题设置为预测或学习排名问题。首先,您要定义一个目标函数。一个合理的假设是,最终您希望让用户尽可能轻松地购买您的产品,这意味着您希望将这些产品排在他们最有可能购买的尽可能高的位置。“尽可能高”的概念可以通过一种已知的排名度量(参见参考资料)来精确化,例如标准化折扣累积收益 (nDCG) 或购买的平均倒数排名 (MRR)。根据预测转化率或购买概率的统计模型对产品进行排名将引导您实现这一目标。
现在,让我们做以下简化假设:
- 没有查询(即,每个用户都看到相同的列表)。
- 每天,每种产品的销售额都与前一天完全相同。
- 每个产品每天至少购买一次。
- 用户查看结果列表中的每个项目,然后决定是否购买以及购买什么。
在这种情况下,按前一天的销售额排名总是很完美的。
当然,我们已经简化了太多。
- 正如无处不在的财务免责声明所说,“过去的表现并不一定预示着未来的结果”。销售额随季节、每周和随机变化而变化。
- 许多(通常是大多数)销售数据是稀疏的;特别是新产品根本没有数据,所以我们需要依靠其他信息。
- 用户通过键入查询来表达她的意图。理想情况下,我们可以通过分别记住每个查询的销售数字来减少这一方面;然而,在实践中,这会极大地加剧数据稀疏问题,参见 2)。
因此,您希望通过输入特征(其中包括昨天的产品转化)的函数进行排名,以尽可能准确地预测今天的产品转化。这个函数可以像你建议的那样简单,就像特征的加权总和一样,也可以像深度神经网络一样复杂。其中常见的是如何计算模型参数:在第 d 天结束时收集训练数据:第d-1天的特征值,以及第d天观察到的转换。后者是我们的基本事实,但我们假装我们不知道它并尝试仅基于前者来预测它,例如,通过线性回归。这样做,(以前的)销售以外的功能将变得有用,以对抗稀疏性。
显然,我只是触及了表面。有很多方面和细化;例如,上面的假设 4.) 显然是不现实的。由于注意力有限,用户只看最上面的结果,这导致了所谓的位置偏差。
然而,希望这份简短的总结能为您指明正确的方向。