# Weighted rank equation for sorting movies. Need explanation or new equation.

• Feb 24th 2013, 01:46 AM
russ123
Weighted rank equation for sorting movies. Need explanation or new equation.
IMDB (Internet Movie Database) has a top 250 list of movies. Movies enter this list according to a weighted rank.

I downloaded a copy of the database from an ftp site that imdb.com pointed out for personal use and within this file I found the following:

Code:

```weighted rank = (v/(v+k))*X + (k/(v+k))*C where:     X = average for the movie (mean)     v = number of votes for the movie     k = minimum votes required to be listed in the top 250     C = the mean vote across the whole report (currently 6.90)```
I plugged this in to recreate the top 250 list and it works fine. But I've been trying to understand how it works for some time and I can't get it.

I want to create another type of list. This list will be called top_recent_movies. The equation above should include the following new parameters.

a = age of the move in years
m = maximum age to be considered (currently 3 years)

If I had to give it a go I would probably do this but I know it's wrong:

Code:

```weighted rank = (v/(v+k))*X + (k/(v+k))*C + (m/a) where:     a = age of the movie in years     m = maximum age to be considered (currently 3 years)     X = average for the movie (mean)     v = number of votes for the movie     k = minimum votes required to be listed in the top 250     C = the mean vote across the whole report (currently 6.90)```
I mean would there be any difference between (m/a) and (1/a)

• Feb 24th 2013, 10:03 PM
russ123
Re: Weighted rank equation for sorting movies. Need explanation or new equation.
I made a little progress last night after about an hour and 6 pages of trying to work out how the original equations works, and I actually got it, I think... :D

(v/(v+k)) + (k/v+k) = 1.0

As the number of votes increase, the weight of the mean vote for the movie increases, by a decreasing amount.

So to introduce m and a and still keep the rank in the range of 0.0 to 10.0 I did something similar. It penalizes movies that are old, by a decreasing amount.

Code:

```((v/(v+k))*X + (k/(v+k))*C) * (m/(m+a)) where:     a = age of the movie in years     m = maximum age to be considered (currently 3 years)     X = average for the movie (mean)     v = number of votes for the movie     k = minimum votes required to be listed in the top 250     C = the mean vote across the whole report (currently 6.90)```
• Feb 25th 2013, 09:32 PM
russ123
Re: Weighted rank equation for sorting movies. Need explanation or new equation.
Ok so I tested it out and the weird thing is is works just as I want it to. It includes movies from current and previous year. Although when I adjust m (maximum age) it makes no difference whether m = 3.0 or m=10.0

will maybe try something like

((v/(v+k))*X + (k/(v+k))*C) * ((m*5)/((m*5)+a))

--- edit ---

I don't know, the equation seems right but still, adjusting m doesn't change the result. Yet when I print the figures they do change. May have something to do with the list itself. Am satisfied with this for now.