1
$\begingroup$

I have this data:

Game 1: 7.0/10.0, Reviewed: 1000 times Game 2: 7.5/10.0, Reviewed: 3000 times Game 3: 8.9/10.0, Reviewed: 140,000 times Game 4: 10.0/10.0 Reviewed: 5 times . . .  

I want to manipulate this data in a way to make each rating reflective of how many times it has been reviewed.

For example Game 3 should have a little heavier weight than than Game 4, since it has been reviewed way more. And Game 2's 7 should be weighted more than Game 1's 7.

Is there a proper function to do this scaling? In such a way that

ScaledGameRating = OldGameRating * (some exponential function?)

  • 0
    Probably "arithmetic", maybe "statistics" if it was a more advanced case of calculating properties of a data set.2012-12-06

1 Answers 1

0

You probably want to use a logarithmic function, not an exponential function. I don't know how greatly you want to weight things, but simply multiplying the score by $\log_{10}$ of your vote counts would give you:

7 * log(1000) = 7 * 3 = 21

7.5 * log(3000) = 7.5 * 3.4 = 26.1

8.9 * log(140000) = 8.9 * 5.1 = 45.8

10 * log(5) = 10 * .7 = 6.9

  • 0
    I would recommend looking up industry standard solutions on software development sites rather than a mathematics site. You are definitely not the first one to have this in mind and there is probably somebody who has come up with a good compromise of a solution. There are infinitely many functions that mathematically meet your criteria, but I doubt you would be happy with a majority of them.2012-12-06