Alabama 2024 Primary and Primary Runoff 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-primary-and-primary-runoff-precinct-level-election-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: P - Primary R - Primary Runoff Office Codes Used: A## - Amendment 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 R - Republican ## Fields: ***al_2024_prim_all_prec*** Field Name Description GEOID20 Unique Block Identifier STATEFP State FIPS Code COUNTYFP County FIPS Code PRECINCTID Precinct Identifier VAP_MOD Modified Voting Age Population P24A01NO PROPOSED STATEWIDE AMENDMENT NUMBER ONE (1)-:-No P24A01YES PROPOSED STATEWIDE AMENDMENT NUMBER ONE (1)-:-Yes P24CFJRSTE CHIEF JUSTICE OF THE SUPREME COURT-:-Sarah Stewart-:-REP P24CFJRTAY CHIEF JUSTICE OF THE SUPREME COURT-:-Bryan Taylor-:-REP P24CR2RAND COURT OF CRIMINAL APPEALS JUDGE, PLACE 2-:-Rich Anderson-:-REP P24CR2RGOV COURT OF CRIMINAL APPEALS JUDGE, PLACE 2-:-Thomas Govan-:-REP P24CV2RHAN COURT OF CIVIL APPEALS JUDGE, PLACE 2-:-Chad Hanson-:-REP P24CV2RPAR COURT OF CIVIL APPEALS JUDGE, PLACE 2-:-Stephen Davis Parker-:-REP P24PREDBID PRESIDENT OF THE UNITED STATES-:-Joseph R Biden Jr-:-DEM P24PREDPHI PRESIDENT OF THE UNITED STATES-:-Dean Phillips-:-DEM P24PREDUNC PRESIDENT OF THE UNITED STATES-:-Uncommitted-:-DEM P24PRERBIN PRESIDENT OF THE UNITED STATES-:-Ryan L. Binkley-:-REP P24PRERCHR PRESIDENT OF THE UNITED STATES-:-Chris Christie-:-REP P24PRERDES PRESIDENT OF THE UNITED STATES-:-Ron Desantis-:-REP P24PRERHAL PRESIDENT OF THE UNITED STATES-:-Nikki Haley-:-REP P24PRERRAM PRESIDENT OF THE UNITED STATES-:-Vivek Ramaswamy-:-REP P24PRERSTU PRESIDENT OF THE UNITED STATES-:-David Stuckenberg-:-REP P24PRERTRU PRESIDENT OF THE UNITED STATES-:-Donald J. Trump-:-REP P24PRERUNC PRESIDENT OF THE UNITED STATES-:-Uncommitted-:-REP P24PSCRCAV PRESIDENT, PUBLIC SERVICE COMMISSION-:-Twinkle Andress Cavanaugh-:-REP P24PSCRMCC PRESIDENT, PUBLIC SERVICE COMMISSION-:-Robert L. McCollum-:-REP PCON01RCAR UNITED STATES REPRESENTATIVE, 1ST CONGRESSIONAL DISTRICT-:-Jerry Carl-:-REP PCON01RMOO UNITED STATES REPRESENTATIVE, 1ST CONGRESSIONAL DISTRICT-:-Barry Moore-:-REP PCON02DAVE UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-James Averhart-:-DEM PCON02DBRA UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Napoleon Bracy, Jr.-:-DEM PCON02DCOL UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Merika Coleman-:-DEM PCON02DDAN UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Anthony Daniels-:-DEM PCON02DFIG UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Shomari Figures-:-DEM PCON02DGIV UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Juandalynn "Lele" Givan-:-DEM PCON02DGRA UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Jeremy Gray-:-DEM PCON02DHAR UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Phyllis Harvey-Hall-:-DEM PCON02DLEN UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Willie J. Lenard-:-DEM PCON02DPAT UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Vimal Patel-:-DEM PCON02DSIM UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Larry Darnell Simpson-:-DEM PCON02RALB UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Greg Albritton-:-REP PCON02RBRE UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Dick Brewbaker-:-REP PCON02RDOB UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Caroleene Dobson-:-REP PCON02RDUP UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Karla M. Dupriest-:-REP PCON02RGIL UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Wallace Gilberry-:-REP PCON02RHAR UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Hampton S. Harris-:-REP PCON02RSHE UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Stacey T. Shepperson-:-REP PCON02RTHO UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Belinda Thomas-:-REP PCON03RBEV UNITED STATES REPRESENTATIVE, 3RD CONGRESSIONAL DISTRICT-:-Barron Rae Bevels-:-REP PCON03RNEW UNITED STATES REPRESENTATIVE, 3RD CONGRESSIONAL DISTRICT-:-Bryan K. Newell-:-REP PCON03RROG UNITED STATES REPRESENTATIVE, 3RD CONGRESSIONAL DISTRICT-:-Mike Rogers-:-REP PCON04RADE UNITED STATES REPRESENTATIVE, 4TH CONGRESSIONAL DISTRICT-:-Robert B. Aderholt-:-REP PCON04RHOL UNITED STATES REPRESENTATIVE, 4TH CONGRESSIONAL DISTRICT-:-Justin Holcomb-:-REP PCON06RMCF UNITED STATES REPRESENTATIVE, 6TH CONGRESSIONAL DISTRICT-:-Ken McFeeters-:-REP PCON06RPAL UNITED STATES REPRESENTATIVE, 6TH CONGRESSIONAL DISTRICT-:-Gary Palmer-:-REP PCON06RWIL UNITED STATES REPRESENTATIVE, 6TH CONGRESSIONAL DISTRICT-:-Gerrick Wilkins-:-REP PCON07DDAV UNITED STATES REPRESENTATIVE, 7TH CONGRESSIONAL DISTRICT-:-Chris Davis-:-DEM PCON07DSEW UNITED STATES REPRESENTATIVE, 7TH CONGRESSIONAL DISTRICT-:-Terri A. Sewell-:-DEM PCON07RHOR UNITED STATES REPRESENTATIVE, 7TH CONGRESSIONAL DISTRICT-:-Christian Horn-:-REP PCON07RLIT UNITED STATES REPRESENTATIVE, 7TH CONGRESSIONAL DISTRICT-:-Robin Litaker-:-REP RCON02DDAN UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Anthony Daniels-:-DEM RCON02DFIG UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Shomari Figures-:-DEM RCON02RBRE UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Dick Brewbaker-:-REP RCON02RDOB UNITED STATES REPRESENTATIVE, 2ND CONGRESSIONAL DISTRICT-:-Caroleene Dobson-:-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