Home  |  Instant Runoff Voting Frequently Asked Questions  |  Sample Ballot

March 7, 2006
Annual City Meeting Election Results

Manually verifying the Burlington IRV tally

Burlington's Accu-Vote voting equipment produces a series of files containing an anonymous record of each voter's rankings.  The City then uses software called Choice Plus Pro to perform the IRV tally on those rankings.  To manually verify that the software is correctly performing the IRV tally, use the following procedures:
  1. Copy and paste the candidate names and codes from the input file (a text file containing such basic information about the particular election) into your spreadsheet.
  2. Copy and paste all the ballot images (the records of all ballots cast) from the PRM files into column A of your spreadsheet below the candidates names and codes.  The actual PRM files from the March 7, 2006 election are here (zip file).
This should give you thousands of rows of data that look like this:

000001-00-0003,10000,001,1) C06[1],WI01[2],C01[3],C02[4],C03[5],C04[6]
000001-00-0004,10000,001,1) WI01[1],C01[2],C02[3],C03[4],C04[5],C05[6]
000001-00-0005,10000,001,1) C01[1],C02[2],C03[3]
000001-00-0006,10000,001,1) C02[1],C03[2],C04[3]
000001-00-0007,10000,001,1) C03[1],C04[2],C05[3]

Each line of text represents a separate ballot. The data to the left of the ) symbol include information about the ward and ballot number.  It can all be ignored for the IRV tally. The candidates are indicated by number rather than name (e.g. “C03” refers to the third candidate on the ballot for that office.  See the input file for the list of candidates to which these codes refer). Each line of text in the file lists the candidates in the order that one particular voter ranked the candidates on his or her ballot.
  1. Convert text to columns using delimited text, choosing commas (,) and left square brackets ([) as your delimiters.  The data enclosed in square brackets, such as [2], are auditing marks that show the ranking order that the voter gave to the particular candidate.   For the IRV tally, they can be ignored.  Once you convert the data, delete the columns containing the right square brackets (]).
  2. Now the process is to total up the first choices for each candidate.  These will be the first round tallies.
  3. Then you will eliminate one or more candidates with the fewest first choices (as explained in steps below), and repeat the process until there are only two candidates left.
  4. Sort the ballot images by 1st choice. 
  5. Let’s assume the 1st choices are in column E.  You can use a formula to count the number of 1st choices for each candidate.  Copy those values (not formulas!) into a table that lists all the candidates and has spaces for multiple rounds.
  6. Determine which candidate or candidates to eliminate. This will be the candidate with the fewest votes.  Under Burlington rules, if the sum of votes for the two or more candidates with the fewest votes is less than the votes for the candidate with the next fewest votes, you can eliminate the two or more candidates simultaneously.
  7. When you eliminate a candidate, their votes get transferred to the voters’ next choices.  The easiest way to do this is to select all the rankings for all the ballots listing the eliminated candidates and simply cut them and paste them one column to the left.  Not that you may need to resort the data you just move and make sure that you didn’t transfer votes to an eliminated candidate.  If you did, you’ll need to shift those votes over one or more columns until the ballot count for a continuing candidate (or there are no more choices left in which case the ballot is exhausted).  If you used formulas to count first choices, those formulas should automatically give you 2nd round totals.  Copy and paste the values of the totals into the 2nd column in your totals table.
  8. Sort the data again by 1st choice and repeat process until you’re left with the top 2 candidates.
  9. A few details
  1. Duplicate rankings.  If a voter gives the same rank to more than one candidate, the voting equipment will store that ranking with an equal sign.  For example, a ballot image that looks like this:
000001-00-0004,10000,001,1) C01=C02=CO3[1],C04[2],C05[3]

means that the voter listed C01, C02 and C03 all as 1st choices, C04 as a 2nd choice and C05 as a 3rd choice.  Under Burlington rules, a duplicate ranking is skipped if all the duplicate ranked candidates have been eliminated when it is reached, counts for one candidate if exactly one of the duplicated ranked candidates is still in the running, and exhausts if two or more candidates are still in the running.  In this example, the ballot exhausts because in the 1st round, all candidates are still in the running.
  1. If a ballot transfers to an eliminated candidate in a round, it counts for the candidate ranked next on the ballot who is still in the race.  So if C01 gets eliminated before C02, a ballot this lists C02, C01 and then C03 will count for C03 when C02 gets eliminated.
  2. Ties are broken in favor of the candidate with the most votes in the previous round, but if two or more candidates have the same totals in the current round and in all previous rounds (if there are any), then the tie is broken by a random drawing.
  1. When you are done, your round-by-round totals should exactly match those published by the city.

 
  © 2008 City of Burlington, Vermont Contact Us