Algorithm/formula 计算电子商务网站上的产品排名(基于以下标准)
Algorithm/formula to calculate Product ranking on a ecommerce website(Based on following criteria)
我一直在研究算法和公式来找出电子商务中可用产品的分数 website.Basically,我想计算某种分数以便在用户搜索产品时对产品进行排名。
我将介绍我计划定义的用于计算排名的标准的一些背景知识:
- Product Clicks
- Product views
- Product Conversions
- Product Rating(given by users)
- Relevance to the search string provided by user
理想情况下,我想要一种可以计算所有分数并对产品进行排名的算法 accordingly.I 我拥有所有可用数据,但我对我应该为所有参数赋予多少权重感到困惑上面有描述吗?
任何帮助将不胜感激!!
提前致谢。
编辑:
我计划按如下方式为每个参数分配权重:
- Product Clicks(CTR) : 1.0
- Product Views : 1.5
- Product Conversions : 4.0
- Product Rating : 2.0
计算分数的公式是什么?
考虑到产品的评分会使计算变得更加困难,因为评论的数量总是大大低于 view/sales/...所以产品评论的数量可能更大对产品评分的影响超出您的预期。
也许本文有帮助:http://web.engr.oregonstate.edu/~cscaffid/papers/eu_20070611_redopal.pdf
您可以将此问题设置为 预测 或 Learning-to-Rank 问题。首先,您要定义一个 objective 函数。一个合理的假设是,最终您想让用户尽可能轻松地购买您的产品,这意味着您希望将这些产品的排名尽可能高,以便他们最有可能购买。 "as high as possible" 的概念可以通过一种已知的排名度量(参见参考资料)来精确化,例如归一化折扣累积收益 (nDCG) 或购买的平均倒数排名 (MRR)。根据 预测转化率 或 购买概率 的统计模型对产品进行排名将引导您实现这一目标。
现在,让我们暂时做出以下简化假设:
- 没有查询(即每个用户看到相同的列表)。
- 每一天,每种产品的销售额与前一天完全相同。
- 每种产品每天至少购买一次。
- 用户查看结果列表中的每一项,然后决定是否购买以及购买什么。
在这种情况下,按前一天的销售额排名总是完美的。
当然,我们简化的太多了。
- 正如无处不在的财务免责声明所说,"past performance is not necessarily indicative of future results"。销售额随季节、每周和随机变化。
- 许多(通常是大多数)销售数据是稀疏;尤其是新产品根本没有数据,所以我们需要依赖其他信息。
- 用户通过键入查询来表达她的意图。理想情况下,我们可以通过分别记住每个查询的销售数字来减少这方面的问题;然而,在实践中,这会极大地加剧数据稀疏性问题,请参见 2)。
因此,您想通过输入特征(其中,昨天的产品转化率)的函数进行排名,以尽可能准确地预测今天的产品转化率。这个函数可以像您建议的那样简单,如特征的加权和,也可以像深度神经网络一样复杂。它们之间的共同点是如何计算模型参数: Collect training data at the end of day d: feature values from day d-1,以及在第 d 天观察到的转化。后者是我们的基本事实,但我们假装我们不知道它并尝试仅根据前者来预测它,例如,通过线性回归。这样做,(以前的)销售以外的特征将变得有用,以对抗稀疏性。
显然,我只触及了表面。有很多方面和改进;例如,上面的假设 4.) 显然是不现实的。由于注意力有限,用户只看最上面的结果,这导致了所谓的position bias.
不过,希望这个简短的总结能为您指明正确的方向。
我一直在研究算法和公式来找出电子商务中可用产品的分数 website.Basically,我想计算某种分数以便在用户搜索产品时对产品进行排名。 我将介绍我计划定义的用于计算排名的标准的一些背景知识:
- Product Clicks
- Product views
- Product Conversions
- Product Rating(given by users)
- Relevance to the search string provided by user
理想情况下,我想要一种可以计算所有分数并对产品进行排名的算法 accordingly.I 我拥有所有可用数据,但我对我应该为所有参数赋予多少权重感到困惑上面有描述吗?
任何帮助将不胜感激!!
提前致谢。
编辑: 我计划按如下方式为每个参数分配权重:
- Product Clicks(CTR) : 1.0
- Product Views : 1.5
- Product Conversions : 4.0
- Product Rating : 2.0
计算分数的公式是什么?
考虑到产品的评分会使计算变得更加困难,因为评论的数量总是大大低于 view/sales/...所以产品评论的数量可能更大对产品评分的影响超出您的预期。
也许本文有帮助:http://web.engr.oregonstate.edu/~cscaffid/papers/eu_20070611_redopal.pdf
您可以将此问题设置为 预测 或 Learning-to-Rank 问题。首先,您要定义一个 objective 函数。一个合理的假设是,最终您想让用户尽可能轻松地购买您的产品,这意味着您希望将这些产品的排名尽可能高,以便他们最有可能购买。 "as high as possible" 的概念可以通过一种已知的排名度量(参见参考资料)来精确化,例如归一化折扣累积收益 (nDCG) 或购买的平均倒数排名 (MRR)。根据 预测转化率 或 购买概率 的统计模型对产品进行排名将引导您实现这一目标。
现在,让我们暂时做出以下简化假设:
- 没有查询(即每个用户看到相同的列表)。
- 每一天,每种产品的销售额与前一天完全相同。
- 每种产品每天至少购买一次。
- 用户查看结果列表中的每一项,然后决定是否购买以及购买什么。
在这种情况下,按前一天的销售额排名总是完美的。
当然,我们简化的太多了。
- 正如无处不在的财务免责声明所说,"past performance is not necessarily indicative of future results"。销售额随季节、每周和随机变化。
- 许多(通常是大多数)销售数据是稀疏;尤其是新产品根本没有数据,所以我们需要依赖其他信息。
- 用户通过键入查询来表达她的意图。理想情况下,我们可以通过分别记住每个查询的销售数字来减少这方面的问题;然而,在实践中,这会极大地加剧数据稀疏性问题,请参见 2)。
因此,您想通过输入特征(其中,昨天的产品转化率)的函数进行排名,以尽可能准确地预测今天的产品转化率。这个函数可以像您建议的那样简单,如特征的加权和,也可以像深度神经网络一样复杂。它们之间的共同点是如何计算模型参数: Collect training data at the end of day d: feature values from day d-1,以及在第 d 天观察到的转化。后者是我们的基本事实,但我们假装我们不知道它并尝试仅根据前者来预测它,例如,通过线性回归。这样做,(以前的)销售以外的特征将变得有用,以对抗稀疏性。
显然,我只触及了表面。有很多方面和改进;例如,上面的假设 4.) 显然是不现实的。由于注意力有限,用户只看最上面的结果,这导致了所谓的position bias.
不过,希望这个简短的总结能为您指明正确的方向。