Anti-Harassment Tools/SecurePoll Improvements/Test Results/20 6 5000 39399868

Comments

edit

Case: All but one seats filled, rest of candidates hopeful, no clear candidate for elimination.

SecurePoll and OpenSTV agree on the final result.

In SecurePoll, this takes 147 rounds to decide the outcome!

Election setup

edit
  • Candidates: 20
  • Seats: 6
  • Votes: 5000

Actual

edit

Output from SecurePoll (var_dump( $this->tallier->resultsLog );): https://phabricator.wikimedia.org/P16853

Actual tally: SP 3.0.0 (58bf4c8)

edit

Elected

edit

Election for 6 seats with 20 candidates. Total 5,000 votes.

  1. "1"
  2. "2"
  3. "3"
  4. "4"
  5. "5"
  6. "6"

Eliminated/Not elected

edit
  • "7"
  • "8"
  • "9"
  • "10"
  • "11"
  • "12"
  • "13"
  • "14"
  • "15"
  • "16"
  • "17"
  • "18"
  • "19"
  • "20"

Rounds table

edit

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.

Round Number Tally Result
1
  1. "5": 858
  2. "1": 857
  3. "3": 857
  4. "4": 857
  5. "2": 857
  6. "6": 714
  7. "14": 0
  8. "19": 0
  9. "18": 0
  10. "17": 0
  11. "16": 0
  12. "15": 0
  13. "11": 0
  14. "13": 0
  15. "12": 0
  16. "10": 0
  17. "9": 0
  18. "8": 0
  19. "7": 0
  20. "20": 0
Quota: 714.285715
2
  1. "5": 858
  2. "1": 857
  3. "3": 857
  4. "4": 857
  5. "2": 857
  6. "6": 714
  7. "14": 0
  8. "19": 0
  9. "18": 0
  10. "17": 0
  11. "16": 0
  12. "15": 0
  13. "11": 0
  14. "13": 0
  15. "12": 0
  16. "10": 0
  17. "9": 0
  18. "8": 0
  19. "7": 0
  20. "20": 0
Quota: 714.285715

Elected: "1", "2", "3", "4", "5"

3
  1. "1": 857 - 142.714285 = 714.285715 (keep factor: 0.833472)
  2. "3": 857 - 142.714285 = 714.285715 (keep factor: 0.833472)
  3. "4": 857 - 142.714285 = 714.285715 (keep factor: 0.833472)
  4. "5": 858 - 143.714285 = 714.285715 (keep factor: 0.832501)
  5. "2": 857 - 142.714285 = 714.285715 (keep factor: 0.833472)
  6. "6": 714
  7. "14": 0
  8. "19": 0
  9. "18": 0
  10. "17": 0
  11. "16": 0
  12. "15": 0
  13. "11": 0
  14. "13": 0
  15. "12": 0
  16. "10": 0
  17. "9": 0
  18. "8": 0
  19. "7": 0
  20. "20": 0
Quota: 612.204083

Elected: "6" Transferring votes

(Results from 14:27, 31 August 2021)

Expected

edit

Output from OpenSTV: https://phabricator.wikimedia.org/P16854

Files

edit
array (
  11 => 
  array (
    'count' => 93,
    'rank' => 
    array (
      1 => 11,
    ),
  ),
  2 => 
  array (
    'count' => 715,
    'rank' => 
    array (
      1 => 2,
    ),
  ),
  8 => 
  array (
    'count' => 90,
    'rank' => 
    array (
      1 => 8,
    ),
  ),
  12 => 
  array (
    'count' => 94,
    'rank' => 
    array (
      1 => 12,
    ),
  ),
  4 => 
  array (
    'count' => 715,
    'rank' => 
    array (
      1 => 4,
    ),
  ),
  7 => 
  array (
    'count' => 89,
    'rank' => 
    array (
      1 => 7,
    ),
  ),
  9 => 
  array (
    'count' => 91,
    'rank' => 
    array (
      1 => 9,
    ),
  ),
  18 => 
  array (
    'count' => 100,
    'rank' => 
    array (
      1 => 18,
    ),
  ),
  16 => 
  array (
    'count' => 98,
    'rank' => 
    array (
      1 => 16,
    ),
  ),
  3 => 
  array (
    'count' => 715,
    'rank' => 
    array (
      1 => 3,
    ),
  ),
  10 => 
  array (
    'count' => 92,
    'rank' => 
    array (
      1 => 10,
    ),
  ),
  13 => 
  array (
    'count' => 95,
    'rank' => 
    array (
      1 => 13,
    ),
  ),
  1 => 
  array (
    'count' => 715,
    'rank' => 
    array (
      1 => 1,
    ),
  ),
  15 => 
  array (
    'count' => 97,
    'rank' => 
    array (
      1 => 15,
    ),
  ),
  19 => 
  array (
    'count' => 101,
    'rank' => 
    array (
      1 => 19,
    ),
  ),
  17 => 
  array (
    'count' => 99,
    'rank' => 
    array (
      1 => 17,
    ),
  ),
  20 => 
  array (
    'count' => 102,
    'rank' => 
    array (
      1 => 20,
    ),
  ),
  6 => 
  array (
    'count' => 88,
    'rank' => 
    array (
      1 => 6,
    ),
  ),
  5 => 
  array (
    'count' => 715,
    'rank' => 
    array (
      1 => 5,
    ),
  ),
  14 => 
  array (
    'count' => 96,
    'rank' => 
    array (
      1 => 14,
    ),
  ),
)

Environment

edit