STAR voting: Difference between revisions

Content added Content deleted
(→‎Discussion: reorder into logical sections)
Line 95: Line 95:


== Precinct summability ==
== Precinct summability ==
STAR voting can be made precinct-summable by using [[pairwise counting]] to determine who voters prefer in every possible automatic runoff.
STAR voting can most simply be counted by first adding up the scores, and then doing a second round of tallying where the two highest-scoring candidates are compared on every ballot. It can be made precinct-summable (countable in one round) by using [[pairwise counting]] to determine who voters prefer in every possible automatic runoff. Example:


Suppose there are 3 precincts, with 5 voters in each of them, and there are four "candidates": White Chocolate, Dark Chocolate, Milk Chocolate, and Chocolate with Almonds. In Precinct 1, we have the following votes:
Example of the STAR result being calculated from precinct-summable data (example modified from https://star.vote/txzfc3c9/):

2 voters vote White:5 Dark:2 (i.e. they give White a score of 5 points, Dark 2 points)

3 voters vote Dark:4 Milk:3 Almonds:3 White:1

To sum this, we add up both the scores and the preferences in each head-to-head matchup. Starting with the first 2 voters, they collectively gave White Chocolate 5*2=10 points and Dark Chocolate 2*2=4 points. The head-to-head matchups are computed by looking at which candidate a voter scored higher between every pair of candidates, so for example, between White and Dark, these 2 voters score White a 5 and Dark a 2, so they prefer (scored higher) White; thus, we add 2 votes to White>Dark (2 votes that help White beat Dark in the head-to-head matchup between the two). Note that with 4 candidates in the election, the preferences in (4*3*0.5)=6 matchups must be known: White vs Dark, White vs Milk, White vs Almonds, Dark vs Milk, Dark vs Almonds, and Milk vs Almonds. In essence, we figure out what the result would be no matter which pair of candidates advance to the automatic runoff, so that we don't have to do a second round of tallying once we know who the pair are. For the first two voters, they score White above all other candidates, so that's 2 votes for White>(each of Dark, Almond, and Milk). Then, they score Dark above all candidates except White, so that's 2 votes for Dark>(Milk and Almonds). Finally, they show no preference between Almonds and White (they didn't score either), so no preference is recorded in the Almonds vs White matchup. We can represent these 2 voter's preferences like so:
{| class="wikitable"
|+
!
!White
!Dark
!Milk
!Almond
|-
|White
|'''10 points'''
|2 (+2 Win)
|2 (+2 Win)
|2 (+2 Win)
|-
|Dark
|0 (-2 Loss)
|'''4 points'''
|2 (+2 Win)
|2 (+2 Win)
|-
|Milk
|0 (-2 Loss)
|0 (-2 Loss)
|'''0 points'''
|0 (Tie)
|-
|Almond
|0 (-2 Loss)
|0 (-2 Loss)
|0 (Tie)
|'''0 points'''
|}
This should be read as "candidate on the left is preferred over candidate on the top by the number of voters in this cell". The margin in each matchup is recorded by taking the number of votes for one candidate and subtracting the number of votes for the other in their head-to-head matchup. Note that, for compactness, the scores for each candidate can be held as a data value in the cell comparing them to themselves i.e. the White>White cell shows White Chocolate's score. If desired, it is possible to record as a separate data value in that cell the number of voters who scored that candidate (i.e. to calculate the average score for the candidate, or even to handle write-in candidates; see below). <small>(Technical side note: With this compactifying modification, there really are N^2 data values to capture, rather than the only N*(N-1) = N^2 - N = almost N^2 values that are needed for [[Condorcet]]).</small>

