Popularity formula (using votes and age)
I need to create a simple formula for determining the popularity of an item based on votes and age.
Here is my current formula, which needs some work:
30 / (days between post date and now) * (vote count) = weighted voteWhenever a vost is cast for an item it checks if its weighted vote is > 300. If an item has a weighted vote more than 300 then it is promoted to the front page.
The problem is that this formula mak开发者_如何学Goes it very hard for older items to be promoted.
30 / 1 day * 10 votes = 300 (promoted) 30 / 5 days * 15 votes = 90 (not promoted) 30 / 30 days * 30 votes = 30 (not promoted) 30 / 80 days * 40 votes = 15 (not promoted)How can I alter the formula to make it relatively easier for older items to be promoted (IE. make the above four weighted values fairly close together)?
Just get a graph drawing program (maybe excel, maybe matlab, maybe GNUplot) and experiment with the formula until you feel it looks right.
There's no right or wrong with these things.
Toss a logarithm on the amount of time it's been since the item was posted. Tweak the base and the constants involved. That'll take you most of the way there.
精彩评论