I'm looking for a voting system for a specific usecase:

I have a scenario where a small group of (less than twenty) members will need to fill a number of roles. They should each be able to list their preferences for which roles they want to perform.

The vote's result should allow the most preferable arrangement to be determined. It is acceptable for multiple arrangements to be equally prefered (as the members can break the tie themselves.)

Does a system for this exist?

Bonus: It would be great if this system could allow for cases where the number of roles is more or less than the number of members.

I have included an example below:

  • We have three roles to fill: Chair, Secretary, Treasurer.

  • We have four members: Alice, Bob, Charlie, David.

Their preferences can be shown with the following table, where A is the person's most prefered role and B, C, and D indicate lower preferences, in order.

. Chair Secretary Treasurer Janitor
Alice A B C D
Bob A C B D
Charlie D A B C
David B A D C

In this example, a possible solution would be:

  • Alice = Chair (her 1st choice),
  • David = Secretary (his 1st choice),
  • Bob = Treasurer (his 2nd choice),
  • Charlie = Janitor (his third choice).

This solution is not necessarily the best, as I have no way to compare it against othr solutions.

  • 1
    How do you define "most preferable"? Is it better for everyone to get their second choice, or for one person to get their first and everyone else to get their third?
    – Bobson
    Jan 30 at 17:41
  • 3
    What strikes me about your scenario is that it seems not to take into account what the members think about others than themselves taking a specific role (David thinks that Bob would be a terrific Treasurer, but would strongly oppose Alice as Chair). As soon as you think in those terms, you might no longer be looking for the best solution, but one that everyone can live with, and the process to get there would be one of negotiation rather than election.
    – ccprog
    Jan 30 at 17:42
  • This isn't a voting situation, and so I don't think it falls within "politics". There is a simple algorithm: generate every possible matching, score each one (eg 1 point for a first choice, 2 points for second etc) choose the one with minimum score. Simple but not very quick!
    – James K
    Jan 30 at 22:47
  • What happens in your example with a different numerical mapping of people to positions? does 20 people mean 20 roles? does everyone want a role? does everyone have to have a role? Jan 31 at 11:52

1 Answer 1


The matrix vote is a voting procedure which can be used when one group of people wishes to elect a smaller number of persons, each of whom is to have a different assignment.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .