<-Cassiodorus' Web | NCSBE-> |
This analysis will concentrate on the registration and voting of young people in North Carolina. I will characterize and quantify their conversion (voting in the following general election) and retention (voting in subsequent general elections) rates. These young people will be compared according to whether or not they registered in the course of identifiable registration drives, and also compared with older persons. I will treat this in two segments, the early registration of high school age people that began in 2019 and was expressed on 2019-12-09, 2020-01-03, 2020-01-08 as a large bolus of registrations, and voter registration drives of brief duration, directed at younger potential voters. My intent is to assess the effectiveness of these voter registration drives compared to the conventional practice of registering people on an ongoing, undifferentiated basis. My analysis is carried out using R rmarkdown, thereby generating reports directly and reproducibly from NCSBE data. This report uses NCSBE ncvoter and ncvhis files datestamped December 26, 2020. North Carolina demographic data and analyses can be conveniently found at the Office of the State Demographer.
The North Carolina State Board of Elections makes publicly available detailed data on voter registration and voter history, as documented in the North_Carolina_ListMaintenancePolicy. This data can be found at https://dl.ncsbe.gov/?prefix=data/. The data is updated weekly. The voter history file, ncvhis, accumulates data extending backward about a decade. The voter registration file, ncvoter, updates voter status and, while it retains voters for some time after they become inactive, presents time-dependent data. In addition, there are cumulative “snapshots” (in the snapshot folder of the repository) that contain about a decade of voter registration data. I have combined ncvoter and snapshot data to produce reasonably comprehensive voter registration information, although there are some aspects of the snapshot files that I find difficult to understand. A somewhat dated but still helpful discussion and instantiation of open source voter registration analysis for North Carolina data can be found at https://github.com/NCVotes/voters-ingestor. The “ingestor” uses PostgreSQL (also know as Postgres), while my work stays within the R statistical analysis system.
NCSBE assigns voters to one of five categories: Active, Inactive (have not voted in the past two general elections and are candidates for being removed), Removed, Denied, and Temporary (applicable to military and overseas - this applies to a very small number of persons). Voter registration laws require that each voter have one and only one voter registration record. The NCSBE data includes a unique person identifier (ncid), county of residence, date of registration, age on last day of year of registration, race, gender, political party, and various other voting-related data. Political party includes those that are qualified according to North Carolina law, and presently include Constitution, Democrat, Green, Libertarian, Republican, and also Unassigned (i.e., unaffiliated/independent). In North Carolina, voters can participate in primary elections for their party affiliation, or in the primary of a specific if they are previously unaffiliated. For the most part, I will concentrate on voters who identify themselves as Democrat, Republican, and Unassigned, who constitute about 99% of the registrants. My analysis also focusses on voters with status Active. This can be problematical when looking at registrations that took place more than two years prior to the present since voter status may have changed. I will try to bring attention to any steps that might be confused by this.
There is an expected diminution of participation over time due to people leaving the state, as well as those dying or in other ways no longer able to participate in the electoral process. The death rate for 15 to 24 year olds across the United States was a little over 70 per 100,000 in 2018 (that is, pre-COVID) according to the CDC. Generously rounded up this is only 1 per 1,000. This is so low that it should not be expected to noticeably influence the voter participation analysis shown below.
The Census Bureau provides estimates of state outward migration as part of the American Community Survey reports. The 2014 to 2018 estimates for North Carolina here suggest 243,883 persons of all ages move out of NC each year. Looking at 18-year olds. This might amount to some 4,100 persons lost to followup, which again is sufficiently small to be ignored in this analysis.
Registration is carried out as described by NCSBE here. Deadlines are described here. The analysis carried out in this series of reports will show that early voting plays a large role in understanding voting rates. NCSBE describes early voting here. This process is described by NCSBE as:
The early voting period begins and ends before Election Day. (For the 2020 general election, early voting occurred October 15–31 in North Carolina.) Any registered voter or eligible individual in North Carolina may cast an absentee ballot in person during this time. This period is sometimes called “one-stop early voting.” Individuals who are not registered to vote in a county may register at early voting sites during the early voting period. After registering, the newly registered voter can immediately vote at that same site. This process is called “same-day registration.”
The NCSBE voter registration files show that there was a remarkably high number of registrations dated 2020-01-03. This is due to legislation to accomodate North Carolina's preregistration for young people who are 16 or 17 years old. According to the NCSBE, “To register to vote in North Carolina, eligible voters must be at least 18 years old, but 16- and 17-year-olds may preregister to vote. This means that once you become eligible by age to vote, your voter registration application will then be processed. Until you are registered, you will not be eligible to vote.”. The 2019 ncvoter data shows that there were high numbers of registrations for 17 year olds for 2019-12-09. I have not been able to determine the reason for this, but I will assume it is associated with the administration of early registration and include those young people along with those registered on 2020-01-03 and 2020-01-08 (this last for Brunswick County) in my analysis. Another report shows this assumption to be supported by the data for the two-LEA Orange County. Any of these 17 year old registrants who were 18 years old at the time of the 2020 general election would qualify to become active voters.
The voting rate in the 2020 presidential election is shown for each registration year. For instance, the “2016” columns show the rate of voting in 2020 of persons registered in 2016. For 2020, the registration dates are arranged into three non-overlapping intervals. “2020Prereg” is for pre-registration, specifically on 2019-12-09, 2020-01-03, 2020-01-08. “OneStop2020” is for one-stop registration and voting, October 15-31, 2020. “2020” is for January 1 through October 14, and does not include registrants for pre-registration or one-stop registration.
I have identified 5 counties that contain the top forty percent of the pre-registrants, WAKE, MECKLENBURG, GUILFORD, UNION, FORSYTH. They constitute a coherent group when the distribution of pre-registrants is viewed graphically, which I treat at some length in another report. These counties include Mecklenburg and Wake, the two most populous counties in North Carolina, which account for the preponderance of the pre-registration and voting counts. One of my motives for this breakout is to point out that treating all eighteen year olds as single, featureless block suppresses understanding of what is happening in North Carolina. I pursue further investigation into these counties in other reports.
Eighteen-year olds taken as a whole generally vote at a lower rate than the general population. However, they seem to have been particularly enthusiastic about one-stop voting, where they voted at higher rates than the general population. Eighteen-year olds in the top forty percent counties are distinguished by a roughly five percent higher voting rate than in the other counties, and sometimes exceed the general population rate. A naive binomial 95% confidence interval is about +/- 1% for this data. “2020Prereg” includes All Ages for completeness, but there are few pre-registrants older than eighteen. Detailed data is in Appendix A of this report.
If the young people in the top forty percent counties had voted at the lower rate of those in the other counties, approximately 1,500 voters would have been lost. Turning that around, if the voting rate of all the pre-registrants were raised to match that of the top forty percent counties, an additional 1,800 would have voted. Another report in this series pursues a somewhat different line of reasoning to estimate the effectiveness of pre-registration.
In these tables, the voting rate in the 2020 presidential election is shown for each registration year. This includes all persons who are present in the 2020-12-26 ncvoter file, that is, some persons will not have an Active status but the counts are comprehensive. For 2020, the registration dates are arranged into three non-overlapping intervals. “Prereg2020” is for pre-registration, specifically on 2019-12-09, 2020-01-03, 2020-01-08, and includes All Ages for completeness, but there are few pre-registrants older than eighteen. “OneStop2020” is for one-stop registration and voting, October 15-31, 2020. “Other2020” is for January 1 through October 14, and does not include registrants for early or October registration. The voting rate for one-stop is expected to be particularly high.
ageGroup | 2016 | 2017 | 2018 | 2019 | Other2020 | OneStop2020 | Prereg2020 | total2020 |
---|---|---|---|---|---|---|---|---|
<=18 | 66,818 | 75,058 | 68,564 | 55,180 | 28,841 | 5,026 | 52,952 | 86,819 |
>18 | 507,657 | 199,890 | 394,484 | 383,408 | 665,848 | 126,484 | 4,849 | 797,181 |
Total | 574,475 | 274,948 | 463,048 | 438,588 | 694,689 | 131,510 | 57,801 | 884,000 |
variable | 2016 | 2017 | 2018 | 2019 | 2020 | OneStop2020 | Prereg2020 |
---|---|---|---|---|---|---|---|
pct.Lost | 24.3 | 33.3 | 28.5 | 30 | 19 | 11.4 | 27.4 |
pct.Voted | 75.7 | 66.7 | 71.5 | 70 | 81 | 88.6 | 72.6 |
variable | 2016 | 2017 | 2018 | 2019 | 2020 | OneStop2020 | Prereg2020 |
---|---|---|---|---|---|---|---|
pct.Lost | 67.3 | 33.1 | 35 | 32.7 | 24.9 | 8.4 | 23.3 |
pct.Voted | 132.7 | 66.9 | 65 | 67.3 | 75.1 | 91.6 | 76.7 |
variable | 2016 | 2017 | 2018 | 2019 | 2020 | OneStop2020 | Prereg2020 |
---|---|---|---|---|---|---|---|
pct.Lost | 33.4 | 37.6 | 39.1 | 37.3 | 28 | 12 | 27.4 |
pct.Voted | 66.6 | 62.4 | 60.9 | 62.7 | 72 | 88 | 72.6 |
variable | 2016 | 2017 | 2018 | 2019 | 2020 | OneStop2020 | Prereg2020 |
---|---|---|---|---|---|---|---|
pct.Lost | 35.1 | 39.9 | 41.2 | 40 | 29.3 | 12.8 | 29.9 |
pct.Voted | 64.9 | 60.1 | 58.8 | 60 | 70.7 | 87.2 | 70.1 |
election_date | registr_yr | Regular | Voted.Reg | pct.Voted.Reg | Prereg2020 | Voted.Prereg2020 | pct.Voted.Prereg2020 | OneStop2020 | Voted.OneStop2020 | pct.Voted.OneStop2020 |
---|---|---|---|---|---|---|---|---|---|---|
2020-11-03 | 2016 | 574475 | 434752 | 75.7 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2017 | 274948 | 183517 | 66.7 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2018 | 463048 | 331177 | 71.5 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2019 | 438588 | 307079 | 70.0 | 4630 | 3271 | 70.6 | 0 | 0 | NA |
2020-11-03 | 2020 | 694689 | 562876 | 81.0 | 53171 | 38717 | 72.8 | 131510 | 116576 | 88.6 |
election_date | registr_yr | Regular | Voted.Reg | pct.Voted.Reg | Prereg2020 | Voted.Prereg2020 | pct.Voted.Prereg2020 | OneStop2020 | Voted.OneStop2020 | pct.Voted.OneStop2020 |
---|---|---|---|---|---|---|---|---|---|---|
2020-11-03 | 2016 | 26227 | 18196 | 69.4 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2017 | 25213 | 16869 | 66.9 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2018 | 23805 | 15463 | 65.0 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2019 | 20534 | 13826 | 67.3 | 87 | 58 | NA | 0 | 0 | NA |
2020-11-03 | 2020 | 9853 | 7404 | 75.1 | 20495 | 15732 | 76.8 | 1778 | 1628 | 91.6 |
election_date | registr_yr | Regular | Voted.Reg | pct.Voted.Reg | Prereg2020 | Voted.Prereg2020 | pct.Voted.Prereg2020 | OneStop2020 | Voted.OneStop2020 | pct.Voted.OneStop2020 |
---|---|---|---|---|---|---|---|---|---|---|
2020-11-03 | 2016 | 66818 | 44520 | 66.6 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2017 | 75058 | 46806 | 62.4 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2018 | 68564 | 41785 | 60.9 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2019 | 55180 | 34617 | 62.7 | 3258 | 2267 | 69.6 | 0 | 0 | NA |
2020-11-03 | 2020 | 28841 | 20754 | 72.0 | 49694 | 36201 | 72.8 | 5026 | 4425 | 88 |
election_date | registr_yr | Regular | Voted.Reg | pct.Voted.Reg | Prereg2020 | Voted.Prereg2020 | pct.Voted.Prereg2020 | OneStop2020 | Voted.OneStop2020 | pct.Voted.OneStop2020 |
---|---|---|---|---|---|---|---|---|---|---|
2020-11-03 | 2016 | 40591 | 26339 | 64.9 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2017 | 49845 | 29944 | 60.1 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2018 | 44759 | 26334 | 58.8 | 0 | 0 | NA | 0 | 0 | NA |
2020-11-03 | 2019 | 34646 | 20798 | 60.0 | 3171 | 2209 | 69.7 | 0 | 0 | NA |
2020-11-03 | 2020 | 18988 | 13425 | 70.7 | 29199 | 20476 | 70.1 | 3248 | 2832 | 87.2 |
This report has presented the counts of registrants and voters with the implication of having an accuracy beyond what is actually the case. The content of the NCSBE ncvoter and ncvhis files change over time, both in the number of records and the status of voters. In the weeks following a general election the number of registrants and their voting records may change rather quickly. This is further complicated by the need to incorporate a NCSBE snapshot file, necessitating a choice of the file and the method of incorporation. As examples, here are ncvoter registration year vs. status (the status_cd of each registrant) for two issuances in the weeks after the 2020 general election. The differences over that two week interval are small, although the Inactive status seems to have been subject to substantial updating. If files separated by a larger interval were used, the differences would be more pronounced.
2020-12-12 | 2020-12-26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
This report was run on 2021-02-10.