Anti-Harassment Tools/SecurePoll Improvements/Test Results/20 6 5100 106188776

Comments
SecurePoll elects candidates 1, 2, 3, 4 and 5.

OpenSTV elects candidates 1, 2, 3, 4, 5, and 6.

SecurePoll's droop quota never gets low enough to elect candidate 6 (whose number of votes never exceeds 1).

This is similar to 20_6_5100_1090197746.

Election setup

 * Candidates: 20
 * Seats: 6
 * Votes: 5100

Actual
Output from SecurePoll : https://phabricator.wikimedia.org/P16910

Elected

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

Rounds table
(Results from 04:07, 28 July 2021)

Expected
Output from OpenSTV: Loading ballots from file 20_6_5100_106188776.blt. Ballot file contains 20 candidates and 5100 ballots. No candidates have withdrawn. Ballot file contains 5100 non-empty ballots.

Counting votes for ElectionTitle using Meek STV. 20 candidates running for 6 seats.

R|1         |2          |3          |4          |5          |6 |---+---+---+---+---+--- |7          |8          |9          |10         |11         |12           |---+---+---+---+---+---  |13         |14         |15         |16         |17         |18           |---+---+---+---+---+---  |19         |20         |Exhausted  |Surplus    |Threshold

=
============================================================= 1|1092.000000|1093.000000|1093.000000|1093.000000| 729.000000|  0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|1457.142855| 728.571429  |---  | Count of first choices. Candidates 1, 2, 3, 4, and 5 have reached the | threshold and are elected.

=
============================================================= 2| 728.571480| 728.571940| 728.571940| 728.571940| 728.572077|  0.000587  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|1457.140036|1040.816542| 520.408567  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.667190; 2, 0.666580; 3, 0.666580; 4, | 0.666580; and 5, 0.999413.

=
============================================================= 3| 520.408980| 520.408997| 520.408997| 520.408997| 520.409043|  0.286133  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|2497.668853| 743.237049| 371.761593  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.476565; 2, 0.476129; 3, 0.476129; 4, | 0.476129; and 5, 0.713867.

=
============================================================= 4| 371.762664| 371.762090| 371.762090| 371.762090| 371.762298|  0.490038  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|3240.698730| 530.738892| 265.614468  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.340442; 2, 0.340130; 3, 0.340130; 4, | 0.340130; and 5, 0.509962.

=
============================================================= 5| 265.614804| 265.615395| 265.615395| 265.615395| 265.614795|  0.635645  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|3771.288571| 378.996189| 189.815919  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.243237; 2, 0.243015; 3, 0.243015; 4, | 0.243015; and 5, 0.364355.

=
============================================================= 6| 189.816900| 189.816938| 189.816938| 189.816938| 189.816291|  0.739621  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|4150.176374| 270.638555| 135.689090  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.173825; 2, 0.173666; 3, 0.173666; 4, | 0.173666; and 5, 0.260379.

=
============================================================= 7| 135.689736| 135.689392| 135.689392| 135.689392| 135.689499|  0.813869  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|4420.738720| 193.260781|  97.037326  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.124258; 2, 0.124144; 3, 0.124144; 4, | 0.124144; and 5, 0.186131.

=
============================================================= 8| 97.038396|  97.037633|  97.037633|  97.037633|  97.037919|   0.866889  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|4613.943897| 138.006279|  69.436587  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.088863; 2, 0.088781; 3, 0.088781; 4, | 0.088781; and 5, 0.133111.

=
============================================================= 9| 69.437004|  69.437197|  69.437197|  69.437197|  69.437250|   0.904750  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|4751.909405|  98.549705|  49.727228  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.063587; 2, 0.063529; 3, 0.063529; 4, | 0.063529; and 5, 0.095250.

=
============================================================= 10| 49.727496|  49.728221|  49.728221|  49.728221|  49.727277|   0.931787  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|4850.428777|  70.374276|  35.653032  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.045538; 2, 0.045497; 3, 0.045497; 4, | 0.045497; and 5, 0.068213.

=
============================================================= 11| 35.653800|  35.653660|  35.653660|  35.653660|  35.653203|   0.951093  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|4920.780924|  50.254353|  25.602726  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.032650; 2, 0.032620; 3, 0.032620; 4, | 0.032620; and 5, 0.048907.

