STAR Voting Technical Specifications

 

Section 1. Terms and Definitions:

1.a. "STAR Voting" is the name for the single-winner STAR voting method described in section 2.b. The term "STAR Voting" may also be used more generally to refer to the  single-winner STAR voting method described in section 2.b., the multi-winner STAR voting method described in section 2.c, and the Proportional STAR Voting method described in section 2.d. Unless otherwise specified, the term "STAR Voting" should be assumed to refer to the single-winner STAR Voting method.

1.b. The mnemonic "Score Then Automatic Runoff" may accompany the name STAR Voting and may be used to describe the STAR Voting tabulation, but shall not be used instead of the name "STAR Voting." Acceptable example uses include the following:

  • STAR stands for Score Then Automatic Runoff and that's exactly how it works. 

  • STAR "Score Then Automatic Runoff" Voting uses a 5 star ballot.

1.c. "Bloc STAR Voting" or "Basic Multi-Winner STAR Voting" is conducted by repeating the STAR Voting process until all seats have been filled, as described in section 2.c. 

1.d. "Proportional STAR Voting" may refer to any method of tabulating the five star ballot in such a way that the results proportionally reflect the makeup of the electorate. Voting methods which may use the name Proportional STAR Voting must be authorized by the board of STAR Voting Action 501c4. STAR Voting Action reserves the right to update the list of endorsed Proportional STAR Voting methods, and to upgrade the algorithms for tabulation of these methods pending advances in the field of expressive proportional representation voting methods.

1.e. "Multi-Winner STAR Voting" may refer to Bloc STAR Voting as described in section 2.c. or to Proportional STAR Voting as described in section 2.d. Unless otherwise specified it should be assumed to refer to Bloc STAR Voting. 

1.f. A "Five Star Ballot" is the type of ballot used in STAR Voting in which voters may score each candidate independently from zero through five stars with zero being the worst and five being the best rating possible. 

1.g. The terms "Score" and "Star" may be used interchangeably to refer to a score or rating given to a specific candidate, to refer to the act of scoring or rating a candidate, or to refer to a candidate's total score or total stars received. For example, Candidate A received 46 stars in the scoring round; the total score for Candidate A was 46. 

1.h. A "Round" in STAR Voting refers to a round of tabulation in which ballots are counted. 

1.i. "Scoring Round" The scoring round in a STAR Voting election refers to the first round of tabulation, in which the total score received by each candidate across all ballots cast is summed. Single-winner and Bloc STAR Voting have a single scoring round. Proportional STAR Voting has a scoring round for each seat up for election in the race, though these may be referred to as simply "Rounds". 

1.j. An "Automatic Runoff," "Runoff," or "Runoff Round" in STAR Voting refers to the final round of tabulation for each seat in single-winner and Bloc STAR Voting. In an Automatic Runoff voters do not need to vote again, ballots are simply recounted to determine which of the two highest scoring candidates from the preceding scoring round was preferred (scored higher) by each voter. Each voter's full vote goes to the finalist they prefer. The candidate who receives the most votes wins. An Automatic Runoff is a type of "Instant Runoff," but the term Instant Runoff should not be used to refer to STAR Voting.

1.k. "Election" refers to a single election or race, or series of races which are officiated simultaneously by one entity, often the board of elections for a jurisdiction. An example election would be the 2020 Oregon General Election. 

1.l. "Race" refers to an election for a specific position up for election. Races may be single-winner or multi-winner. Each race by definition must use a single voting method and be tabulated independently from all other races. An example race would be the 2020 Portland, Oregon Mayoral Race. 

1.m. "Seat" refers to a position which can be filled by a single individual, generally, the winner of the election for that seat.

1.n. A "Finalist" in a single-winner STAR or Bloc STAR Voting election refers to the two highest scoring candidates in the Scoring Round who advance to the Automatic Runoff for a given seat up for election. 

