2018 General Election Results Disaggregated to 2020 Census Blocks for Alabama ## RDH Date retrieval 11/16/2022 ## Sources Precinct shapefile with election results retrieved from the Redistricting Data Hub[https://redistrictingdatahub.org/] Precinct shapefile with election results is originally from the Voting and Election Science Team (VEST)[https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/UBKYRU]. Block shapefiles and data are retrieved from the Redistricting Data Hub[https://redistrictingdatahub.org/dataset/alabama-block-pl-94171-2020-by-table/] and originally from the Census Bureau's Public Law 94-171 dataset and TIGER shapefiles. ## Fields metadata Vote Column Label Format ------------------------ Columns reporting votes follow a standard label pattern. One example is: G16PREDCLI The first character is G for a general election, P for a primary, S for a special, and R for a runoff. Characters 2 and 3 are the year of the election. Characters 4-6 represent the office type (see list below). Character 7 represents the party of the candidate. Characters 8-10 are the first three letters of the candidate's last name. Office Codes A## - Ballot amendment, where ## is an identifier AGR - Commissioner of Agriculture ATG - Attorney General AUD - Auditor CFO - Chief Financial Officer CHA - Council Chairman COC - Corporation Commissioner COM - Comptroller CON - State Controller COU - City Council Member CSC - Clerk of the Supreme Court DEL - Delegate to the U.S. House GOV - Governor H## - U.S. House, where ## is the district number. AL: at large. HOD - House of Delegates, accompanied by a HOD_DIST column indicating district number HOR - U.S. House, accompanied by a HOR_DIST column indicating district number INS - Insurance Commissioner LAB - Labor Commissioner LND - Commissioner of Public/State Lands LTG - Lieutenant Governor MAY - Mayor MNI - State Mine Inspector PSC - Public Service Commissioner PUC - Public Utilities Commissioner RGT - State University Regent SAC - State Appeals Court (in AL: Civil Appeals) SBE - State Board of Education SCC - State Court of Criminal Appeals SOC - Secretary of Commonwealth SOS - Secretary of State SPI - Superintendent of Public Instruction SPL - Commissioner of School and Public Lands SSC - State Supreme Court TAX - Tax Commissioner TRE - Treasurer UBR - University Board of Regents/Trustees/Governors USS - U.S. Senate Party Codes D and R will always represent Democrat and Republican, respectively. See the state-specific notes for the remaining codes used in a particular file; note that third-party candidates may appear on the ballot under different party labels in different states. ## Fields GEOID20 - Block Unique ID STATEFP - State FIPS Code COUNTYFP - County FIPS Code PRECINCTID - Unique Precinct Identifier VAP_MOD - Modified Voting Age Population (VAP) G18GOVRIVE - Kay Ivey (Republican Party) G18GOVDMAD - Walt Maddox (Democratic Party) G18GOVOWRI - Write-in Votes G18LTGRAIN - Will Ainsworth (Republican Party) G18LTGDBOY - Will Boyd (Democratic Party) G18LTGOWRI - Write-in Votes G18ATGRMAR - Steve Marshall (Republican Party) G18ATGDSIE - Joseph Siegelman (Democratic Party) G18ATGOWRI - Write-in Votes G18TRERMCM - John McMillan (Republican Party) G18TREOWRI - Write-in Votes G18AGRRPAT - Rick Pate (Republican Party) G18AGROWRI - Write-in Votes G18SOSRMER - John Merrill (Republican Party) G18SOSDMIL - Heather Milam (Democratic Party) G18SOSOWRI - Write-in Votes G18AUDRZEI - Jim Zeigler (Republican Party) G18AUDDJOS - Miranda Joseph (Democratic Party) G18AUDOWRI - Write-in Votes G18SSCRPAR - Tom Parker (Republican Party) G18SSCDVAN - Robert S. Vance (Democratic Party) G18SSCOWRI - Write-in Votes G18SSCRSTE - Sarah Stewart (Republican Party) G18SSCOWR2 - Write-in Votes G18SSCRBRY - Tommy Bryan (Republican Party) G18SSCOWR3 - Write-in Votes G18SSCRSEL - William Sellers (Republican Party) G18SSCOWR4 - Write-in Votes G18SSCRMIT - Jay Mitchell (Republican Party) G18SSCDSMA - Donna Wesson Smalley (Democratic Party) G18SSCOWR5 - Write-in Votes G18SACREDW - Christy Olinger Edwards (Republican Party) G18SACOWRI - Write-in Votes G18SACRHAN - Chad Hanson (Republican Party) G18SACOWR2 - Write-in Votes G18SACRMOO - Terry A. Moore (Republican Party) G18SACOWR3 - Write-in Votes G18SCCRMIN - Richard Minor (Republican Party) G18SCCOWRI - Write-in Votes G18SCCRMCC - Chris McCool (Republican Party) G18SCCOWR2 - Write-in Votes G18SCCRCOL - J. William "Bill" Cole (Republican Party) G18SCCOWR3 - Write-in Votes G18PSCRODE - Jeremy Oden (Republican Party) G18PSCDMCC - Cara McClure (Democratic Party) G18PSCOWRI - Write-in Votes G18PSCRBEE - Chris Beeker (Republican Party) G18PSCDPOW - Kari Powell (Democratic Party) G18PSCOWR2 - Write-in Votes ## Processing Steps Precinct and block shapefiles were retrieved from the sources listed above. The primary libraries used in processing are geopandas, pandas, and maup[https://github.com/mggg/maup] in Python. The block data was prepared by creating the VAP_MOD field which is the total Voting Age Population (P0040001) minus Correctional Facility/Prison Population (P0050003) which will be used as the denominator in disaggregation. The block file was queried out to include just the GEOID20, VAP_MOD, and geometry fields. To assign blocks to precincts, the maup.assign function was used. Some blocks did not receive an assignment but nearly all of these had a VAP_MOD value of 0, meaning those blocks should not receive any votes during allocation anyway. In the rare instance where there was a block with a VAP_MOD > 0 and no precinct assignment, the L2 voter file was used to determine what precinct assignment was listed for residents of that block in 2020. If no results were returned, the block did not receive an assignment, otherwise the precinct assignment for the block was modified accordingly. After the blocks have a received an assignment, they are grouped by their new assignment and summed to give a total VAP_MOD value for the precinct. A ratio is then calculated of VAP_MOD block / VAP_MOD precinct, which is applied to all candidate columns (those starting with "G18"). In some instances, there are precincts that sum to 0 for VAP_MOD but do contain votes. In order to not lose votes in the disaggregation process, these blocks are modified to VAP_MOD=1, then summed again to get a non-zero value denominator for VAP_MOD at the precinct. Therefore all blocks in the precinct would have the same ratio applied and receive the same distribution of votes. All blocks that have a modified VAP_MOD value were returned to their original value of 0 before extraction to maintain accuracy. A key assumption of maup is that a block receives one precinct as an assignment. The RDH checks for any precincts with votes which have not been assigned to any blocks. In these instances, the block file is clipped to each precinct geometry, and the block which has the largest area inside the precinct receives all of the votes from that precinct. ##Additional Information For more information please contact info@redistrictingdatahub.org or visit our GitHub[https://github.com/nonpartisan-redistricting-datahub/election-disag]