3

Imagine you ask your team mates to do a election on who should organize the next barbecue. Your team is about 120 Persons and you want to select 3 persons out of a pool of 6 persons to do that job. Each of the 120 persons can vote for up to 3 persons by ranking them: 1st best person is X, 2nd best person Y, 3rd best person is Z.

At the end all votes should be aggregated in a ranked result listing.

| Candidate | Voter 1 | Voter 2 | Voter 3 |
-------------------------------------------
| A         | 1. Pos  |         | 2. Pos  |
| B         | 3. Pos  | 1. Pos  | 3. Pos  | 
| C         | 2. Pos  | 2. Pos  |         |
| D         |         | 3. Pos  |         |
| E         |         |         |         |
| F         |         |         | 1. Pos  |
-------------------------------------------

If there where no ranking done by the voters and each vote is equal it would be nice to aggregate the result. B got 3 votes, A and C got 2 votes. All other got less votes. The winner are: A,B and C.

I do not know what algorithms exist to aggregate ranked data and i do not know what the result should look like. F got a vote for pos.1, that is good, but A and B got such a vote too. From my point of view A and B are better, because they got more votes. But is A better than B? A got a pos.2 but B got 2 times pos.3, what should be ranked higher? Is 2 times pos.2 better than 1 time pos.1 and 2 times pos.3?

Sounds like implementing a meta search engine ranking algo. What algorithms exists? What algo should I use?

tshepang
  • 12,111
  • 21
  • 91
  • 136
user1182585
  • 75
  • 1
  • 6
  • 2
    The question may be off topic here, but have a look at `Condorcet method` (http://http://en.wikipedia.org/wiki/Condorcets_Method), which does pairwise comparisons between the candidates and finds the one that wins most of these. – Terje D. Jun 27 '13 at 14:59
  • @Terje D. href of your link is invalid, please add a ":". – DanielaWaranie Jun 28 '13 at 23:18
  • @DanielaWaranie. Thanks. The correct link is [http://en.wikipedia.org/wiki/Condorcets_Method](http://en.wikipedia.org/wiki/Condorcets_Method) – Terje D. Jun 29 '13 at 10:37
  • @Terje D.: Thanks for the hint on condorcet method. I selected DanielaWaranies answer, because it is not possible to select your comment as answer-to-the-question. And DanielaWaranie does a good recommendation. At the moment it sounds that there are no alternatives to the condorcet methods available. – user1182585 Jul 01 '13 at 08:13
  • This question is related to http://stackoverflow.com/questions/26924660/ranking-algorithm-with-missing-values-and-bias/37132140#37132140 – stefan.schroedl May 10 '16 at 07:55

2 Answers2

4

As you asked "What should i use?" i can recommend that group of methods called "Condorcet methods", as Terje D. mentioned. If you do not want to learn more about the complex theory of election methods i can recommend one of the condorcet methods: "Schulze method" (also known as: path winner or beatpath winner). This is e.g. used by Debian, KDE and Pirates Party of Germany.

You can use this online ballot to get a ad hoc solution to your problem: https://modernballots.com/elections/qm65cnts/vote/

If you want to implement it into your company website (intranet, or whatever) i recommend you contribute to an existing project. If you are a PHP developer check this out: https://bitbucket.org/robla/electowidget/src/14581ac7a5f2/lib/methods/SchulzeMethod.php Electowidget was initially a plugin for MediaWiki. Maybe it is a good point to start and maybe you want to contribute some changes to make it a library.

user1182585
  • 75
  • 1
  • 6
DanielaWaranie
  • 1,405
  • 1
  • 17
  • 22
0

Maybe just do it like this: Assign 3 points to each first place, 2 points to each second place, and 1 point to each 3rd place. Then check which candidates have most points.

artahian
  • 2,093
  • 14
  • 17
  • Result: Candidate,Sum: A = 5 Pt, B = 5 Pt, C = 4 Pt, D = 1 Pt, E = 0 Pt, F = 3 Pt Is that fair? 1,2,3 is despotism. What about 2,4,8 or other numbers? Condorcet method looks good to me. – DanielaWaranie Jun 28 '13 at 22:08
  • 1
    @DanielaWaranie Assigning N-1, N-2, and N-3 (here 5, 4, and 3 points) will be better as this is the number of candidates the candidate is preferred to (making this a Condorcet method).. Result: A: 9, B:11, C:8, D:3, E:0, F:5 – Terje D. Jun 29 '13 at 10:35