1.o. "A vote of no preference" is the technical term to describe when a ballot in the STAR Voting runoff gave both finalists the same score or left both finalists blank. This means that the vote was counted and that the voter had expressed no preference between the two finalists in the runoff. 

1.p. An "Undervote" in a race refers to a voter who voted in an election and scored at least one candidate in at least one race higher than a zero, but who gave no scores to any of the candidates for another race. These ballots will be counted towards the total number of votes cast for the election in general and their vote will be counted in the races they voted in, but will not count as a vote in any races where they left all candidates blank or where they scored all candidates at zero stars. Thus the total number of voters or votes cast may vary from race to race within one election. 

1.q. The terms "1st Place," "2nd Place," etc are the preferred terms to describe the "Winner Rankings" in a multi-winner Bloc or Proportional STAR Voting election. For example, if Candidate A won the first seat and Candidate B won the second seat then Candidate A would be the 1st place winner and Candidate B would be the 2nd place winner. Though a 5 Star Ballot or rating ballot is a method of showing preference order and can be described as a type of ranking, the word "Ranking" should not be used to describe the act of scoring candidates on the ballot. To prevent confusion with ranked voting, the term "Ranking" should generally be avoided if another term is acceptable. 

 

Section 2. Procedures:

2.a. Single-Winner STAR Voting is conducted as follows:

2.a.i. Candidates are scored from 0 (worst) to 5 (best).

2.a.ii. Ballots are tabulated in two rounds:

Scoring Round: For each position for which a candidate appears on the ballot, the vote tally system will calculate the sum total of the scores received by each candidate and then determine the two finalists who received the greatest total scores.

Automatic Runoff Round: Of the two finalists identified in the Scoring Round each voter’s vote will be considered cast in favor of the candidate to whom the voter gave the greater score. If a voter gave both candidates the same score, the voter’s ballot will be considered a vote of "no preference" between the finalists. The finalist with the majority of votes cast in their favor wins.

2.b. Ties will be broken as follows: A tie in the scoring round will be determined in favor of the candidate who was preferred by more voters in the automatic runoff. A tie in the runoff round will be determined in favor of the candidate with the highest overall score in the scoring round. In the event that a tie can not be resolved as above, the election will be called as a tie, unless a further tie breaking procedure was adopted in advance of the election and was publicly disclosed. 

2.c. For Bloc STAR Voting elections, positions will be filled as described in sections 2.a and 2.b., with an additional Automatic Runoff round conducted for each seat up for election. 

2.d. For Proportional STAR Voting elections positions will be filled by tabulating ballots using a Proportional STAR Voting method such as "Allocated Score Voting" which is authorized and endorsed by the STAR Voting Action 501c4, and which must be specified in advance of the election and publicly disclosed. (See Appendix F.) 

 

Section 3. Balloting Protocols

3.a. The voter instructions and voting method explanation will be printed on the ballot itself prominently: 

3.b. Ballots will contain the following voting instructions in clear and accessible language near the top of the ballot or near the top of the section of the ballot where STAR Voting will be used:

  • Give your favorite(s) five stars.
  • Give your last choice(s) zero stars. 
  • Show preference order and level of support.
  • Equal scores indicate no preference. 
  • Those left blank receive zero stars.

3.c. Multi-winner elections will specify the number of winners to be elected in each race above that race on the ballot. 

3.d. The STAR Voting method will be explained on the ballot as follows:

  • Single-winner STAR Voting: This election will use STAR Voting, in which the two highest scoring candidates are finalists. Your full vote goes to the finalist you prefer. 
  • Multi-winner STAR Voting: This election will use STAR Voting to elect _ winners. In STAR Voting  the two highest scoring candidates are finalists and your vote goes to the finalist you prefer. The finalist preferred by the most voters wins. This process repeats until all seats have been filled. 
  • Winners in Proportional STAR Voting are selected in rounds. Each round elects the candidate with the highest total score, and then designates that candidate's strongest supporters as represented. Subsequent rounds include all voters who are not yet fully represented.

