Anti-Harassment Tools/SecurePoll Improvements/Test Results/5 3 100

Comments
SecurePoll eliminates all candidates. I assume this is because all the candidates have equal votes. In this case, I think we plan to defer to the election admins how to proceed.

This is possibly the same/similar to 20_6_5100_319413701 and 20_6_5000_2048397232.

Election setup

 * Candidates: 5
 * Seats: 3
 * Votes: 100

Actual
Output from SecurePoll :

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


 * 1) This seat could not be filled because no candidates fulfill the criteria. The last eliminated candidates were: "1", "2", "3", "4", "5"
 * 2) This seat could not be filled because no candidates fulfill the criteria. The last eliminated candidates were: "1", "2", "3", "4", "5"
 * 3) This seat could not be filled because no candidates fulfill the criteria. The last eliminated candidates were: "1", "2", "3", "4", "5"

Eliminated/Not elected

 * "1"
 * "2"
 * "3"
 * "4"
 * "5"

Rounds table
The following table describes the calculations that happened in order to achieve the result above. In each round of calculation, the candidate(s) who achieved more votes than the quota are declared elected. Their surplus votes above the quota are redistributed to the remaining candidates. If nobody achieves the quota, the lowest ranking candidate is eliminated and their votes are redistributed to the remaining candidates. To understand this better, please refer to this link. (Results from 04:14, 1 September 2021)

Navigation menu

 * Admin
 * Talk
 * Preferences
 * Watchlist
 * Contributions
 * Log out


 * Special page


 * Main page
 * Recent changes
 * Random page
 * Help about MediaWiki

Tools

 * Special pages
 * Printable version

Expected
Output from OpenSTV: Loading ballots from file 5_3_100.blt. Ballot file contains 5 candidates and 100 ballots. No candidates have withdrawn. Ballot file contains 100 non-empty ballots.

Counting votes for ElectionTitle using Meek STV. 5 candidates running for 3 seats.

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

=
================================================================= 1|        20.000000|         20.000000|         20.000000|         20.000000  |         20.000000|          0.000000|          0.000000|         25.000001  |---  | Count of first choices.

=
================================================================= 2|        21.000000|                  |         20.000000|         20.000000  |         20.000000|         19.000000|          0.749999|         20.250001  |---  | Count after eliminating 2 and transferring votes. All losing candidates | are eliminated. Candidates 1, 2, 3, 4, and 5 were tied when choosing | candidates to eliminate. Candidate 2 was chosen by breaking the tie | randomly. Candidate 1 has reached the threshold and is elected.

=
================================================================= 3|        20.250006|                  |         20.000000|         20.000000  |         20.000000|         19.749994|          0.187504|         20.062502  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.964286.

=
================================================================= 4|        20.062518|                  |         20.000000|         20.000000  |         20.000000|         19.937482|          0.046888|         20.015630  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.955358.

=
================================================================= 5|        20.015646|                  |         20.000000|         20.000000  |         20.000000|         19.984354|          0.011734|         20.003912  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.953126.

=
================================================================= 6|        20.003928|                  |         20.000000|         20.000000  |         20.000000|         19.996072|          0.002945|         20.000983  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.952568.

=
================================================================= 7|        20.000988|                  |         20.000000|         20.000000  |         20.000000|         19.999012|          0.000740|         20.000248  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.952428.

=
================================================================= 8|        20.000253|                  |         20.000000|         20.000000  |         20.000000|         19.999747|          0.000189|         20.000064  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.952393.

=
================================================================= 9|        20.000064|                  |         20.000000|         20.000000  |         20.000000|         19.999936|          0.000047|         20.000017  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.952384.

=
================================================================= 10|        20.000022|                  |         20.000000|         20.000000  |         20.000000|         19.999978|          0.000016|         20.000006  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.952382.

=
================================================================= 11|        20.000022|                  |         20.000000|         20.000000  |         20.000000|         19.999978|          0.000016|         20.000006  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.952382.

=
================================================================= 12|        22.857168|                  |         20.000000|                    |         20.000000|         37.142832|         15.714289|         15.714293  |---  | Count after eliminating 4 and transferring votes. Candidates tied within | precision of computations. Candidates 3, 4, and 5 were tied when choosing | candidates to eliminate. Candidate 4 was chosen by breaking the tie | randomly. Candidates 3 and 5 have reached the threshold and are elected.

Winners are 1, 3, and 5.

Files
array ( '5_2_1' =>   array ( 'count' => 1, 'rank' => array (     1 => '5',      2 => '2',      3 => '1',    ), ), '3_2' =>   array ( 'count' => 1, 'rank' => array (     1 => '3',      2 => '2',    ), ), '2_1' =>   array ( 'count' => 1, 'rank' => array (     1 => '2',      2 => '1',    ), ), '5_2' =>   array ( 'count' => 1, 'rank' => array (     1 => '5',      2 => '2',    ), ), '4_1_2' =>   array ( 'count' => 1, 'rank' => array (     1 => '4',      2 => '1',      3 => '2',    ), ), '4_2' =>   array ( 'count' => 1, 'rank' => array (     1 => '4',      2 => '2',    ), ), '5_1' =>   array ( 'count' => 1, 'rank' => array (     1 => '5',      2 => '1',    ), ), '4_1' =>   array ( 'count' => 2, 'rank' => array (     1 => '4',      2 => '1',    ), ), 3 =>   array ( 'count' => 19, 'rank' => array (     1 => '3',    ), ), 1 =>   array ( 'count' => 20, 'rank' => array (     1 => '1',    ), ), 5 =>   array ( 'count' => 17, 'rank' => array (     1 => '5',    ), ), 2 =>   array ( 'count' => 19, 'rank' => array (     1 => '2',    ), ), 4 =>   array ( 'count' => 16, 'rank' => array (     1 => '4',    ), ), )
 * blt: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/5_3_100.blt
 * php:

Environment

 * Where you tested: local docker using PHPUnit
 * Version of SecurePoll: commit 7456aea7198d58e058d56ed4c1fd550354803cd5 (patch 24 from https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/704454/)