This data would not have been possible to create and provide without the assistance of each of New York’s county Boards of Elections commissioners and staffers, who were often very eager to help provide the data I was looking for; county GIS and Planning Department workers, who filled in major gaps; Derek Willis and the volunteers at Open Elections who worked diligently to clean up and standardize the election results data files I compiled for the entire state; the folks at the Redistricting Data Hub who helped verify and correct shapefile errors; and the wonderful folks at the Census Bureau and the U.S. Department of Agriculture National Resources Conservation Service and the U.S. Geological Survey, without whom the shapefile would have been impossible to create.
This data is free for anyone to use – however, as it took months and much work to compile and craft, I ask that anyone who uses it credits me (Benjamin J. Rosenblatt, or @BenJ_Rosenblatt on Twitter) and links to the data for others to use, and so all the other fine folks who helped make this possible receive their due credit.
Putting this all together, for the most part all by myself, was a gargantuan task. I worked very hard to remove the possibility of any errors, but it’s always possible I missed something. If you spot anything that needs to be corrected,
please email me at ben@benjrosenblatt.com and I will fix it as soon as I’m able to.
I would be remiss not to mention that
none of this work should have been necessary for me to do. New York state has an astounding lack of rules, standardization, and open data requirements, especially when it comes to election data. This decentralized system leads to each county and the NYC Board of Elections providing data in entirely different formats, at different times, often with many errors and no clear GIS guidelines for shapefiles. Many, if not all, county Boards of Elections are overworked and under-resourced, and may lack the specialization necessary to put this data together. Thanks to Senator James Skoufis and Assemblymember Amy Paulin, the state legislature passed and Governor Hochul signed into law a bill requiring each county Board of Elections to publish on their website shapefiles (or other vector-based data) for their congressional, senatorial, assembly, and election districts. However, this bill came with no standards for the Boards to follow when making these files, and many Boards are still not following this legal requirement.
Thankfully, solutions exist. Thanks to Senator Zellnor Myrie and Assemblymember Latrice Walker, the chairs of each chamber’s Elections/Election Law Committee, a bill I initially wrote – which has been greatly improved upon – would create a statewide election and voting database, the New York Voting and Elections Database and Institute, which would be housed at SUNY. I’m hopeful the bill will finally pass both chambers and the Database and Institute will be funded this year through the state budget, and I hope to work with lawmakers to pass more essential election data and administration reforms to move New York from worst to first.
All results in the Results File were compiled via email from each county’s Board of Elections or via each Board of Elections’ website. They were then provided to Open Elections, who standardized the data into an Excel file, from which I cleaned up, updated, and created this statewide results file.
All shapefiles were initially based on election district shapefiles or static maps received from each county’s Board of Elections via email or their website, each county’s Planning or GIS Department, or each county’s Open Data portal. For counties where only static maps were available, shapefiles were created using the 2020 Census VTD shapefile and Census TIGER/Line shapefiles. Every county was then adjusted to ensure its boundaries matched the Census county shapefile boundaries. Once this was completed, all election districts outside of New York City were adjusted to ensure their boundaries matched the Census County Subdivisions boundaries for every municipality. Counties with election districts for specific villages were also adjusted to ensure these election districts’ boundaries matched the Census Places boundaries. After this, all election districts were checked to ensure they matched each county’s election district-level results. Every election district boundary was then matched against a geocoded voter file for each county, and adjusted when necessary to match the geocoded voter file, sometimes by hand but mostly through use of the Census TIGER/Line shapefiles. Water areas were cut out of the shapefile through use of the National Hydrography dataset provided by the U.S. Department of Agriculture National Resource Conservation Service and the U.S. Geological Survey.
The shapefile contains 7 fields:
County | GEOID in Results File | Name |
---|---|---|
Cattaraugus | 36009000000A | Early Voting - Little Valley |
Cattaraugus | 36009000000B | Early Voting - Olean |
Cattaraugus | 36009000000C | Pre Election Absentee |
Cattaraugus | 36009000000D | Post Elections ABS/AFF & unscanned |
Cayuga | 360110000000 | Cumulative |
Herkimer | 36043000000A | Early Voting (Countywide) |
Herkimer | 36043000000B | Early Voting (SD 49) |
Herkimer | 36043000000C | Early Voting (SD 53) |
Herkimer | 36043000000D | Early Voting (AD 118) |
Herkimer | 36043000000E | Early Voting (AD 122) |
Herkimer | 36043000000F | Mail-in Ballots (Countywide) |
Herkimer | 36043000000G | Mail-in Ballots (SD 49) |
Herkimer | 36043000000H | Mail-in Ballots (SD 53) |
Herkimer | 36043000000I | Mail-in Ballots (AD 118) |
Herkimer | 36043000000J | Mail-in Ballots (AD 122) |
Schoharie | 360950000000 | Multi-ED Collection/Cumulative |
Schuyler | 360970000000 | Schuyler Federal |
Wyoming | 361210000000 | Cumulative |
County | DEM | REP | CON | WOR | Write-In |
---|---|---|---|---|---|
Delaware | -1 | -1 | -- | -- | -- |
Monroe | +14 | +5 | +1 | +1 | +2 |
St. Lawrence | -- | -- | -- | -- | +2 |
Saratoga | -3 | +3 | +2 | -- | +1 |
County | DEM | REP | CON | WOR | Write-In |
---|---|---|---|---|---|
Columbia | -19 | -2 | -- | -1 | -- |
Delaware | -1 | -1 | -- | -- | -- |
Jefferson | -- | -- | -- | -- | -1 |
Monroe | +14 | +4 | +1 | +2 | +2 |
Saratoga | -5 | +2 | +1 | +1 | -- |
County | DEM | REP | CON | WOR | Write-In |
---|---|---|---|---|---|
Columbia | -18 | -4 | -- | +1 | -- |
Delaware | -1 | -1 | -- | -- | -- |
Herkimer | +596 | +237 | +85 | +42 | -- |
Jefferson | -- | -- | -- | -- | -1 |
Monroe | +14 | +4 | +1 | +1 | +2 |
Saratoga | -1 | +1 | +1 | +1 | -- |
County | DEM | REP | CON | WOR | Write-In |
---|---|---|---|---|---|
Columbia | -19 | -2 | -- | -2 | -- |
Delaware | -1 | -1 | -- | -- | -- |
Hamilton | -- | -- | -- | -- | -1 |
Herkimer | -- | -- | -4 | -- | -- |
Jefferson | -- | -- | -- | -- | -1 |
Monroe | +14 | +3 | +1 | +1 | +2 |
Onondaga | +2 | -- | -- | -- | -- |
Saratoga | -3 | +2 | +1 | +1 | -- |
District | County w/i District | DEM | REP | CON | WOR | MOD | Write-In |
---|---|---|---|---|---|---|---|
19 | Columbia | -16 | -5 | -- | -2 | -- | -- |
19 | Delaware | -1 | -1 | -- | -- | -- | -- |
20 | Saratoga | -2 | +1 | +1 | +1 | -- | -- |
21 | Herkimer | +4 | +576 | -- | -- | +4 | -- |
22 | Onondaga | +2 | -- | -- | -- | -- | -- |
25 | Monroe | +16 | +2 | +1 | +1 | -- | -- |
District | County w/i District | DEM | REP | CON | WOR | Write-In |
---|---|---|---|---|---|---|
41 | Columbia | 15 | -4 | -- | -5 | -- |
44 | Saratoga | -2 | +3 | +2 | -- | -- |
49 | Herkimer | -- | +608 | +150 | -- | -- |
51 | Delaware | -1 | -1 | -- | -- | -- |
53 | Herkimer | -- | +551 | +69 | -- | -- |
55 | Monroe | +4 | +2 | -- | +2 | -- |
56 | Monroe | +8 | -1 | -- | -- | -- |
62 | Monroe | -- | -- | +1 | -- | -- |
District | County w/i District | DEM | REP | CON | WOR | Write-In |
---|---|---|---|---|---|---|
102 | Delaware | -1 | -1 | -- | -- | -- |
106 | Columbia | -19 | -4 | -- | -- | -- |
107 | Washington | -- | -- | -- | -- | -88 |
112 | Saratoga | +5 | +2 | +2 | -- | -- |
114 | Fulton | -- | -1 | -- | -- | +1 |
118 | Fulton | -- | -- | -- | -- | -1 |
118 | Hamilton | -- | -- | -- | -- | +7 |
118 | Herkimer | -- | +627 | -- | -- | -- |
122 | Herkimer | +124 | +586 | +65 | +5 | -- |
130 | Monroe | -- | +1 | -- | -- | -- |
131 | Ontario | -- | -3 | -- | -- | -- |
133 | Wyoming | -1 | -- | -- | -- | -- |
134 | Monroe | -- | -- | +2 | -- | -- |
135 | Monroe | +3 | +1 | -- | +1 | -- |
136 | Monroe | +1 | +1 | -- | -- | -- |
137 | Monroe | +8 | -- | -- | +1 | -- |
Download the shapefile and Excel results file below. For other file formats, or if you have any additional questions, please email me at ben@benjrosenblatt.com.