How to Download Ballot Data for Use in a Spreadsheet
RankedVote is a powerful tool for automatically calculating and displaying the results of contests that use ranked choice voting. It gives you the big picture. It lets you know who won, visualizes the round-by-round eliminations, and even shows how votes transferred from one candidate to another.
But sometimes, you want to zoom in even closer. How did an individual voter vote? What was the average ranking a candidate received? To get to that level of specificity, you'll need to download the data.
Read on to find out how...
Getting to the Data Download Section
Data Download is found on the Details page in the "Voter Data" section. The Details page is where you land immediately after creating your contest. You can always get back to it by clicking the "Details" button for the contest from the Dashboard.
Go Pro (or Premium)
The data download capabilities mentioned in this guide are only available on RankedVote's Pro Plan (or higher). So, you'll need to subscribe to get access.
Download the Data as a CSV
Once you have an active subscription, the "Download" buttons become active. Clicking them will cause a CSV to be downloaded to your browser's default Downloads folder. CSV stands for comma-separated values and is a common format that works in any spreadsheet program (Microsoft Excel, Google Sheets, etc.)
If you can't find them, you can search your computer directly for the files. The filenames are named in the format: your_election_name_raw.csv or your_election_name_extension.csv
CSV Formats: "Raw" and "Extension"
RankedVote provides two different formats for you to download the voter data. Choose whichever type best fits your needs.
The "Raw" format gives you as much data as possible — including unique identifiers and timestamps for when the votes occurred.
The "Extension" format is the same format used by the RankedVote for Google Sheets Chrome Extension. It's simpler and focuses on the voter rankings. You can use it to take votes collected by RankedVote, play with them in a Google Sheet, and then calculate the results.
Structure of the Raw Format CSV
The "Raw Format" CSV is designed to be as "ready to go" as possible for easy sorting and filtering. Each ranking that a voter gives a candidate is shown on its own row. While repetitive, this makes it pretty straightforward to create filters to answer questions like "Which voters put Sally as their first rank choice?"
With this approach, if a voter ranked five candidates on their ballot, you should expect to see five rows in the spreadsheet from that voter. Likewise, if a voter only ranked three candidates, you should expect to see three rows.
The CSV output is sorted by voter_id and then by rank so that your default view of the data comes as close as possible to putting each voter's ballot together in the same area of the spreadsheet.
Each column has a critical piece of data representing an individual ranking given by a voter. Here's a bit more detail on their specific meanings:
This is what you titled your election, decision, or contest. In a single-office election, election_name and office_name are identical.
This is what you called your additional office, topic, or category in a multi-office election. For example, if you created an election called "Leadership Positions" with additional offices for "President," "Secretary," and "Treasurer," then you would see those labels in the office_name column. In a single-office election, election_name and office_name will be identical.
If Voter Registration is active, this is what a voter entered into the "Name" field when voting.
If Voter Registration is not active, the voter_name is a randomly generated string of characters that RankedVote assigned to the voter. In this case, voter_name and voter_id are identical.
If Voter Registration is active, this is what a voter entered into the "Email (or unique ID)" field when voting. By default, this is the field that's used to determine a unique voter in RankedVote's results calculation. So, you can have multiple voters with the same voter_name with no impact on results. But, multiple votes with the same voter_id will have subsequent votes ignored.
If Voter Registration is not active, the voter_id is a randomly generated string of characters that RankedVote assigned to the voter. In this case, voter_id and voter_name will be identical.
This is the ranking preference a voter gave to a candidate. Lower numbers represent stronger preferences (i.e. 1 means "First Rank Choice", 5 means "Fifth Rank Choice").
This is the name of the candidate that is receiving a rank from a voter.
This is the timestamp of when the vote was cast. Measures down to the second.
This is a unique identifier that RankedVote generates for a voter based on various factors.
If Deduplicate Results is active, RankedVote uses identifier instead of voter_id to determine unique voters for the results calculation.
Structure of the Extension Format CSV
The "Extension Format" CSV is designed to be opened in Google Sheets and ready for processing with the RankedVote Chrome Extension. Each voter is represented on a single row. The ranking the voter gave each choice shows up under that choice's column.
If Voter Registration is active, this is what a voter entered into the "Email (or unique ID)" field when voting. If Voter Registration is off, this is a random set of characters generated by RankedVote.
choice_name 1, choice_name_2, ...choice_name_N
The rest of the columns represent the choices that voters ranked. Each choice gets a column. If a cell in that column says 2, it means that the voter ranked this choice second. If the cell is blank, it means the voter did not rank this choice.
Common Reasons to Download
Many organizations have rules around internal decisions and being able to keep records of any votes cast. Downloading a CSV of the results allows you to satisfy those requirements in a commonly used format.
Play Out "What If" Scenarios
With the Extension Format, it's really easy to remove candidates, change a single votes duplicate rows to simulate "weighted" votes, and see what happens.
Use Different Result Calculation Methods
There are many, many...MANY methods for calculating preferential voting results. RankedVote provides a single, consistent way in its web application. You may want to do things differently. For example, instead of using a Borda Count to handle tiebreakers (what RankedVote does), you may want to use "highest number of first rank votes" (also a valid method).
Downloading the data as a CSV allows you to take the voter input you gathered through RankedVote and calculate results just the way you want.
Use With RCTab
RCTab is an open-source tabulation program created by the Ranked Choice Voting Resource Center (RCVRC). It's used by election officials in jurisdictions that have implemented ranked choice voting. It's highly configurable based on the many different ways things like tiebreakers and voter errors can be handled.
If you need your results to exactly mimic the particular way your jurisdiction handles these issues, you can download your RankedVote voter data in the Extension format and import it into RCTab. This format is a valid "Cast Voter Record" (CVR) that can be interpreted by RCTab.
Note: Make sure your CVR configuration lists the "First Vote Column" as 2. The default is sometimes 4, which will cause two of the choices from your RankedVote data to not be included.