Data Manipulation and Compression

185 Views Asked by At

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

1

There are 1 best solutions below

3
On BEST ANSWER

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