Here's a mathematical modeling problem I came across while working on a hobby project.

I have a website that presents each visitor with a list of movie titles. The user has to rank them from most to least favorite. After each visit, I want to create a cumulative ranking that takes into account each visitor's individual ranking. Normally I would just take the mean ordinal rank: e.g., if Person A rated "Avatar" 10th and Person B rated it 20th, its cumulative rank would be 15th. However, new movies will be added to the list as the website grows, so each person will have ranked only a subset of the full movie list.

Any thoughts on how I can define "average rank" when some rankings do not cover the whole set? My best idea so far is to model this as a directed graph, where nodes are movies and weighted edges are preferences (e.g. "10 people ranked 'Avatar' right above 'District 9'"), and then finding sinks and sources. How else could one go about this?

(Sorry if this question is too applied.)