Task:Define voting procedure for Community Council elections

This task is completed and this page stays here for documentation purposes only. Please file bugs or propose a new, related task if you want to push this forward.
Please see the talk page for discussion.

Due to the noise generated by the voting procedure from the first election, the procedure needs to be reevaluated and a better system needs to be put in place for the next election.


[edit] Proposal: RRV

Background from scorevoting.net

I've added a description of RRV to Wikipedia. Since TeX isn't enabled here, it's easiest to read it there. (Provided, of course, it remains intact...)

The proposal is edited for html legibility and simplicity below, but should be a complete specification.

[edit] Variables

  • l: number of voters
  • m: number of candidates
  • n: number of seats
  • i: index of voters (1 ≤ il)
  • j: index of candidates (1 ≤ jm)
  • k: index of seats (and rounds) (1 ≤ kn)

[edit] Parameters

An unbalanced normalized range is to be used, ranging from 0 to 1.

A ballot from voter i consists of m ratings aij for the m candidates, such that 0 ≤ aij ≤ 1.

[edit] Procedure

After all ballots are collected, n rounds are held to choose the winners wk, with one winner chosen per round. In the first round, the weighted ratings for each voter are initialized as bij1 = aij. The weighted scores in each round are summed:

Bjk = ∑i∈(1…l) bijk

The highest-scoring candidate not yet elected wins; this is not simple to express formally:

wk = max ( Bjk s.t. jw1…(k-1))

The weighted scores for each succeeding round are calculated by de-emphasizing ballots according to the portion in which they've already won:

bij(k+1)=aij / ( 1 + ∑p∈(1…k) aiwp )

[edit] Proposal: Single Transferable Vote


  • N seats available
  • C candidates running
  • T total valid votes cast in the election
  • Q (the quota) = floor(T/(N+1) + 1)

Single transferable vote is the voting system used in Ireland's general elections, with multi-seat constituencies resembling a Maemo Community Council vote - there are N places and C candidates, with C > N. There is an added advantage of having software available to count STV.

The voting system is simple from the voter's point of view - you vote in order of preference for one or more of the candidates. If you only have a first preference, you vote only 1 for your choice. If you have a second preference, you give him number 2, and you continue like this down the ballot, as far as you care to go.

Counting is also quite simple. We first count all the number 1 votes, and rank the candidates in order. If any candidates have more than T/(N+1) votes, they are deemed elected. Their surplus votes (the votes over the quota Q) are redistributed according to the weighings of their second preferences.

If no-one has been deemed elected, or all surpluses have been distributed, the candidate with the least first preferences is eliminated, and his votes are redistributed according to the second preference.

This process is repeated until N candidates are deemed elected, or until there are only 2 unelected candidates remaining. In this situation, the candidate with the highest number of votes is deemed elected without having reached the quota.

A simple example will illustrate:

4 candidates (A, B, C), 2 seats, 11 votes, the quota is thus 4 votes.

  1. A, B
  2. A, C
  3. A
  4. A, B, C
  5. B, C
  6. B, A
  7. B, C
  8. C
  9. C, A
  10. C
  11. D, C

1st count:

  • A: 4
  • B: 3
  • C: 3
  • D: 1

A is deemed elected, and D is eliminated.

D's 2nd preferences give 1 vote to C.

2nd count:

  • A: 4
  • B: 3
  • C: 4

A and C are deemed elected.

[edit] Discussions