3.e. Voting instruction and the voting method explanations in sections e1-e3 may be paraphrased or translated as long as they are presented with the meaning unchanged and in clear and accessible language. 

3.f. Supplemental information on STAR Voting for voters will be available, and information on where to find these materials will be printed on the ballot itself.

3.g. The ballot rating scale will be formatted according to the following specifications: 

3.g.i. The scale will be labeled from worst (0 stars) to best (5 stars.) Terms used must specify clearly that the scale is relative to the options available and do not represent absolute values such as good and bad. 

3g.ii. The candidate rows for each race will contain shading or horizontal lines which will clearly indicate which fields correspond to which candidates. 

3.g.iii. If bubbles to be filled in or stars to be clicked will be used, these bubbles or stars will each be individually labeled with the numbers 0-5. 

 

Section 4. Election Results: 

4.a. All STAR Voting elections official results will include the following information:

  • The election date.
  • The number of votes cast for the election as a whole and (if different) for each race within the election. 
  • The voting method for each race.
  • The election winner or winners listed in the order of election. 
  • If results are preliminary, the "Percent Reporting" or percentage of ballots cast which are included in the preliminary results should be included and the results should include a header making it clear that these are "Preliminary Results."

(See Appendix D)

4.b. Single-Winner STAR Voting official results will also include the following information for each race:

  • The "Total Score" for each candidate, (often displayed as a bar graph.)
  • The "Runoff Votes" for each finalist. 
  • The "Percentage of Runoff Votes" for each finalist, not counting votes of no preference, (often displayed as a pie chart.)

(See Appendix D, Figure 4)

4.c. Bloc STAR Voting official results will also include the following information for each race:

  • The "Total Score" for each candidate.
  • The "Runoff Votes" and "Percentage of Runoff Votes" for each finalist for the first seat up for election. 
  • The "Runoff Votes" and "Percentage of Runoff Votes" for each finalist for the first additional seat up for election.

(See Appendix D, Figure 5)

4.d. Proportional STAR Voting official results will also include the following information for each race:

  • The "First Seat Total Score" for each candidate. 
  • The adjusted "Second Seat Total Score" for each remaining candidate 
  • The adjusted "Third Seat Total Score" for each remaining candidate 
  • The adjusted total scores for each remaining candidate for each additional seat up for election. 

(See Appendix D, Figure 6)

4.e. If additional election data is available, information on where to obtain it and when it will be available will be provided below the official results. 

4.f. Additional election data for Single-Winner and Bloc STAR Voting elections may include:

  • The average score received by each candidate in the scoring round. 
  • A preference matrix showing the number of voters who preferred each candidate over each other candidate. (See Appendix E)
  • The Automatic Runoff votes and percentages, including the no-preference runoff votes. 
  • The full anonymized cast vote record (CVR) for the race. 

 4.g. Additional election data for Proportional STAR Voting elections may include:

  • The number of votes needed to fill one quota.
  • The full anonymized cast vote record (CVR) for the race. 

4.i. All STAR Voting election results should be presented cleanly and clearly and simply. Care should be taken to not include auxiliary information or numbers in the main official results released that would be confusing to lay people. Examples of information that should not be included in main official results:

  • Candidates should not be numbered in the order they are listed on the ballot.  
  • Average scores should not be presented. 
  • Preference matrices should only be included in additional information available on request. 

 

Section 5. Protocols Regarding Voter Error and Spoiled Ballots

5.a. Failure to follow the ballot instructions explicitly, such as failing to give any candidate 5 stars, will not result in a voided or spoiled ballot. In all cases, if the ballot is filled out in such a way that the voter's intent is clear or can be determined the ballot should be counted according to the voter's intent. 

5.b. In the event that a voter marked multiple scores for a single candidate an election official should look to see if additional marks were made to indicate which score was correct. An X is often used to indicate that a vote marked was accidental and should be ignored, especially if the voter did not use Xs on other parts of their ballot. 

