Democratic Primary — Council Member
4th Council District
· Manhattan
· 2025
· Source: NYC BOE Cast Vote Records
Ballots in Contest
29,557
Elimination Rounds
5
Exhausted Ballots
4,940
(16.7% of contest ballots)
Winner
Virginia Maloney
Final Round Share
53.1% of active
Margin of Victory
1,535
(6.2pts of active)
Virginia Maloney led from the start with 26.7% of first-choice votes and held on through 5 rounds of elimination. The largest transfer came when Rachel J. Storch was eliminated, sending 3,567 votes (43% of their ballots) to Virginia Maloney. The final margin was 1,535 votes (6.2 pts of active ballots), while 4,940 exhausted ballots (16.7%) exceeded that margin — meaning those voters' preferences could in theory have influenced the outcome.
Notable: 4,940 ballots exhausted before the final round —
more than the winner's final-round margin of 1,535 votes.
This means exhausted voters' preferences, had they ranked additional candidates, could in theory have been enough to affect the outcome — though only if they had ranked in ways that changed the transfers.
How to read this:
Ranked Choice Voting eliminates the last-place candidate each round, transferring their
ballots to each voter's next ranked choice still in the race.
Ballots in contest = voters who ranked at least one candidate here.
Active votes = ballots still assigned to a remaining candidate in a given round.
Exhausted ballots = ballots where all ranked choices have been eliminated.
Vote counts shown in each round reflect votes before that round's elimination.
Ties broken alphabetically by candidate ID (NYC BOE uses random draw; ties are rare at scale).
First-Choice Votes
| Candidate | First-Choice Votes | Share of Contest Ballots | Result |
|---|---|---|---|
| Virginia Maloney ✓ | 7,886 | 26.7% | Won |
| Vanessa Aronson | 7,611 | 25.8% | — |
| Rachel J. Storch | 6,797 | 23.0% | Elim. R4 |
| Benjamin D. Wetzler | 4,424 | 15.0% | Elim. R3 |
| Faith A. Bondy | 2,333 | 7.9% | Elim. R2 |
| Lukas Florczak | 506 | 1.7% | Elim. R1 |
Vote Share — First Choice vs. Final Round
Solid lines = candidates who reached the final round (left dot = Round 1 share, right dot = final-round share). Dashed lines = candidates eliminated before the final round (line ends at elimination, not final round).
Round-by-Round Results
Each bar shows how many active votes each candidate holds going into that round. Step through rounds or press Play to watch candidates gain and lose votes as the race unfolds.
Round 1
Round 1
Eliminated: Lukas Florczak
29,557 active votes
| Candidate | Votes (before elimination) | Share of Active | Transfers Out |
|---|---|---|---|
| Virginia Maloney | 7,886 | 26.7% | — |
| Vanessa Aronson | 7,611 | 25.8% | — |
| Rachel J. Storch | 6,797 | 23.0% | — |
| Benjamin D. Wetzler | 4,424 | 15.0% | — |
| Faith A. Bondy | 2,333 | 7.9% | — |
| Lukas Florczak ✗ | 506 | 1.7% | Exhausted: 129 · Vanessa Aronson: 105 · Benjamin D. Wetzler: 105 · Rachel J. Storch: 68 · Virginia Maloney: 64 · Faith A. Bondy: 35 |
Round 2
Eliminated: Faith A. Bondy
29,428 active votes
| Candidate | Votes (before elimination) | Share of Active | Transfers Out |
|---|---|---|---|
| Virginia Maloney | 7,950 | 27.0% | — |
| Vanessa Aronson | 7,716 | 26.2% | — |
| Rachel J. Storch | 6,865 | 23.3% | — |
| Benjamin D. Wetzler | 4,529 | 15.4% | — |
| Faith A. Bondy ✗ | 2,368 | 8.0% | Rachel J. Storch: 651 · Virginia Maloney: 565 · Exhausted: 553 · Vanessa Aronson: 347 · Benjamin D. Wetzler: 252 |
Round 3
Eliminated: Benjamin D. Wetzler
28,875 active votes
| Candidate | Votes (before elimination) | Share of Active | Transfers Out |
|---|---|---|---|
| Virginia Maloney | 8,515 | 29.5% | — |
| Vanessa Aronson | 8,063 | 27.9% | — |
| Rachel J. Storch | 7,516 | 26.0% | — |
| Benjamin D. Wetzler ✗ | 4,781 | 16.6% | Vanessa Aronson: 1,628 · Exhausted: 1,390 · Virginia Maloney: 994 · Rachel J. Storch: 769 |
Round 4
Eliminated: Rachel J. Storch
27,485 active votes
| Candidate | Votes (before elimination) | Share of Active | Transfers Out |
|---|---|---|---|
| Vanessa Aronson | 9,691 | 35.3% | — |
| Virginia Maloney | 9,509 | 34.6% | — |
| Rachel J. Storch ✗ | 8,285 | 30.1% | Virginia Maloney: 3,567 · Exhausted: 2,868 · Vanessa Aronson: 1,850 |
Round 5
Final
24,617 active votes
| Candidate | Votes (before elimination) | Share of Active |
|---|---|---|
| Virginia Maloney | 13,076 | 53.1% |
| Vanessa Aronson | 11,541 | 46.9% |
Where Did Eliminated Candidates' Votes Go?
When a candidate is eliminated, their supporters' ballots transfer to whoever they ranked next.
This panel shows how each eliminated candidate's votes distributed — to the winner,
to other remaining candidates, or exhausted (no further choices ranked).
Cards are ordered by votes that went to the winner, highest first.
Note: "Exhausted" means those voters had no more ranked candidates still in the race — their ballots stopped counting at that point.
Rachel J. Storch
Eliminated R4
8,285 votes redistributed
Benjamin D. Wetzler
Eliminated R3
4,781 votes redistributed
Faith A. Bondy
Eliminated R2
2,368 votes redistributed
Lukas Florczak
Eliminated R1
506 votes redistributed
Transfer Loyalty Matrix
Each cell shows what share of an eliminated candidate's votes transferred to each remaining candidate.
Read across a row to see how that candidate's supporters split their next rankings.
≥50% loyalty
25–49%
<25%
Exhausted
| Eliminated → Received ↓ |
Maloney ✓ | Aronson | Exhausted |
|---|---|---|---|
| Florczak R1 | 12.6% | 20.8% | 25.5% |
| Bondy R2 | 23.9% | 14.7% | 23.4% |
| Wetzler R3 | 20.8% | 34.1% | 29.1% |
| Storch R4 | 43.1% | 22.3% | 34.6% |
Candidate Summary
| Candidate | First Choice | Votes at Elimination / Final | Transfer Gain / Loss ⓘ | Eliminated |
|---|---|---|---|---|
| Virginia Maloney ✓ Winner | 7,886 | 13,076 | +5,190 | — |
| Vanessa Aronson | 7,611 | 11,541 | +3,930 | — |
| Rachel J. Storch | 6,797 | 8,285 | +1,488 | Round 4 |
| Benjamin D. Wetzler | 4,424 | 4,781 | +357 | Round 3 |
| Faith A. Bondy | 2,333 | 2,368 | +35 | Round 2 |
| Lukas Florczak | 506 | 506 | 0 | Round 1 |
How Many Candidates Did Voters Choose to Rank?
NYC primary voters may rank up to 5 candidates in order of preference — but they are not required to.
This chart shows how many candidates each voter chose to rank (1 = ranked only their top choice; 5 = used all available rankings).
Voters who ranked only one candidate are more likely to exhaust — their ballot stops counting once that candidate is eliminated.
Ranked 1
8,595 (29.1%)
Ranked 2
5,413 (18.3%)
Ranked 3
5,534 (18.7%)
Ranked 4
3,165 (10.7%)
Ranked 5
6,850 (23.2%)