Alabama 2024 General Election Results Disaggregated to the 2020 Block ## RDH Date Retrieval 03/10/2026 ## Sources Precinct shapefile with election results retrieved from the (Redistricting Data Hub)[https://redistrictingdatahub.org/dataset/alabama-2024-general-election-precinct-level-results-and-boundaries/] 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. ## Notes on Field Names: Columns reporting votes generally follow the 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. Election Type Codes Used: G - General Office Codes Used: A## - Amendment AJ# - Associate Justice of the Supreme Court CFJ - Chief Justice of the Supreme Court CR# - Court of Criminal Appeals Judge CV# - Court of Civil Appeals Judge PRE - President of the United States PSC - President, Public Service Commission CON## - US House of Representatives Party Codes Used: D - Democratic I - Independent O - Other / Write-In R - Republican ## Fields: Field Name Description GEOID20 Unique Block Identifier STATEFP State FIPS Code COUNTYFP County FIPS Code PRECINCTID Precinct Identifier VAP_MOD Modified Voting Age Population G24A01NO PROPOSED STATEWIDE AMENDMENT NUMBER ONE (1)-:-No-:-NON G24A01YES PROPOSED STATEWIDE AMENDMENT NUMBER ONE (1)-:-Yes-:-NON G24AJ1OWRI ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 1-:-Write-In-:-NON G24AJ1RMCC ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 1-:-Chris McCool-:-REP G24AJ2OWRI ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 2-:-Write-In-:-NON G24AJ2RBRY ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 2-:-Tommy Bryan-:-REP G24AJ3OWRI ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 3-:-Write-In-:-NON G24AJ3RSEL ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 3-:-Will Sellers-:-REP G24AJ4OWRI ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 4-:-Write-In-:-NON G24AJ4RMIT ASSOCIATE JUSTICE OF THE SUPREME COURT, PLACE 4-:-Jay Mitchell-:-REP G24CFJDGRI CHIEF JUSTICE OF THE SUPREME COURT-:-Greg Griffin-:-DEM G24CFJOWRI CHIEF JUSTICE OF THE SUPREME COURT-:-Write-In-:-NON G24CFJRSTE CHIEF JUSTICE OF THE SUPREME COURT-:-Sarah Stewart-:-REP G24CR1OWRI COURT OF CRIMINAL APPEALS JUDGE, PLACE 1-:-Write-In-:-NON G24CR1RMIN COURT OF CRIMINAL APPEALS JUDGE, PLACE 1-:-Richard Minor-:-REP G24CR2OWRI COURT OF CRIMINAL APPEALS JUDGE, PLACE 2-:-Write-In-:-NON G24CR2RAND COURT OF CRIMINAL APPEALS JUDGE, PLACE 2-:-Rich Anderson-:-REP G24CR3OWRI COURT OF CRIMINAL APPEALS JUDGE, PLACE 3-:-Write-In-:-NON G24CR3RCOL COURT OF CRIMINAL APPEALS JUDGE, PLACE 3-:-Bill Cole-:-REP G24CV1OWRI COURT OF CIVIL APPEALS JUDGE, PLACE 1-:-Write-In-:-NON G24CV1REDW COURT OF CIVIL APPEALS JUDGE, PLACE 1-:-Christy Edwards-:-REP G24CV2OWRI COURT OF CIVIL APPEALS JUDGE, PLACE 2-:-Write-In-:-NON G24CV2RHAN COURT OF CIVIL APPEALS JUDGE, PLACE 2-:-Chad Hanson-:-REP G24CV3OWRI COURT OF CIVIL APPEALS JUDGE, PLACE 3-:-Write-In-:-NON G24CV3RMOO COURT OF CIVIL APPEALS JUDGE, PLACE 3-:-Terry A. Moore-:-REP G24PREDHAR PRESIDENT AND VICE PRESIDENT OF THE UNITED STATES-:-Kamala D. Harris-:-DEM G24PREIKEN PRESIDENT AND VICE PRESIDENT OF THE UNITED STATES-:-Robert F. Kennedy Jr.-:-IND G24PREIOLI PRESIDENT AND VICE PRESIDENT OF THE UNITED STATES-:-Chase Oliver-:-IND G24PREISTE PRESIDENT AND VICE PRESIDENT OF THE UNITED STATES-:-Jill Stein-:-IND G24PREOWRI PRESIDENT AND VICE PRESIDENT OF THE UNITED STATES-:-Write-In-:-NON G24PRERTRU PRESIDENT AND VICE PRESIDENT OF THE UNITED STATES-:-Donald J. Trump-:-REP G24PSCOWRI PRESIDENT, PUBLIC SERVICE COMMISSION-:-Write-In-:-NON G24PSCRCAV PRESIDENT, PUBLIC SERVICE COMMISSION-:-Twinkle Andress Cavanaugh-:-REP GCON01DHOL UNITED STATES REPRESENTATIVE, 1ST CONGRESSIONAL DISTRICT-:-Tom Holmes-:-DEM GCON01OWRI UNITED STATES REPRESENTATIVE, 1ST CONGRESSIONAL DISTRICT-:-Write-In-:-NON GCON01RMOO UNITED STATES REPRESENTATIVE, 1ST CONGRESSIONAL DISTRICT-:-Barry Moore-:-REP GCON02DFIG UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Shomari Figures-:-DEM GCON02OWRI UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Write-In-:-NON GCON02RDOB UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Caroleene Dobson-:-REP GCON03OWRI UNITED STATES REPRESENTATIVE, 3RD CONGRESSIONAL DISTRICT-:-Write-In-:-NON GCON03RROG UNITED STATES REPRESENTATIVE, 3RD CONGRESSIONAL DISTRICT-:-Mike Rogers-:-REP GCON04OWRI UNITED STATES REPRESENTATIVE, 4TH CONGRESSIONAL DISTRICT-:-Write-In-:-NON GCON04RADE UNITED STATES REPRESENTATIVE, 4TH CONGRESSIONAL DISTRICT-:-Robert B. Aderholt-:-REP GCON05OWRI UNITED STATES REPRESENTATIVE, 5TH CONGRESSIONAL DISTRICT-:-Write-In-:-NON GCON05RSTR UNITED STATES REPRESENTATIVE, 5TH CONGRESSIONAL DISTRICT-:-Dale Strong-:-REP GCON06DAND UNITED STATES REPRESENTATIVE, 6TH CONGRESSIONAL DISTRICT-:-Elizabeth Anderson-:-DEM GCON06OWRI UNITED STATES REPRESENTATIVE, 6TH CONGRESSIONAL DISTRICT-:-Write-In-:-NON GCON06RPAL UNITED STATES REPRESENTATIVE, 6TH CONGRESSIONAL DISTRICT-:-Gary Palmer-:-REP GCON07DSEW UNITED STATES REPRESENTATIVE, 7TH CONGRESSIONAL DISTRICT-:-Terri A. Sewell-:-DEM GCON07OWRI UNITED STATES REPRESENTATIVE, 7TH CONGRESSIONAL DISTRICT-:-Write-In-:-NON GCON07RLIT UNITED STATES REPRESENTATIVE, 7TH CONGRESSIONAL DISTRICT-:-Robin Litaker-:-REP ## 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 "G24"). 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. The data are disaggregated from each of their respective split shapefiles (e.g. US House, State House, State Senate) from the source above, to preserve accuracy (rather then the _all_ file). They are joined back together and then a Hamilton rounding method is performed to ensure that all voters are whole numbers and sum exactly to the same totals. ## Additional Notes Please direct questions related to processing this dataset to info@redistrictingdatahub.org