Anti-Harassment Tools/SecurePoll Improvements/Test Results/20 9 5000 1730013084/archive

From mediawiki.org
Jump to navigation Jump to search

SecurePoll 3.0.0 (f06e679) 21:48, 24 August 2021[edit]

Output from SecurePoll tally.php: actual

Output from SecurePoll var_export( $this->tallier->resultsLog );: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_9_5000_1730013084_f06e679.blt.php

Comments[edit]

There is a discrepancy in candidates elected by SecurePoll and OpenSTV due to the way SecurePoll eliminates candidates.

SecurePoll elects candidates 1, 2, 3, 4, 5, 6, 7 and 8, leaving the final seat unfilled.

OpenSTV elects candidates 1, 2, 3, 4, 5, 6, 7, 8 and 19. Candidate 19 was elected at random.

Notice that in the tally page/cli output, candidate 9 is not shown as having any votes transferred to them. But, according to the resultsLog they do (for example). This is due to a) different levels of precision when calculating the amount of votes "earned" vs. "total and b) rounding to 6 decimal places when displaying results.

For example, in round 12 candidate 9 has "earned" 1.2905624009558917E-15 votes but their total is still 82.0. This means they are eliminated at the same time as candidates 10, 11 and 12.

See https://phabricator.wikimedia.org/T289347#7301407 for more details.

This election was created for the purposes of testing precision.

SecurePoll 3.0.0 (543f6f0) 04:43, 12 August 2021[edit]

Output from SecurePoll tally.php: actual

Output from SecurePoll var_export( $this->tallier->resultsLog );: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_9_5000_1730013084_543f6f0.blt.php

Comments[edit]

There is a discrepancy in candidates elected by SecurePoll and OpenSTV due to the way SecurePoll eliminates candidates.

SecurePoll elects candidates 1, 2, 3, 4, 5, 6, 7 and 8, leaving the final seat unfilled.

OpenSTV elects candidates 1, 2, 3, 4, 5, 6, 7, 8 and 19. Candidate 19 was elected at random.

Notice that in all rounds candidate 9 earns "0" votes. This is due to us rounding down to 6 decimal places when displaying results. This can lead to confusing results, such as in round 12 candidates 10, 11 and 12 being eliminated due to having the lowest number of votes (82). Candidate 9 is shown as having 82 votes as well, but is not eliminated because in reality they have slightly more than 82 votes (82.0000000000000012905624009558917). This behaviour is correct, but could be confusing for people interpreting the results.

This election was created for the purposes of testing precision.