Anti-Harassment Tools/SecurePoll Improvements/Test Results/20 9 5200 2038025507

Comments
This might be a good example election to demonstrate our method for dealing with ties.

SecurePoll elects candidates 1, 2, 3, 4, 5, 6, 7 and 8.

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

This is because in the end candidates 10 and 13 are tied for lowest votes. OpenSTV picks one at random. SecurePoll eliminates them both.

Election setup

 * Candidates: 20
 * Seats: 9
 * Votes: 5200

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

Elected
Election for 9 seats with 20 candidates. Total 5,200 votes.


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

Eliminated/Not elected

 * "16"
 * "17"
 * "18"
 * "19"
 * "20"
 * "9"
 * "15"
 * "12"
 * "14"
 * "11"
 * "10"
 * "13"

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:34, 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: https://phabricator.wikimedia.org/P16913

Files
array ( 5 =>   array ( 'count' => 521, 'rank' => array (     1 => 5,    ), ), 11 =>   array ( 'count' => 191, 'rank' => array (     1 => 11,    ), ), 7 =>   array ( 'count' => 521, 'rank' => array (     1 => 7,    ), ), 6 =>   array ( 'count' => 521, 'rank' => array (     1 => 6,    ), ), 8 =>   array ( 'count' => 521, 'rank' => array (     1 => 8,    ), ), 4 =>   array ( 'count' => 521, 'rank' => array (     1 => 4,    ), ), 9 =>   array ( 'count' => 98, 'rank' => array (     1 => 9,    ), ), 14 =>   array ( 'count' => 121, 'rank' => array (     1 => 14,    ), ), 15 =>   array ( 'count' => 102, 'rank' => array (     1 => 15,    ), ), 10 =>   array ( 'count' => 200, 'rank' => array (     1 => 10,    ), ), 13 =>   array ( 'count' => 200, 'rank' => array (     1 => 13,    ), ), 2 =>   array ( 'count' => 521, 'rank' => array (     1 => 2,    ), ), 3 =>   array ( 'count' => 521, 'rank' => array (     1 => 3,    ), ), '1_9' =>   array ( 'count' => 521, 'rank' => array (     1 => 1,      2 => 9,    ), ), 12 =>   array ( 'count' => 120, 'rank' => array (     1 => 12,    ), ), )
 * blt: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_9_5200_2038025507.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/)