We propose three voting interfaces for voters, where voters can either grade or rank candidates. You may use one of these three interfaces for voters and then apply your own counting functions on the decrypted ballots.
Preparation of the election
On the new interface, when filling the page "Questions", you need to select one of these three types of answers, even if you want to apply another counting method:
- rank the propositions (Condorcet-Schulze Method): the voters will have to rank the candidates, possibly with equalities
- rank the propositions (STV Method): the voters will have to rank the candidates, without eaualities
- grade the propositions: the voters will have to grade each candidate
When a voter ranks or grades candidates, their vote is encoded as a list of integers. The encoding is explained in the corresponding page (Condorcet-Schulze, STV, Majority Judgement)
After the tally
Once the election is closed and the authorities have used their secret decryption key, the result of the election is displayed using the chosen counting method (Condorcet-Schulze, STV, Majority Judgement), even if this is not the counting method you want to apply. You need to inform your voters about this.
In addition to the result of the election, the raw votes are published, in a random order so that it is impossible to link a vote to the original ballot, hence it is impossible to link a vote to the corresponding voter. Note that ballots are shuffled in a verifiable manner before decryption so that any external auditor can still check that the result corresponds to the content of the original ballot box.
Applying your own counting method
If you do not wish to use one of the available counting methods on our server, you can still apply any of your favorite algorithms to determine the winner(s) from the raw ballots. We explain here how the election result is formatted, on an example. As a result of the election, you will get something like this:
[[[2,3,1],[1,3,2],[0,0,0],[0,1,2]],[[0,5,9,2],[11,2,0,4],[42,42,42,42],[0,1,2,3]]]What does this mean?? This a list of list of votes, each vote being itself a list. Here, we have the result of an election with two questions and four voters:
- the first question has three candidates and received
the following list of votes:
[[2,3,1],[1,3,2],[0,0,0],[0,1,2]]; - the second question has four candidates and received
the following list of votes:
[[0,5,9,2],[11,2,0,4],[42,42,42,42],[0,1,2,3]].
- [2,3,1] means that one voter has expressed that she prefers the third candidate, then she prefers the first candidate and finally she likes the second candidate the less.
- Similarly, [1,3,2] indicates that another voter prefers first the first candidate, then the third one, then the second one. If you have chosen the Condorcet-Schulze interface, candidates may have equal rank
- What about [0,0,0]? This is the encoding of a blank vote.
- What about [0,1,2]? This means that the voter has ranked the second candidate first, the third candidate second and has not ranked the first candidate.
- What about a strange vote of the form [11,2,0,4]? This ballot has not been formed using on our voting interface. It may have been computed using online-command tools. This is up to you to decide how to count it. You may want to consider it as invalid.
You can see here that you need clear electoral rules, defined before the election, that assess which ballots are invalid and which are not, and how they are counted.