如何在启动POLL后添加项目来提高POLL系统的准确性?

时间:2017-08-02 10:49:39

标签: php algorithm sorting

背景:这是一个网站,是不同日期添加的产品集合。用户可以喜欢/投票产品。

我正在实施的功能:用户可以通过喜欢/投票订购产品。

  

产品A:它有50个喜欢,它刚刚被添加到系统中   40天。

     

产品B:它有40个喜欢,它刚刚被添加到系统中   20天。

如果我通过'喜欢'订购产品A将会放置1.但我需要产品B作为第一名,因为我可以说产品B比产品A更好,因为它只有20天才能获得40个。

我的解决方案:所以我按平均每天订购产品。

我的解决方案中的问题:当我使用数千种产品进行测试时,我了解到对旧产品不公平。有一些原因,比如过去的交通很少等等。

那么我可以添加什么类型的东西来提高“按喜好排序”功能的准确性呢?

1 个答案:

答案 0 :(得分:2)

我认为时间的对数增加可能是一种有效的解决方案。

您可以将平均值计算为likes / log(days)

您可以通过更改对数的基数来调整公式。例如,对于基数10,您将拥有:

产品A = 50 / log(40)= 0.336

产品B = 40 / log(20)= 0.969

通过增加基数,可以增加公式中的重要性。减少基数,增加公式中的时间重要性,您应该能够根据需要进行调整。

编辑:使用对数背后的想法是,它是一个数学函数,随着他的论证变得越大,它越慢越慢。所以log(10)和log(20)之间的差异远大于log(100)和log(110)之间的差异,即使10-20和100-110之间的差异是相同的。