每天我想在网站上找到“最受欢迎”的帖子并在主页上显示。
对于每一篇文章,我都会记录它被“喜欢”,“不喜欢”,“收藏”和“浏览”的次数。
我想做一个日常的cron工作,我做的事情是:
post = Post.order("popularity_score DESC").first
post.feature!
我的问题是,我应该如何计算popular_score的值?
是否存在考虑“统计显着性”的公式?意思是,这个帖子有1个“喜欢”投票而没有别的,虽然拥有100%的支持率,但这并不意味着太多,因为只有一个人投票赞成。
总的来说,我有这些松散的想法:
我已经尝试了一些任意的公式来试图满足这个目标,但确实存在,任意而且我真的不知道是否有更好的方法来解决这个问题?
建议?
答案 0 :(得分:1)
也许你可以采取SO方法?看起来相当不错。
+
得到10分-
减去2分view
添加一个较小的数字,例如0.01分comment
加2分答案 1 :(得分:1)
一个建议是不要每天重置你的柜台(让“最受欢迎的”开放一票)。
相反,按年龄加权投票 - 较新的投票数比旧票数多。随着时间的推移,这将为您带来渐进和有意义的重新定义。