Anti-Harassment Tools/SecurePoll Improvements/Test Results/math-stackexchange-com-2010-election-results

Comments
SecurePoll and OpenSTV disagree on elected candidates.

SecurePoll elects candidates 1, 2 and 4.

OpenSTV and SO elects candidates 1, 3 and 4.

Election: https://math.stackexchange.com/election/1

Election setup

 * Candidates: 5
 * Seats: 3
 * Votes: 164

Actual results latest
SecurePoll tally page (patch 28):

Elected
Election for 3 seats with 5 candidates. Total 164 votes.


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

Eliminated

 * "Candidate 5"
 * "Candidate 3"

Rounds table
(Results from 12:18, 29 July 2021)

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

Expected
Output from OpenSTV: Loading ballots from file math-stackexchange-com-2010-election-results.blt. Ballot file contains 5 candidates and 164 ballots. No candidates have withdrawn. Ballot file contains 164 non-empty ballots.

Counting votes for Mathematics Stack Exchange Moderator Election 2010 using Meek STV. 5 candidates running for 3 seats.

R|Candidate 1      |Candidate 2       |Candidate 3       |Candidate 4 |--+--+--+-- |Candidate 5       |Exhausted         |Surplus           |Threshold

=
================================================================= 1|        25.000000|         18.000000|         16.000000|         93.000000  |         12.000000|          0.000000|         51.999999|         41.000001  |---  | Count of first choices. Candidate Candidate 4 has reached the threshold | and is elected.

=
================================================================= 2|        42.892448|         33.096753|         25.505363|         41.000073  |         16.473112|          5.032251|          4.408645|         39.741938  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: Candidate 4, 0.440861. Candidate Candidate 1 | has reached the threshold and is elected.

=
================================================================= 3|        49.688143|         33.655892|         33.182780|         41.440934  |                  |          6.032251|         12.145201|         39.491938  |---  | Count after eliminating Candidate 5 and transferring votes. All losing | candidates are eliminated.

=
================================================================= 4|        40.101721|         36.485148|         36.732534|         40.785107  |                  |          9.895490|          3.834572|         38.526128  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: Candidate 1, 0.794797 and Candidate 4, | 0.420127.

=
================================================================= 5|        39.183552|         37.544896|         37.763020|         38.712089  |                  |         10.796443|          1.293861|         38.300890  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: Candidate 1, 0.763570 and Candidate 4, | 0.396858.

=
================================================================= 6|        38.417312|         37.869032|         38.133608|         38.402232  |                  |         11.177816|          0.408450|         38.205547  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: Candidate 1, 0.746370 and Candidate 4, | 0.392643.

=
================================================================= 7|        38.260785|         37.978000|         38.246784|         38.229653  |                  |         11.284778|          0.200804|         38.178806  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: Candidate 1, 0.742256 and Candidate 4, | 0.390632. Candidate Candidate 3 has reached the threshold and is elected.

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

Files

 * blt: https://math.stackexchange.com/election/download-result/1
 * php:

Environment

 * Where you tested: local docker using phpunit
 * Latest version of SecurePoll tested:
 * commit 010a55df713367194b6772a07013cb667c333072 (patch 28 https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/704454/)
 * commit dedf92f6aa5d2a1c4ffe7935f1c695623587c26d (patch 18 https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/704210/)