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

From mediawiki.org

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]