5.c. In the event that a voter filled out multiple ballot scores sequentially in a row from the lowest up, (For example, marking the 1, 2, 3, and 4,) the vote should be counted for the highest score marked (4 stars in this example) as the voter was likely filling their ballot out to look like a five star rating. 

5.d. Voters whose ballots were not able to be counted should be promptly notified and should be allowed to resubmit the votes within a reasonable amount of time after the election is over whenever possible, especially if the election is close enough that these ballots could be determinative. In the event that outstanding ballots could change the election, the result shouldn't be certified until all outstanding ballots have been counted or until the window to correct issues has expired. 

5.e. Voters who would like to change or edit their votes before the final deadline has passed should be allowed to do so when possible. 

5.f. If one voter is confirmed to have cast multiple ballots, only the last ballot cast should be counted unless one ballot is blank, in which case the blank ballot should be discarded, or unless voter intent can be determined to be otherwise. This is especially important for online elections where voters may have experienced technical difficulties. 



Section 6. Protocols regarding tabulation of ballots and batch summability

6.a. Single-winner and Bloc STAR Voting allow for any subset or "batch" of ballots to be fully tallied independent of all other ballots. 

6.b. Batch tabulation of ballots is accomplished by tallying the total score received by each candidate, and by tallying the head to head preference votes (automatic runoff votes) between each pair of candidates. These results can be recorded using a preference matrix with an additional column for the total score for each candidate. (See Appendix E)

6.c. Batch tabulation allows for ballots to be fully tabulated as they come in, before all ballots are in hand. Batch tabulation also allows ballots to be fully tabulated at the batch, precinct, and county level without centralization of ballots. This also permits full recounts, audits, or risk limiting audits, at any stage in the election officiation. 

6.d. In most cases, jurisdictions upgrading to STAR Voting from Plurality voting or similar methods will be able to continue to use existing protocols regarding the scanning of ballots at the most local level possible and regarding the tabulation of ballots by batch. 

 

Section 7. Protocols regarding auditing of election results

7.a. STAR Voting elections are fully auditable and standard election integrity protocols which allow for hand recounts, audits, or risk limiting audits should be followed by those officiating STAR Voting elections. 

7.b. Partial recounts, full manual recounts, and Risk Limiting Audits for STAR Voting can be done using similar protocols to those used for plurality voting. More information on STAR Voting Audits can be found here: https://www.starvoting.us/audit

 

Appendix A. STAR Voting sample ballots illustrating key design and language elements

Figure A: Single-Winner STAR Voting ballot: 


Figure B: Bloc STAR Voting ballot:

Figure C: Proportional STAR Voting ballot:

 

 

Appendix B. STAR Voting for Troutdale Sample Initiative Petition. (Authorizing and establishing single-winner and/or Bloc STAR Voting for Troutdale, OR City Elections)

Chapter VI. Elections 

SECTION 26. NOMINATION AND ELECTION OF CITY OFFICERS. Except as this charter provides to the contrary, the manner of nominating and electing candidates for elective city offices shall be the manner now or hereafter prescribed by the laws of the state for the conduct of nonpartisan nominations and elections.

(1) Election of city officers under this section shall be held at the November election according to STAR Voting as described in subsections (2) and (3) of this Section.

(2) A ballot shall be delivered to each registered elector, regardless of party affiliation. The ballot shall inform the elector of the number of seats up for election, then direct the elector to score each candidate appearing on the ballot on a scale of zero to five, with zero being the lowest score possible and five being the highest score possible. If an elector leaves a candidate’s score blank, the elector’s score for that candidate shall be counted as zero. An elector may give the same score to multiple candidates in the same race. The ballot shall inform the elector of how to vote, how votes are to be cast, and how votes will be tallied as described under subsections (2) and (3) of this section, respectively. These instructions shall contain, at a minimum, the information presented in subsection (4) of this section.

