Philadelphia City Council · a simulation

What if City Council actually looked like Philly?

Today, 10 districts each pick one winner and the 7 at-large seats are split by a fixed rule: 5 for the biggest party, 2 for the runner-up. Below, compare that with proportional representation. The version shown here is the single transferable vote (STV): voters just rank candidates in order of preference, it is a form of ranked-choice voting, and Philadelphia's voting machines already support it.

  1. Choose what to compare. Pick the voting methods (and charts) you want on screen.
  2. Choose how to group voters. By party, race, renters vs. owners, and more, using real data for each district.
  3. See who wins. Watch how each voting method changes who can get a seat.

This is a simulation, not a prediction. To keep it simple, every voter in a group is assumed to vote only for candidates from that group (a Black voter always ranks Black candidates, a renter always ranks renters, and so on). Real people are not that predictable; the point is to see how each system responds when the electorate changes.

1 What do you want to see?

Select one or more voting methods to compare. Add more charts if you want to dig deeper.

Voting methods

Bars show the seats in each contest: winner takes all or vote-for-5, ranked choice (STV).

Charts

2 How should we group voters?

Each option uses real data for every council district.

3 Who wins?

The score is how closely the council mirrors the voters (100 = a perfect match).

4 Show the math

For anyone who wants to check the work: how each seat was awarded, every STV count round, the assumptions, and the data.