How to Use Single District Mode
This is the simplest mode. Use it when your election has one big group of seats that all get divided up together based on how many votes each party got.
Step 1: Pick Your Counting Method
There are two main ways to count votes and turn them into seats:
- Highest Averages (Divisor methods) - These divide each party's votes by different numbers and give seats to whoever has the highest result each time. Think of it like an auction where parties "bid" with their vote totals.
- D'Hondt - Tends to help bigger parties a little bit. Very common in Europe.
- Sainte-Lague - More fair to smaller parties. Used in Scandinavia.
- Modified Sainte-Lague - Like Sainte-Lague but makes it slightly harder for tiny parties.
- Huntington-Hill - Used in the US to divide up Congress seats between states.
- Largest Remainder (Quota methods) - These figure out how many votes you need for one seat, give out the "easy" seats first, then give leftover seats to parties with the most unused votes.
- Hare Quota - Total votes divided by seats. Very proportional.
- Droop Quota - Slightly lower than Hare. Used in many countries.
- Hagenbach-Bischoff - Almost the same as Droop, just calculated slightly differently.
- Imperiali Quota - Even lower quota, helps bigger parties.
Step 2: Set Total Seats and Threshold
Total Seats is how many seats you're dividing up (1 to 1,000).
Threshold is the minimum percentage of votes a party needs to get ANY seats. For example, if threshold is 5%, a party with only 3% of votes gets zero seats, even if mathematically they "earned" one.
Step 3: Add Your Parties
Click "Add Party" to create parties. For each party, enter:
- Party name
- Number of votes they received
- A color (click the colored square to change it)
Step 4: Calculate and View Results
Click the big "Calculate Results" button. You'll see:
- A table showing each party's votes, percentages, and seats
- A pretty parliament diagram showing the seats as colored dots
- A coalition calculator to see what party combinations make a majority
- Different output formats you can copy (Wikitable for wikis, CSV for spreadsheets, etc.)
Built-in Presets
Use the preset dropdown to quickly load example elections with complete data:
- Nouvelle Alexandrie Federal Assembly - 749-seat election using Droop quota with 7 parties and realistic vote totals
- Generic D'Hondt (100 seats) - Standard D'Hondt election with 5% threshold and 6 parties
- Generic Sainte-Laguë (100 seats) - Proportional election using Sainte-Laguë method
- Generic Droop Quota (100 seats) - Largest remainder method using Droop quota
- Generic Hare Quota (100 seats) - Largest remainder method using Hare quota with no threshold
Saving Your Work
Click "Save" to save your current setup as a preset you can load later. Click "Manage" to see all your saved presets, export them, or create a shareable link.
Configuration
Set up your electoral system
Parties & Votes
Add parties and enter vote totals
Results
| Party | Votes | Vote % | Seats | Seat % |
|---|
Parliament Diagram
Coalition Calculator
Output Formats
How to Use Multi-District Mode
Use this mode when your country or region is divided into multiple areas (districts), and each area elects its own representatives separately. The votes in each district only count for that district's seats.
When Would You Use This?
Real-world examples:
- A country with states/provinces, where each state gets its own batch of representatives
- A parliament where different regions elect different numbers of seats
- Any election where the country is split into separate voting areas
Step 1: Set Up Your Districts
Click "Add District" for each region in your election. For each district, enter:
- Name - What you call this area (e.g., "Northern Region", "Capital District")
- Seats - How many representatives this district elects
- Override Threshold (optional) - If this district has a different threshold than the global one
Step 2: Set Up Your Parties
Click "Add Party" for each party competing. These are the same parties across all districts.
Step 3: Choose How to Enter Votes
You have two options:
- Direct Votes - You type in exactly how many votes each party got in each district. Use this when you have actual election results.
- Demographics Mode - You enter population data and party support percentages, and the calculator figures out the votes for you. Use this for simulating hypothetical elections or projections.
Understanding Demographics Mode
If you pick Demographics Mode, here's what each step means:
- Population - How many people live in each district
- Age Demographics - What percentage are children (can't vote), adults, and seniors. The calculator uses this to figure out how many people CAN vote (Voting Age Population = Adults + Seniors).
- Turnout - What percentage of people who CAN vote actually DO vote
- Party Vote Shares - What percentage supports each party. Must add up to 100%.
Step 4: Understanding Thresholds
The threshold can work two ways:
- Per District - A party needs X% of votes IN THAT DISTRICT to get seats there. They might get seats in one district but not another.
- National - A party needs X% of ALL votes NATIONWIDE to get seats ANYWHERE. If they don't reach the national threshold, they get zero seats everywhere, even if they did well in some districts.
Step 5: Calculate and View Results
After calculating, you'll see both the national totals AND a breakdown by district showing exactly who won what where.
Built-in Presets
Use the preset dropdown to quickly load example elections:
- Nouvelle Alexandrie Federal Assembly - 749 seats across 12 districts (Alduria, Alperkin, etc.) using Droop quota. Includes complete vote data for all parties in all districts.
- Demographics Example (5 districts) - Demonstrates Demographics Mode with 5 regions, complete population data, per-district turnout rates, and party vote shares. Just load it and click "Calculate" to see results.
Multi-District Configuration
Configure regional seat allocation
Districts
Define regions and seat allocation
Parties
Define parties competing in the election
Vote Input Method
Votes by District
Enter vote totals for each party in each district
National Results
| Party | Votes | Vote % | Seats | Seat % |
|---|
Results by District
Parliament Diagram
Coalition Calculator
Output Formats
How to Use Ranked Choice Mode
Ranked choice voting is different from regular voting. Instead of just picking ONE candidate, voters rank candidates in order of preference: 1st choice, 2nd choice, 3rd choice, and so on.
Two Types of Ranked Choice Voting
- IRV (Instant Runoff Voting) - Used to elect ONE winner (like a president or mayor). If nobody gets more than 50% of first-choice votes, the candidate with the FEWEST votes is eliminated, and their votes transfer to whoever those voters ranked second. This keeps happening until someone has over 50%.
- STV (Single Transferable Vote) - Used to elect MULTIPLE winners (like a council or committee). Works similarly, but uses a "quota" (a certain number of votes needed to win), and when someone wins, their "extra" votes transfer to help elect more winners.
Step 1: Choose Your System
- Pick IRV if you're electing just one person
- Pick STV if you're electing multiple people (and set how many seats)
Step 2: Add Candidates
Click "Add Candidate" for each person running. You can give them names, party affiliations, and colors.
Step 3: Enter Ballots
This is where you enter actual ballot types. Each "ballot" represents a group of voters who all ranked candidates the same way:
- Click "Add Ballot"
- Enter how many voters filled out their ballot this way (the "count")
- Use the dropdowns to set who they ranked 1st, 2nd, 3rd, etc.
- Voters don't have to rank every candidate - partial ballots are supported
Understanding the Results
The results show you what happens in each "round":
- Round 1 shows everyone's first-choice votes
- Each following round shows what happens after eliminating the weakest candidate
- You'll see votes transferring as candidates are eliminated
- The election ends when someone wins (IRV) or all seats are filled (STV)
What's a "Quota"?
In STV, the quota is the number of votes needed to guarantee a seat. There are two main ways to calculate it:
- Droop Quota = (Total Votes / (Seats + 1)) + 1 - Most common
- Hare Quota = Total Votes / Seats - Slightly higher threshold
Built-in Presets
Use the preset dropdown to quickly load example elections with complete ballot data:
- Example IRV Election (5 candidates) - Single-winner election with 5 candidates. Includes realistic ballots where some voters rank all candidates and others only rank their top 3 choices (partial ballots). Great for understanding how vote transfers work.
- Example STV Election (5 seats, 7 candidates) - Multi-winner election demonstrating STV with Droop quota. Shows how surplus votes transfer when candidates reach quota, and how votes redistribute when candidates are eliminated.
- City Council STV (9 seats, 12 candidates) - A realistic large-scale STV election based on demographics. Simulates ~85,000 voters from a city of 250,000 (VAP ~190,000, turnout ~45%). Features 4 parties plus independents with realistic transfer patterns between ideologically similar parties. Great for understanding complex multi-party STV dynamics.
Ranked Choice Configuration
Configure IRV or STV elections
Candidates
Add candidates for the election
Ballot Entry
Enter ballot types with rankings and vote counts
Election Results
Round-by-Round Results
Results Visualization
Output Formats
How to Use Mixed Systems Mode
Mixed electoral systems combine two different ways of electing people into one election. Voters usually cast TWO votes:
- Constituency Vote - Pick one candidate to represent your local area (like voting for a mayor)
- List Vote (Party Vote) - Pick a party, and these votes determine how many extra seats each party gets
Two Types of Mixed Systems
Parallel (MMM - Mixed Member Majoritarian)
- The two types of seats are completely separate
- You win some seats from constituencies, and you win other seats from the party list
- A party could win 10 constituency seats AND 5 list seats = 15 total seats
- This tends to give bigger parties an advantage because they win a lot of constituencies
MMP (Mixed Member Proportional)
- The list seats are used to "balance out" the results and make them more proportional
- If a party should have 20 seats total but only won 15 constituencies, they get 5 list seats to make up the difference
- This creates fairer results that better match how people voted
- Overhang seats: Sometimes a party wins MORE constituency seats than their proportional share. They keep those extra seats, and the parliament ends up bigger than planned.
Step 1: Choose Your System Type
Pick Parallel or MMP based on whether you want the list seats to compensate for the constituency results or not.
Step 2: Set Seat Numbers
- Constituency Seats - How many local representatives are elected (one per area)
- List Seats - How many additional seats come from party lists
Step 3: Enter Party Data
For each party, enter:
- Constituency Wins - How many local seats this party won (you need to calculate or know this already)
- List Votes - How many votes they got for the party/list portion
Step 4: Set Threshold and PR Method
- Threshold - Minimum percentage of list votes needed to get any list seats
- PR Method - How to divide up the list seats (D'Hondt, Sainte-Lague, etc.)
Understanding the Results
The results show:
- How many constituency seats each party won
- How many list seats each party received
- The total seats for each party
- For MMP: any overhang seats (when a party won more constituencies than their proportional share)
Built-in Presets
Use the preset dropdown to quickly load example elections with complete data:
- Germany-style MMP (598 seats) - Mixed Member Proportional election with 299 constituency seats and 299 list seats. Uses Sainte-Laguë method with 5% threshold. Shows 6 parties with realistic constituency wins and list vote totals based on German election patterns.
- Japan-style Parallel (465 seats) - Mixed Member Majoritarian election with 289 constituency seats and 176 list seats. Uses D'Hondt method with 2% threshold. Demonstrates how constituency and list seats are calculated independently.
- New Zealand MMP (120 seats) - Mixed Member Proportional election with 72 electorate seats (including 7 Māori electorates) and 48 list seats. Uses Sainte-Laguë method with 5% threshold. Based on the 2023 NZ election with 6 parties including Te Pāti Māori.
Mixed Electoral System
Combine constituency and list seats
Parallel: Constituency and list seats are allocated separately. Total seats = constituency + list.
Balancing seats add list seats until proportional entitlements cover constituency wins.
Parties
Add parties and enter constituency wins + list votes
| Party Name | Constituency Wins | List Votes |
|---|
Results
| Party | Constituency | List | Total Seats | Seat % |
|---|