=
============================================================= 12| 25.603032|  25.603525|  25.603525|  25.603525|  25.603209|   0.964879  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|4971.018305|  35.887031|  18.425957  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.023446; 2, 0.023425; 3, 0.023425; 4, | 0.023425; and 5, 0.035121.

=
============================================================= 13| 18.426408|  18.426887|  18.426887|  18.426887|  18.426204|   0.974724  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5006.892003|  25.627558|  13.301143  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.016874; 2, 0.016859; 3, 0.016859; 4, | 0.016859; and 5, 0.025276.

=
============================================================= 14| 13.301652|  13.301810|  13.301810|  13.301810|  13.301334|   0.981754  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5032.509830|  18.301151|   9.641453  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.012181; 2, 0.012170; 3, 0.012170; 4, | 0.012170; and 5, 0.018246.

=
============================================================= 15|  9.642360|   9.642446|   9.642446|   9.642446|   9.641754|   0.986774  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5050.801774|  13.069857|   7.028319  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.008830; 2, 0.008822; 3, 0.008822; 4, | 0.008822; and 5, 0.013226.

=
============================================================= 16|  7.029204|   7.029083|   7.029083|   7.029083|   7.029018|   0.990358  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5063.864171|   9.334161|   5.162262  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.006437; 2, 0.006431; 3, 0.006431; 4, | 0.006431; and 5, 0.009642.

=
============================================================= 17|  5.162976|   5.163332|   5.163332|   5.163332|   5.162778|   0.992918  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5073.191332|   6.666700|   3.829810  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.004728; 2, 0.004724; 3, 0.004724; 4, | 0.004724; and 5, 0.007082.

=
============================================================= 18|  3.830736|   3.829872|   3.829872|   3.829872|   3.830166|   0.994746  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5079.854736|   4.761043|   2.877895  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.003508; 2, 0.003504; 3, 0.003504; 4, | 0.003504; and 5, 0.005254.

=
============================================================= 19|  2.878512|   2.878962|   2.878962|   2.878962|   2.878092|   0.996052  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5084.610458|   3.400955|   2.198507  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.002636; 2, 0.002634; 3, 0.002634; 4, | 0.002634; and 5, 0.003948.

=
============================================================= 20|  2.199288|   2.199116|   2.199116|   2.199116|   2.198664|   0.996984  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5088.007716|   2.429380|   1.713184  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.002014; 2, 0.002012; 3, 0.002012; 4, | 0.002012; and 5, 0.003016.

=
============================================================= 21|  1.713348|   1.713824|   1.713824|   1.713824|   1.713879|   0.997649  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5090.433652|   1.735589|   1.366622  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.001569; 2, 0.001568; 3, 0.001568; 4, | 0.001568; and 5, 0.002351.

=
============================================================= 22|  1.367184|   1.367343|   1.367343|   1.367343|   1.366875|   0.998125  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|5092.165787|   1.240218|   1.119174  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.001252; 2, 0.001251; 3, 0.001251; 4, | 0.001251; and 5, 0.001875.

=
============================================================= 23|  1.119300|   1.119232|   1.119232|   1.119232|   1.119744|   0.998464  |           |           |           |           |           |             |           |           |           |           |           |             |           |           |5093.404796|   0.942166|   0.942173  |---  | Count after transferring surplus votes. Keep factors of candidates who | have exceeded the threshold: 1, 0.001025; 2, 0.001024; 3, 0.001024; 4, | 0.001024; and 5, 0.001536. Candidate 6 has reached the threshold and | is elected.

Winners are 1, 2, 3, 4, 5, and 6.

Files
array ( '5_6' =>   array ( 'count' => 1, 'rank' => array (     1 => 5,      2 => 6,    ), ), 2 =>   array ( 'count' => 1093, 'rank' => array (     1 => 2,    ), ), 1 =>   array ( 'count' => 1092, 'rank' => array (     1 => 1,    ), ), 4 =>   array ( 'count' => 1093, 'rank' => array (     1 => 4,    ), ), 5 =>   array ( 'count' => 728, 'rank' => array (     1 => 5,    ), ), 3 =>   array ( 'count' => 1093, 'rank' => array (     1 => 3,    ), ), )
 * blt: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_6_5100_106188776.blt
 * php:

Environment

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