Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use correct "% of Vote" column denominator in summary.csv #851

Open
yezr opened this issue Jun 18, 2024 · 4 comments · Fixed by #883
Open

Use correct "% of Vote" column denominator in summary.csv #851

yezr opened this issue Jun 18, 2024 · 4 comments · Fixed by #883
Assignees

Comments

@yezr
Copy link
Collaborator

yezr commented Jun 18, 2024

There are two changes necessary. The first is for all STV multi-winner elections. The second is for IRV elections when First Round Determines Threshold is set.

STV Multi-Winner Elections

RCTab Version 1.3.999
Config vmsg surplus transfer test.json
CVR vmwg cvr.xlsx
summary.csv is in this sheet looking at the [1.3.999] summary.csv tab

What Happened

Using the VMSG surplus transfer multi-winner contest in this sheet. Looking at the [1.3.999] summary.csv tab you can see the % of Vote columns use the current round Active Ballots as the denominator. For example Candidate C has 8 votes in both Round 2 and Round 3, but their % of Vote jumps in round 3 because one ballot goes inactive.

What Should Happen

All STV contests should use the Round 1 Active Ballots count as the denominator for the % of Vote columns in each round. Candidates elected after the first candidate need to reach the same amount of support as the first. The % of Vote (FIXED) columns highlighted in green have examples of what we would expect for Rounds 2 and 3.

IRV w/ First Round Determines Threshold

RCTab Version 1.3.999
Config first round threshold 4 candidates first round threshold selected.json
CVR CSV CVRs - irv first round threshold 4 candidates.csv
summary.csv here

The first tab in the summary spreadsheet shows a contest with First Round Determines Threshold selected. For IRV contests, when First Round Determines Threshold is set to true we are currently using the current round active ballots for the % of Vote denominator. When First Round Determines Threshold is set we should use the First Round active ballots as the denominator. I created the % of vote (FIXED) columns highlighted in green to show what we would expect.

@yezr yezr added this to RCTab v2.0 Jun 18, 2024
@yezr

This comment has been minimized.

@yezr yezr changed the title "% of Vote" column in summary.csv for STV contests should use Round 1 Active Ballots as denominator WIP: confirm "% of Vote" column in summary.csv uses correct denominator Jun 18, 2024
@andyanderson
Copy link

andyanderson commented Jun 18, 2024 via email

@yezr
Copy link
Collaborator Author

yezr commented Jun 18, 2024

The only way to avoid this is to pair this with another rule, “the candidate with the most votes in the final round is the winner”, even if that’s not the first-round threshold. Is that always assumed to be the case with our tabulator?

Yep, in IRV we gotta elect someone! So if it comes down to the final two it will select the candidate with the most votes. That will show in the % of Votes as > 50% so long as 'First Round Determines Threshold' is not checked (which is the default behavior for IRV).

@yezr yezr moved this to Todo in RCTab v2.0 Jun 24, 2024
@yezr yezr changed the title WIP: confirm "% of Vote" column in summary.csv uses correct denominator Use correct "% of Vote" column denominator in summary.csv Jun 24, 2024
@artoonie artoonie self-assigned this Jul 3, 2024
@artoonie artoonie moved this from Todo to In Progress in RCTab v2.0 Sep 4, 2024
@artoonie artoonie moved this from In Progress to In Review in RCTab v2.0 Sep 4, 2024
@yezr yezr linked a pull request Sep 9, 2024 that will close this issue
@yezr
Copy link
Collaborator Author

yezr commented Sep 24, 2024

Noting for posterity once this has been fixed

STV

  • first round will sum to 100%, later rounds will be less than 100% as ballots go inactive for any reason.
  • % of vote in final round results will always show > threshold % (computed by 1 / numSeats + 1) because that is a requirement for getting elected

IRV w/ first round determines threshold

  • first round will sum to 100%, later rounds will be less than 100% as ballots go inactive for any reason.
  • % of vote in final round could end up below 50% as ballots that go inactive are removed from the numerator

IRV

  • first round will sum to 100%, later rounds will sum to 100% as inactive ballots are taken out of the divisor
  • % of vote will be >=50% as inactive ballots are taken out of the divisor

@artoonie artoonie moved this from In Review to Done in RCTab v2.0 Sep 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants