2011-11-06 36 views
0
  1. 列表项
每一天我要在网站上找到了“最流行”的帖子,并设有它的主页上

如何找到如何最热门的职位

对于每篇文章,我都会记录“喜欢”,“不喜欢”,“偏爱”和“观看”的次数。

我想运行每日cron作业,我做这样的事情:

post = Post.order("popularity_score DESC").first 
    post.feature! 

我的问题是,我应该怎么计算popularity_score的价值?

是否有一个考虑到“统计显着性”的公式?意思是,虽然有100%的支持率,但这个帖子只有1个“喜欢”的投票,没有其他任何内容,但它的意思不应该太大,因为只有一个人投了赞成票。

总的来说,我有这些想法松动关闭我的头顶:

  1. 10个喜欢和没有其他票后比 后1票样更受欢迎。
  2. 后交与更多的“不喜欢”比 “喜欢”应该比更“喜欢”比 后分数较低的“不喜欢”
  3. 有20次,没有其他票后更 流行比有3个观点的职位。

我拳打在一些任意的公式来尽量满足这个目标,但也有正是这样,任意的,我真的不知道是否有更好的方式去这件事吗?

对此提出建议?

回答

1

也许你可以采取SO方法?它看起来相当体面。

  • +给出10分
  • - substracts 2点
  • view添加低数量,像0.01点
  • comment加2分
+0

这很有趣。你怎么知道那个公式?这是记录在某处吗? – Homan

1

一个建议是不是重置计数器每天(这使得“最受欢迎”开放给一票)。

取而代之的是,按照他们的年龄加权投票 - 新的投票数比旧的投票数多。随着时间的推移,这会给你渐进和有意义的重新润色。