按计算因子对产品进行排序

时间:2014-06-28 11:17:20

标签: php mysql algorithm sorting

我试图计算一个值,用于根据"高相关因子排序mysql产品结果集"

使用"相关因子"我的意思是考虑的计算值:

  • 观看次数:产品的总观看次数
  • 购买:购买产品的时间
  • customer_purchased:客户购买该产品的时间
  • 价格:价格
  • 数量:可用数量(低水平库存的产品应具有低相关系数)

你能建议一些公式来获得这个价值吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为你可以基本使用任何公式。问题是只有当评估因素足以满足您的使用时才会使用。

所以这是一个考试:

relevance = a * [views] + b * [purchased] + c * [c_purchased] + d * [price] + e * [qty]

现在,您必须考虑一些规则,为常量abcde选择一些值:

  • 如果属性值很高,那么常量应为positiv,否则为negativ
  • 属性越重要,常量越大
  • 如果某个属性比其他所有属性更重要,(并且其值> 1)您可以将attrivutes值设为sqare
  • 请注意,某些属性值比其他属性值小得多,因此您必须更正此问题。

所以也许你会选择这样的东西:

relevance = 0.01 * [views] + 2 * [purchased] + 5 * [c_purchased] + -1 * [price]^2 + 1 * [qty]

原因:

  • 我认为会有更多的观点而不是购买,所以我想缩小它们。如果不这样做,相关性将基本反映观点的数量。
  • 其他属性具有相同大小的值(让10和500具有相同的大小,但不是10和1000或10000),因此常量将具有相同的大小。
  • 我购买的商品与customer_purchased不太相关,因此我选择2和5作为常数因素
  • 低价是非常相关的,所以我必须选择一个负数并且我将价格平方,所以一个非常大的价格会降低相关性远远超过一个小的价格。

您必须选择自己的常量,因为我只选择任何常量而没有关于属性的预期值的信息。

我希望这会有所帮助