(3) In STAR Voting, each voter, or “elector,” scores each candidate appearing on the ballot on a scale from zero stars (worst) to five stars (best). If an elector leaves a candidate’s score blank, the elector’s score for that candidate is counted as zero. An elector wishing to express no preference between two or more candidates may do so by giving them the same score. STAR Voting elects the majority favorite between the two highest-scoring candidates, determined as follows:

(a) For each office for which a candidate appears on the ballot, the vote tally system shall conduct a scoring round, to calculate the sum total of the scores received by each candidate and then determine the two candidates who received the greatest total scores. Those two candidates will be deemed the finalists for that office who will advance to an automatic runoff.

(b) Of the two finalists identified under subsection (3)(a) of this section, the vote tally system shall conduct an automatic runoff to determine in whose favor each elector’s ballot was cast, as follows: Each elector’s vote will be considered cast in favor of the finalist whom that elector gave the greater score. If an elector gave both finalists the same score, that elector’s ballot will be considered a vote of no preference between the finalists.

(c) The finalist in whose favor a greater number of votes are cast as determined under subsection (3)(b) of this section shall be determined to be the winner.

(d) If more than one seat is to be filled in a given race, steps a to c are repeated until the desired number of seats have been filled.

(e) The winner of each automatic runoff shall be entitled to a certificate of election to office and shall be considered the person who received the highest number of votes cast for purposes of ORS 254.065. 

(4) The following basic information shall be included on the ballot in clear and accessible language:

(a) The number of seats up for election if the number is more than one. 

(b) Directions at the top of the STAR Voting section of the ballot shall include the following information: 

Electors shall be instructed to give their favorite(s) five stars.
• Electors shall be instructed to give their last choice(s) zero stars.
• Electors shall be instructed to score candidates according to preference order and level of support.
• Electors shall be informed that giving candidates equal scores is permitted and that doing so indicates no preference between those candidates.
• Electors shall be informed that candidates left blank will receive zero stars. 

(c) The electors’ scores are summed, and the two highest-scoring candidates are deemed finalists. The finalists will advance to an automatic runoff in which the finalist preferred by a greater number of electors will be elected to office. 

(d) If more than one seat is up for election, an additional automatic runoff is conducted for each additional seat up for election until all seats are filled. 

(5) Ties in STAR Voting will be resolved as follows: A tie in the scoring round will be determined in favor of the candidate who was preferred by more voters in the automatic runoff. A tie in the runoff round will be determined in favor of the candidate with the highest overall score in the scoring round. In the event that a tie can not be resolved as above, the election will be called as a tie-vote.

(6) The County Commissioners shall, by ordinance, establish rules for the orderly administration of the election using STAR Voting as described in subsections (3) and (4) of this section, including rules to determine the prevailing candidate in cases of a tie-vote which can not be resolved as described in subsection (5) of this section.

(7) If a provision of this Section is or becomes illegal, invalid or unenforceable, that shall not affect the validity or enforceability of any other provision of this Section.



Appendix C: Sample Ballot Title - Troutdale STAR Voting Charter Initiative

CAPTION: (10/10 words)
Amends Charter, adopts STAR voting method for electing city officers.

QUESTION: (19/20 words)
Shall Charter be amended to eliminate primary, elect city officers using the STAR (Score Then Automatic Runoff) voting method?

SUMMARY: (172/175 words)
Measure amends city charter to eliminate primary and use STAR “Score Then Automatic Runoff” voting procedures for mayor and city councilor elections. Ballots include instructions, explain STAR voting process, and state how many seats will be filled in each race. Measure permits voters to show preference order and level of support for candidates with a 5 star rating style ballot, scoring each candidate independently from zero (worst) to five (best). Blanks count as zero. Voters may give the same score to multiple candidates. Ballots are counted in two rounds: In first “scoring” round, scores for each candidate are totaled. The two candidates with the highest total scores advance to "automatic runoff". In runoff round, candidate with higher score on each ballot receives one vote. Ballots on which finalists receive the same score shall be counted as a vote of no preference between the two. The candidate with the most votes wins. If multiple seats are to be filled (not current practice) process repeats with remaining candidates until all seats have been filled. 

 

