Democratic Primary — Comptroller
Citywide
· Manhattan
· 2025
· Source: NYC BOE Cast Vote Records
Ballots in Contest
964,203
Elimination Rounds
2
Exhausted Ballots
38,292
(4.0% of contest ballots)
Winner
Mark D. Levine
Final Round Share
51.8% of active
Margin of Victory
141,870
(15.3pts of active)
Mark D. Levine led from the start with 48.0% of first-choice votes and held on through 2 rounds of elimination. The largest transfer came when Kevin S. Parker was eliminated, sending 16,589 votes (22% of their ballots) to Mark D. Levine. The final margin of 141,870 votes (15.3 pts of active ballots) exceeded the 38,292 exhausted ballots (4.0%), making the result robust even against the exhaustion rate.
Margin larger than exhausted ballots: The winner's final-round lead of 141,870 votes exceeds the 38,292 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 |
|---|---|---|---|
| Mark D. Levine ✓ | 463,028 | 48.0% | Won |
| Justin Brannan | 324,978 | 33.7% | — |
| Ismael Malave Perez | 100,008 | 10.4% | — |
| Kevin S. Parker | 76,189 | 7.9% | 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: Kevin S. Parker
964,203 active votes
| Candidate | Votes (before elimination) | Share of Active | Transfers Out |
|---|---|---|---|
| Mark D. Levine | 463,028 | 48.0% | — |
| Justin Brannan | 324,978 | 33.7% | — |
| Ismael Malave Perez | 100,008 | 10.4% | — |
| Kevin S. Parker ✗ | 76,189 | 7.9% | Exhausted: 38,292 · Mark D. Levine: 16,589 · Justin Brannan: 12,769 · Ismael Malave Perez: 8,539 |
Round 2
Final
925,911 active votes
| Candidate | Votes (before elimination) | Share of Active |
|---|---|---|
| Mark D. Levine | 479,617 | 51.8% |
| Justin Brannan | 337,747 | 36.5% |
| Ismael Malave Perez | 108,547 | 11.7% |
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.
Kevin S. Parker
Eliminated R1
76,189 votes redistributed
Candidate Summary
| Candidate | First Choice | Votes at Elimination / Final | Transfer Gain / Loss ⓘ | Eliminated |
|---|---|---|---|---|
| Mark D. Levine ✓ Winner | 463,028 | 479,617 | +16,589 | — |
| Justin Brannan | 324,978 | 337,747 | +12,769 | — |
| Ismael Malave Perez | 100,008 | 108,547 | +8,539 | — |
| Kevin S. Parker | 76,189 | 76,189 | 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
489,768 (50.8%)
Ranked 2
167,866 (17.4%)
Ranked 3
60,013 (6.2%)
Ranked 4
234,864 (24.4%)
Ranked 5
11,692 (1.2%)