Single Transferable Vote elections produce a lot of data about voter preferences. Typically, this information is made available by election boards in specialized file formats and requires processing to interpret. The purpose of stv.vote is to increase transparency into these elections by creating detailed and intuitive reports about them.
All reports are generated from the raw ballot data, rather than using the official tabulation. As a result, the reports also serve as an independent tabulation of the results that can be reproduced using published source code.
How STV Works
In Single Transferable Vote (STV) elections, voters rank candidates in order of preference. The goal is to elect multiple candidates who represent a broad range of voter preferences.
The process works as follows:
- A quota (votes needed to win) is calculated based on the number of seats and total ballots. This ensures that each elected candidate represents roughly the same proportion of voters.
- Candidates who reach the quota are elected. When a candidate exceeds the quota, their surplus votes are transferred to voters' next preferences.
- When no candidate reaches the quota, the candidate with the fewest votes is eliminated, and their votes are transferred to voters' next preferences.
- This process continues until all seats are filled.
This system allows voters to support their preferred candidates without worrying about "wasting" their vote, since their ballot can be transferred to other candidates if their first choice is eliminated or has already won, as long as
Understanding Discrepancies
All of the analysis that goes into stv.vote reports is based only on ballot-level data. This includes the STV tabulation, which backs the "Runoff Rounds" section.
In some cases, these tabulations don't match the official tabulations. There are two main reasons for this. First, there are multiple ways to tabulate an STV election. The main decisions are:
- Whether you remove a single candidate on each round, or all remaining candidates who are mathematically unable to win.
- Whether you stop eliminations when it is clear that one candidate has won, or whether you continue eliminating until only two candidates remain.
These result in the same winner, but the count at each round may differ. For consistency and information density, we tabulate all elections the same way: all candidates who are unable to win are removed at each round, and we continue until two candidates remain.
Another source of discrepancies is the handling of undervotes/overvotes and write-ins. To the extent possible, we follow the statutes in the relevant jurisdiction in order to treat ballots the same way that the elections board does. But statutes aren't code, so there are sometimes cases where there are ambiguities around edge cases. In particular, the treatment of write-in candidates can be a complicating factor, because many jurisdictions replace them with a generic "write in" dummy candidate, which does not always reflect how they are treated in the official tabulation.
stv.vote was created by Felix Sargent. It is non-partisan and has received no outside funding.
If you enjoy alternate voting systems, you may also enjoy approval.vote, which is a similar project for approval voting elections.
Learning More
To learn more about social choice theory and voting methods, check out Nicky Case's "Build a Better Ballot", an interactive guide to voting methods, and the Center for Election Science, which promotes evidence-based voting methods.
Contributing
Contributions are welcome! The project is open source and available on GitHub. Please feel free to open issues, submit pull requests, or reach out with questions.
License
This website and the data pipeline behind it (including the tabulator) are open source and liberally licensed. Website content and generated reports may be freely distributed with attribution under the CC-BY license.
Colophon
The font is Source Sans Pro.