在电子商务网站上计算产品排名的算法/公式(基于以下标准)

时间:2015-05-12 12:13:25

标签: algorithm elasticsearch e-commerce ranking ranking-functions

我一直在研究算法和公式,以找出我的电子商务网站上可用产品的分数。基本上,我想计算某种分数,以便在用户搜索时对产品进行排名。 我将详细介绍我计划定义的标准以计算排名:

  
      
  • 产品点击
  •   
  • 产品视图
  •   
  • 产品转化
  •   
  • 产品评级(由用户提供)
  •   
  • 与用户提供的搜索字符串的相关性
  •   

理想情况下,我想要一个算法,我可以计算所有分数并相应地对产品进行排名。我有可用的所有数据,但我很困惑我应该给我上面描述的所有参数多少重量?

任何帮助将不胜感激!!

提前致谢。

修改: 我打算为每个参数分配权重,如下所示:

  
      
  • 产品点击次数(CTR):1.0
  •   
  • 产品浏览次数:1.5
  •   
  • 产品转化次数:4.0
  •   
  • 产品评级:2.0
  •   

可以用来计算得分的公式是什么?

2 个答案:

答案 0 :(得分:2)

您可以将此问题设置为预测Learning-to-Rank问题。首先,您要定义目标功能。一个合理的假设是,最终您希望让用户尽可能轻松地购买您的产品,这意味着您希望尽可能高地购买他们最有可能购买的产品。 "尽可能高的概念"可以通过已知的等级度量之一(参见参考)使其精确,例如购买的标准化折扣累积增益(nDCG)或平均互惠等级(MRR)。根据预测转化率购买概率的统计模型对产品进行排名将引导您实现此目标。

现在,让我们暂时做出以下简化假设:

  1. 没有查询(即每个用户都看到相同的列表)。
  2. 每一天,每件产品的销售额与前一天完全相同。
  3. 每件产品至少每天购买一次。
  4. 用户查看结果列表中的每个项目,然后决定是否购买以及购买什么。
  5. 在这些条件下,按前一天的销售排名总是很完美。

    当然,我们已经简化了太多。

    1. 正如无处不在的财务免责声明所说,"过去的表现并不一定表示未来的结果"。销售季节性变化,每周变化,随机变化。
    2. 许多(通常是大多数)销售数据稀疏;特别是新产品根本没有数据,因此我们需要依赖其他信息。
    3. 用户通过键入查询来表达其意图。理想情况下,我们可以通过单独记住每个查询的销售数量来减少这方面;然而,在实践中,这将极大地加剧数据稀疏性问题,见2)。
    4. 因此,您希望按输入功能(其中包括昨天的产品转换)功能进行排名,以尽可能准确地预测今天的产品转换。这个函数可以像你提出的那样简单到加权的特征和,或者像深度神经网络一样复杂。它们之间的共同点是如何计算出模型参数:在一天结束时收集训练数据 d :日期 d-1中的特征值,以及 d 日发现的转化次数。后者是我们的基本事实,但我们假装我们不知道它并试图仅基于前者预测它,例如通过线性回归。这样做,除了(以前的)销售以外的功能将变得有用,以对抗稀疏性。

      显然,我只是划伤了表面。有许多方面和改进;例如,上述假设4.)显然是不现实的。由于注意力有限,用户只会查看最顶层的结果,这会导致所谓的位置偏差

      但是,希望这篇简短的摘要能够指出正确的方向。

答案 1 :(得分:1)

考虑到产品的评级使得计算更加困难,因为评论的数量总是远远低于观看次数/销售额......所以产品评论可能会对产品产生更大的影响得分比你想要的要高。

也许这篇论文有帮助:http://web.engr.oregonstate.edu/~cscaffid/papers/eu_20070611_redopal.pdf