Appendix D: Example STAR Voting Results:

Figure 4. Single-Winner STAR Voting Results:

 

Figure 5. Bloc STAR Voting Results

 

Figure 6: Proportional STAR Voting Results:

 

Appendix E: An example of STAR Voting Batch Level Results

 

Appendix F: Technical Description and Python Code for Allocated Score Voting 

Description:

Allocated Score Voting is a type of Proportional STAR Voting. Winners in Allocated Score Voting are selected in rounds. Each round elects the candidate with the highest total score and then designates a quota worth of voters from that candidate's strongest supporters as represented. Subsequent rounds include all voters who are not yet fully represented until all seats have been filled.

 

Procedure: 

Each voter scores all candidates on a [0,5] scale.

  1. Select the candidate with the highest sum of score as each round's winner.
  2. Set the vote weight to zero for up to one quota's worth of voters whose ballots gave the winner the highest score, as follows:
    a. Sort voter's ballots into groups by the score each ballot contributed to the winner's total.
    b. Starting with the group which gave the highest score to the winner and continuing in descending order, add each subsequent group to the quota if doing so will not cause the quota to be exceeded.
  3. For the next group of voters "Fractional Surplus Handling" will be applied to each ballot: an equal fraction of each voter in this group's ballot weight is allocated to the winner's quota to ensure that the quota can be filled exactly. This group will have the remainder of their vote weight continue forward to be counted in subsequent rounds of winner selection and allocation. 
  4. Repeat this process until all the seats are filled.

 

Python  Implementation:

Given a Pandas dataframe S with columns representing candidates and rows representing voters, the entries S would encode the full cast vote record (the score given to each candidate by each voter on each ballot) for a max score of K [K=5 for Proportional STAR Voting], and a desired number of winners W.

 

import pandas as pd
import numpy as np

def Allocated_Score(K, W, S):

    #Normalize score matrix
    ballots = pd.DataFrame(S.values/K, columns=S.columns)
    
    #Find number of voters and quota size
    V = ballots.shape[0]
    quota = V/W
    ballot_weight = pd.Series(np.ones(V),name='weights')
    
    #Populate winners in a loop
    winner_list = []
    while len(winner_list) < W:

        weighted_scores = ballots.multiply(ballot_weight, axis="index")

        #Select winner
        w = weighted_scores.sum().idxmax()
    
        #Add winner to list
        winner_list.append(w)

        #remove winner from ballot
        ballots.drop(w, axis=1, inplace=True)
    
        #Create lists for manipulation
        cand_df = pd.concat([ballot_weight,weighted_scores[w]], axis=1).copy() 
        cand_df_sort = cand_df.sort_values(by=[w], ascending=False).copy()  
        
        #find the score where a quota is filled
        split_point = cand_df_sort[cand_df_sort['weights'].cumsum() < quota][w].min()
    
        #Amount of ballot for voters who voted more than the split point
        spent_above = cand_df[cand_df[w] > split_point]['weights'].sum()
        
        #Allocate all ballots above split point
        if spent_above>0:    
            cand_df.loc[cand_df[w] > split_point, 'weights'] = 0.0
    
        #Amount of ballot for voters who gave a score on the split point
        weight_on_split = cand_df[cand_df[w] == split_point]['weights'].sum()

        #Fraction of ballot on split needed to be spent
        if weight_on_split>0:     
            spent_value = (quota - spent_above)/weight_on_split
    
            #Take the spent value from the voters on the threshold evenly
            cand_df.loc[cand_df[w] == split_point, 'weights'] = cand_df.loc[cand_df[w] == split_point, 'weights'] * (1 - spent_value)
    
        ballot_weight = cand_df['weights'].clip(0.0,1.0)

    return winner_list

 

 

Last updated 4/28/2022 at 4:23pm.