How do I find the average of top list items?

139 Views Asked by At

Here's the situation:

I have a lot of "top lists" like so:

list1:

  1. iPhone 6
  2. Galaxy S5
  3. LG G4

list2:

  1. Galaxy S5
  2. OnePlus One
  3. iPhone 6
  4. LG G4
  5. Nexus 5

list3:

  1. LG G4
  2. Galaxy S5
  3. 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...

2

There are 2 best solutions below

0
On BEST ANSWER

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

4
On

My recommendation would just be for each item, sum up their rankings. Then order them in ascending order of that sum. Or if you want different categories to be weighted differently, then multiply each rank in that category by a scalar when summing to give different weight to different categories. The ones with shorter lengths could be used as tie breakers between those phones.

Just the plain summing and ordering will have the same effect as just averaging their ranking, and apply weight to different categories has the same effect as just taking a weighted average.