![]() |
My projections for the 2019 Philadelphia judicial elections, as the result came in. These are the top 6 candidates (out of 25 running). They're the ones who are ultimately getting to become judges. |
I did some quantitative modeling and analysis for their campaigns throughout, but on election night, I set up a war room, and made real time predictions of the final outcomes. And as with the midterms, my models were remarkably stable and converged very early on. They were also surprisingly simple:
- I looked at the total number of voters and relative historical turnout division by division (you may know divisions as "precincts").
- Looking at some historical candidates, I made templates for how different types of candidates could be expected to perform in each division. For instance:
- Then, as the data came in, my code did 2 things. First, it figured out which combinations of these 4 templates modeled each candidate in the race best. And second, it estimated overall numbers (like total turnout, vote share for each candidate, and so on). I also included a few corrections for things like ward endorsements, but other than that, everything was on autopilot.
![]() | ![]() | ![]() |
It was very stable and very successful. For instance, here are the projected vote shares for the top 5 candidates in the judge race as they came in:
By the time about 5% of the vote (79 divisions) had come in, the code more or less nailed the vote share (generally to within half a per cent), and the ranked order of the candidates. And while there were certainly some that were too close to call (see Crumlish and Jacquinto), by about 8:30 on election night, I felt pretty confident making the call for Tiffany Palmer.
I should note that we got even greater stability in the city council (top 5 get to serve):
and commissioner (top 2) races:
Part of the reason that this works is that voter behavior tends to be highly correlated. For instance, very early on, my code identified Tiffany as a "progressive" candidate. Consider her final map:
But it goes even deeper than that. Here's plot of her projected votes, division by division, when only 5% of the vote was in:
Comments
Post a Comment