Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

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 of my website.

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

share|improve this question
1  
The question of which formula is the right one really depends on how fast you want the weighted vote to fall when time grows. –  Rasmus Aug 18 '10 at 13:43
    
I think this would be better suited for the stats website. Maybe you can run a confidence interval test on it and decide based on that? –  Tyler Hilton Aug 18 '10 at 14:44
add comment

1 Answer 1

up vote 2 down vote accepted

One possibility is to take the cube root of the number of days: $$\begin{align} \frac{3}{\sqrt[3]{1\text{ day}}}\cdot 10\text{ votes}&=300 \\ \frac{3}{\sqrt[3]{5\text{ days}}}\cdot 15\text{ votes}&\approx 263.2 \\ \frac{3}{\sqrt[3]{30\text{ days}}}\cdot 30\text{ votes}&\approx 289.6 \\ \frac{3}{\sqrt[3]{80\text{ days}}}\cdot 40\text{ votes}&\approx 278.5 \\ \end{align}$$

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.