General Elections NYC Primary RCV RCV Analytics
Ballots in Contest
270,667
Elimination Rounds
2
Exhausted Ballots
14,245 (5.3% of contest ballots)
Winner
Brad Hoylman-Sigal
Final Round Share
54.7% of active
Margin of Victory
24,270 (9.5pts of active)
Brad Hoylman-Sigal led from the start with 48.8% of first-choice votes and held on through 2 rounds of elimination. The largest transfer came when Calvin D. Sun was eliminated, sending 8,179 votes (24% of their ballots) to Brad Hoylman-Sigal. The final margin of 24,270 votes (9.5 pts of active ballots) exceeded the 14,245 exhausted ballots (5.3%), making the result robust even against the exhaustion rate.
Margin larger than exhausted ballots: The winner's final-round lead of 24,270 votes exceeds the 14,245 exhausted ballots — even if every exhausted voter had ranked further, the winner's margin would have held.
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
Brad Hoylman-Sigal 132,167 48.8% Won
Keith Powers 104,062 38.4%
Calvin D. Sun 34,438 12.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: Calvin D. Sun 270,667 active votes
Candidate Votes (before elimination) Share of Active Transfers Out
Brad Hoylman-Sigal 132,167 48.8%
Keith Powers 104,062 38.4%
Calvin D. Sun 34,438 12.7% Exhausted: 14,245 · Keith Powers: 12,014 · Brad Hoylman-Sigal: 8,179
Round 2 Final 256,422 active votes
Candidate Votes (before elimination) Share of Active
Brad Hoylman-Sigal 140,346 54.7%
Keith Powers 116,076 45.3%

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.
Calvin D. Sun Eliminated R1 34,438 votes redistributed
Exhausted 14,245 (41.4%)
Keith Powers 12,014 (34.9%)
Brad Hoylman-Sigal 8,179 (23.7%)

Candidate Summary

Candidate First Choice Votes at Elimination / Final Transfer Gain / Loss ⓘ Eliminated
Brad Hoylman-Sigal ✓ Winner 132,167 140,346 +8,179
Keith Powers 104,062 116,076 +12,014
Calvin D. Sun 34,438 34,438 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 136,340 (50.4%)
Ranked 2 46,410 (17.1%)
Ranked 3 86,274 (31.9%)
Ranked 4 1,643 (0.6%)
Ranked 5 0 (0.0%)