tags:

views:

44

answers:

2

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 vote

Whenever 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 makes 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)?

A: 

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.

Michael Clerx
A: 

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.

Jay Kominek