BrightSpots / rcv

Ranked Choice Voting Universal Tabulator
Mozilla Public License 2.0
71 stars 20 forks source link

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

Open yezr opened 3 months ago

yezr commented 3 months ago

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 commented 3 months ago

I think it should also use Round 1 Active Ballots as the denominator when "First Round Determines Threshold" is checked for IRV

image

Confirming that with RCVRC HQ. I'll update the original ticket when a decision is made.

andyanderson commented 3 months ago

Unfortunately, with IRV “first round determines threshold” allows for the possibility that no one reaches the threshold when there are many exhausted ballots, and therefore a candidate who thinks they might lose might strategize and campaign against ranking more than themselves, hoping this might result in a new election. 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? (It’s automatically true when the threshold varies by round, because whoever has a majority also has the most votes.)

No matter what, this rule will result in a less honest reflection of the voters, who should always be encouraged to rank as many candidates as they feel up to.

It’s a different situation with STV, where you know that many candidates will reach the much lower first-round threshold, except, commonly, for the last seat.

On Jun 18, 2024 11:23 AM, at 11:23 AM, Mathew Ruberg @.***> wrote:

I think it should also use Round 1 Active Ballots as the denominator when "First Round Determines Threshold" is checked for IRV image.png (view on web) https://github.com/BrightSpots/rcv/assets/8996546/5e9c0150-d813-495b-ab4e-b14998c439c4 Confirming that with RCVRC HQ. I'll update the original ticket when a decision is made.

— Reply to this email directly, view it on GitHub https://github.com/BrightSpots/rcv/issues/851#issuecomment-2176373825, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDAO745RXLZBDLBZ7QBZQDZIBGGDAVCNFSM6AAAAABJQHKAOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZWGM3TGOBSGU. You are receiving this because you are subscribed to this thread.

yezr commented 3 months ago

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).