For the 3 other voters in the precinct, they scored Dark higher than all others, so that's 3 votes for Dark>(Milk, Almonds, and White); they also scored Milk and Almonds above all others except each other and except Dark, so that's 3 votes for (each of Milk and Almonds)>White. So, their runoff matrix is:
{| class="wikitable"
|+
!
!White
!Dark
!Milk
!Almond
|-
|White
|'''3 points'''
|0 (-3 Loss)
|0 (-3 Loss)
|0 (-3 Loss)
|-
|Dark
|3 (+3 Win)
|'''12 points'''
|3 (+3 Win)
|3 (+3 Win)
|-
|Milk
|3 (+3 Win)
|0 (-3 Loss)
|'''9 points'''
|0 (Tie)
|-
|Almond
|3 (+3 Win)
|0 (-3 Loss)
|0 (Tie)
|'''9 points'''
|}
The two matrices can be combined to yield:
{| class="wikitable"
|+
!
!White
!Dark
!Milk
!Almond
|-
|White
|'''13 points'''
|2 (-1 Loss)
|2 (-1 Loss)
|2 (-1 Loss)
|-
|Dark
|3 (+1 Win)
|'''16 points'''
|5 (+5 Win)
|5 (+5 Win)
|-
|Milk
|3 (+1 Win)
|0 (-5 Loss)
|'''9 points'''
|0 (Tie)
|-
|Almond
|3 (+1 Win)
|0 (-5 Loss)
|0 (Tie)
|'''9 points'''
|}
As can be seen above, the number of points for each candidate can be added up (i.e. 10 + 3 = 13 points for White) and the number of votes for each candidate in each head-to-head matchup can be added up (i.e. 3 + 2 = 5 votes for Dark>Milk), allowing us to see all of the final relevant preference information when everything is added up. All of the precincts' matrices can be combined in this manner until a final matrix is reached. If the matrix is organized such that it is in descending order of points (i.e. higher-scored candidates go in higher rows), then the winner can be determined simply by, so long as there are no scorewise ties (ties on points) between the top two candidates and anyone else, looking at the top two rows and looking for the result in the head-to-head matchup between them. So, for example, if the above matrix was the final matrix, then we know that White and Milk would go to the automatic runoff because they have the most points, and Milk would win, because Milk has 1 more vote than (is preferred/scored higher by 1 more voter than) White.

(Note that precinct-summability becomes more complex when dealing with write-in candidates. See [[Pairwise counting#Notes]] for ideas on how to deal with this; essentially, the most comprehensive way is to count the number of voters who score a candidate, filling in that number of votes preferring that candidate above each other candidate in a head-to-head matchup, and subtract a vote from each head-to-head matchup where the voter scored another candidate above or equal to the scored candidate. Since write-ins so rarely win, in practice, it is possible to simply record how many voters scored the write-in and what score they gave that candidate, and only do a second round of tallying in the rare case that the write-in makes it to the automatic runoff. If it is predicted that the write-in may garner significant support, then the election officials can be told to record this candidate's head-to-head matchups as well.)

More complex example of the STAR result being calculated from precinct-summable data (example modified from https://star.vote/txzfc3c9/):


Legend: For, Against, No Preference (i.e. in the Green Party>Working Families Party cell, 97-60-132 means that 97 voters prefer Green>WFP, 60 WFP>Green, and 132 have no preference between the two).
Legend: For, Against, No Preference (i.e. in the Green Party>Working Families Party cell, 97-60-132 means that 97 voters prefer Green>WFP, 60 WFP>Green, and 132 have no preference between the two).
Line 110: Line 221:
|Democratic Party
|Democratic Party
|>
|>
| colspan="5" | '''642'''
| colspan="5" | '''642 points'''
|<big><u>100</u></big>
|<big><u>100</u></big>
|<big><u>-</u></big>
|<big><u>-</u></big>
Line 139: Line 250:
|<u><big>-</big></u>
|<u><big>-</big></u>
|<u><big>85 '''(+4 Win)'''</big></u>
|<u><big>85 '''(+4 Win)'''</big></u>
| colspan="5" | '''615'''
| colspan="5" | '''615 points'''
|109
|109
| -
| -
Line 168: Line 279:
| -
| -
|98
|98
| colspan="5" |'''523'''
| colspan="5" | '''523 points'''
|97
|97
| -
| -
Line 197: Line 308:
| -
| -
|132
|132
| colspan="5" |'''450'''
| colspan="5" | '''450 points'''
|86
|86
| -
| -
Line 226: Line 337:
| -
| -
|129
|129
| colspan="5" |'''449'''
| colspan="5" | '''449 points'''
|}
|}
For simplicity, the candidates have been sorted by scores, with their scores in bold in their own pairwise comparison cell. The top two candidates are not tied scorewise with anyone else, so they both are in the automatic runoff. Between the two, "I don't like party politics" is pairwise preferred (has 4 more votes in the matchup), so it wins.
For simplicity, the candidates have been sorted by scores, with their scores in bold in their own pairwise comparison cell. The top two candidates are not tied scorewise with anyone else, so they both are in the automatic runoff. Between the two, "I don't like party politics" is pairwise preferred (has 4 more votes in the matchup), so it wins.