Here's the situation:
I have a lot of "top lists" like so:
list1:
- iPhone 6
- Galaxy S5
- LG G4
list2:
- Galaxy S5
- OnePlus One
- iPhone 6
- LG G4
- Nexus 5
list3:
- LG G4
- Galaxy S5
- Nexus 5
And so on...
They are all different in length and order.
I need to generate a new top list which should show an average of all those items. "A top of the tops". How do I do that? I thought that the easiest way would be just to calculate straight averages of each item (e.g.Galaxy S5).
But what should I do with those items which appears just in some lists but not all? I can't calculate straight averages if item is present only in few lists because that won't be fair...
Your question is hard to answer because you don't really define the meaning of "fair" when combining rankings. As @SteveKass comments, there is no right way. Preferential voting schemes try to find a reasonable solution. The wikipedia discussion at https://en.wikipedia.org/wiki/Preferential_voting offers some ideas.
Here's one you might try. Give each item a score of 10, 9, 8, ... when it is at rank 1, 2, 3, ... on one of your top 10 lists. Then just sum the scores, and rank the items accordingly. (This is essentially @WillFisher 's answer.)
With that algorithm an item not on a list scores 0 for that list. That would allow for bullet balloting: someone who really liked phone X would choose not to give a second or third choice. (See http://electology.org/bullet-voting .)