BallotFlow ships five voting methods today. Each picks a
different answer to the same question: how do you turn a
pile of ballots into a fair result? The right answer depends
on what you're electing, how many seats you're filling, and
what kind of fairness matters to you.
i.
Voters rank candidates. The tally elects multiple winners
in proportion to the support each candidate's voters
actually have. The gold standard for proportional
multi-winner elections — boards, councils, committees.
BallotFlow implements Meek's method.
ii. Instant-runoff voting (IRV)
Single-winner STV. Voters rank candidates; the
lowest-ranked candidate is eliminated each round and their
ballots transfer to the next preference until one
candidate has a majority. Used for single-seat elections
where a runoff would otherwise be needed.
iii. Approval voting
Voters check every candidate they approve of — no ranking,
no limit on how many. The candidate(s) with the most
approvals win. Simple to explain, resistant to vote
splitting, easy to count.
iv. Plurality
Each voter picks one candidate; the most votes wins.
Familiar from most government elections. BallotFlow
includes it because sometimes "first past the post" is
exactly what an organization wants — and bolting STV on
for a simple yes/no doesn't help anyone.
v. Schulze (single-winner)
A Condorcet method: voters rank candidates, and the winner
is the candidate who'd beat every other candidate in
head-to-head matchups (with a beatpath rule for resolving
cycles). Mathematically appealing; used by the Debian
Project, Wikimedia, and others. BallotFlow's
implementation is single-winner only; multi-winner Schulze
is a separate, much more complex algorithm.