Anti-Harassment Tools/SecurePoll Improvements/Test Results/stackoverflow-com-2018-election-results

Comments
SecurePoll and OpaVote disagree on elected candidates. However, since the results from OpaVote were ran, one of the winning candidates have been removed. The .blt file we use to test SecurePoll no longer includes that candidate.

SecurePoll and OpenSTV agree on elected candidates.

SecurePoll and OpenSTV elects candidates candidates 1, 4 and 5.

OpaVote elected candidates 1, 4 and someone they later removed.

Election setup

 * Candidates: 9 (originally 10)
 * Seats: 3
 * Votes: 29521 (originally 30016)

Actual results latest
SecurePoll tally page (patch 27):

Elected

 * 1) "Candidate 1"
 * 2) "Candidate 4"
 * 3) "Candidate 5"

Eliminated

 * "Candidate 7"
 * "Candidate 9"
 * "Candidate 3"
 * "Candidate 2"
 * "Candidate 6"

Rounds table
(Results from 13:55, 28 July 2021)

Actual results archive
Patch 17: Output from SecurePoll: https://phabricator.wikimedia.org/P16878

Expected
Output from OpaVote: Output from OpenSTV: Loading ballots from file stackoverflow-com-2018-election-results.blt. Ballot file contains 9 candidates and 29521 ballots. No candidates have withdrawn. Ballot file contains 29521 non-empty ballots.
 * https://stackoverflow.com/election/10
 * https://www.opavote.com/results/5229219307061248

Counting votes for Stack Overflow Moderator Election 2018 using Meek STV. 9 candidates running for 3 seats.

R|Candidate 1|Candidate 2|Candidate 3|Candidate 4|Candidate 5|Candidate 6 |          |           |           |           |           |             |---+---+---+---+---+---  |Candidate 7|Candidate 8|Candidate 9|Exhausted  |Surplus    |Threshold |          |           |           |           |           |

=
============================================================= 1|4688.000000|2902.000000|2771.000000|4797.000000|4039.000000|3416.000000 |1660.000000|3309.000000|1939.000000|   0.000000|   0.000000|7380.250001  |---  | Count of first choices.

=
============================================================= 2|4871.000000|3073.000000|2986.000000|5018.000000|4249.000000|3600.000000 |           |3527.000000|2072.000000| 125.000000|   0.000000|7349.000001  |---  | Count after eliminating Candidate 7 and transferring votes. All losing | candidates are eliminated.

=
============================================================= 3|5204.000000|3312.000000|3182.000000|5261.000000|4561.000000|3847.000000 |           |3814.000000|           | 340.000000|   0.000000|7295.250001  |---  | Count after eliminating Candidate 9 and transferring votes. All losing | candidates are eliminated.

=
============================================================= 4|5687.000000|3652.000000|          |5724.000000|5141.000000|4230.000000  |           |4238.000000|           | 849.000000|   0.000000|7168.000001  |---  | Count after eliminating Candidate 3 and transferring votes. All losing | candidates are eliminated.

=
============================================================= 5|6283.000000|          |           |6276.000000|5677.000000|4705.000000  |           |4803.000000|           |1777.000000|   0.000000|6936.000001  |---  | Count after eliminating Candidate 2 and transferring votes. All losing | candidates are eliminated.

=
============================================================= 6|7155.000000|          |           |7090.000000|6311.000000|             |           |5518.000000|           |3447.000000|1207.999998|6518.500001  |---  | Count after eliminating Candidate 6 and transferring votes. All losing | candidates are eliminated. Candidates Candidate 1 and Candidate 4 have | reached the threshold and are elected.

=
============================================================= 7|6643.639519|          |           |6649.281594|6526.169006|             |           |5704.974742|           |3996.935139| 676.041471|6381.016216  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: Candidate 1, 0.911042 and Candidate 4, | 0.919394. Candidate Candidate 5 has reached the threshold and is | elected.

Winners are Candidate 1, Candidate 4, and Candidate 5.

Files

 * blt: https://stackoverflow.com/election/download-result/10
 * php:

Environment

 * Where you tested: local docker using phpunit
 * Latest version of SecurePoll tested:
 * commit 89ccd71c1af2a3e1cde1891ada0626ef6138d7e3 (patch 27 https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/704454/)
 * commit 851050be43c9376575d497f7c321902b42772562 (patch 15 https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/704210/)