In order to discover the impact of AVR implementation in the state of Oregon since 2015, I conducted a thorough statistical analysis of the registration data contained in the most recent Oregon state voter file. However, the initial voter file contained a significant quantity of unecessary data for the purposes of this analysis. To resolve this issue, I decided to create a new dataset, “Registration.OR”, that would contain only the valid and relevant data for the purposes of this study.

By ensuring that I only accounted for active registrants, and by removing the erroneous data entries, missing values, and unecessary columns from the initial “Voters.OR” dataset, I was able to create a new “Registration.OR” dataset containing only the information required for this analysis. Furthermore, by mutating the “EFF_REGN_DATE” column into a new “Date” column in order to fit R’s standard date format, I was able to generate a chronologically organized list of registered voters by their most recent effective registration date. Lastly, I created a new “Total_Registered_Voters” column to keep track of the total registration volume in Oregon over time.

Voters.OR <- filter(Voters.OR, STATUS == "A")
Voters_Active.OR <- select(Voters.OR, VOTER_ID, BIRTH_DATE, EFF_REGN_DATE, PARTY_CODE)
Voters_Active.OR <- filter(Voters_Active.OR, EFF_REGN_DATE != "ACP")
Registration_Desc.OR <- arrange(Voters_Active.OR, desc(EFF_REGN_DATE), desc(BIRTH_DATE))
Registration_Desc.OR$EFF_REGN_DATE <- mdy(Registration_Desc.OR$EFF_REGN_DATE)
Voter.Registration.OR <- filter(Registration_Desc.OR, BIRTH_DATE !="1111", EFF_REGN_DATE >= "2015-01-01")
Registration.OR <- subset(Voter.Registration.OR, format(EFF_REGN_DATE, "%Y") == 2015)
Registration.OR <- Voter.Registration.OR %>%
  mutate(Year =  format(EFF_REGN_DATE, "%Y"),
         Month = format(EFF_REGN_DATE, "%m")) %>%
  group_by(Year, Month) %>%
  summarise(Date = mean(EFF_REGN_DATE),
            Total_Registered_Voters= n()) %>%
  ungroup() %>%
  mutate(Date = format(Date, "%y-%m")) 

To illustrate the growth in Oregon voters’ effective registration rates over time, I constructed a bar graph that visually demonstrates this dramatic increase. After the enactment of Oregon’s Motor Voter bill in January 2016, effective voter registration rates clearly maintain a consistent and upward trend. The noticable spikes in registration in October and November 2016, and in October and November 2018, are indicative of the voters’ response to the parties increasingly rigorous mobilization efforts in the months before a national election.

ggplot(data = Registration.OR)+ 
  geom_bar(aes(x = Date, y = Total_Registered_Voters, group = 1, fill = Year), stat = "identity") +
  theme (axis.text.x = element_text(size = 6, angle = 45, hjust = 1))+
  theme (axis.text.y = element_text(size = 10, angle = 45, hjust = 1))+
  scale_y_continuous(labels = comma) +
  ggtitle("Oregon Voter Registration Rates by Volume: 2015 - 2019")+
  labs(y = "Registration Volume", x = "Effective Registration Date")

Complementing the previous bar graph, this illustration presents a scatterplot overlayed with a line of best fit to represent the smooth and continous increase in the number of effectively registered voters extant across Oregon.

ggplot(data = Registration.OR, aes(x = Date, y = Total_Registered_Voters, group = 1))+
  geom_point(shape = 23, fill = "black")+
  geom_smooth(fill = "orange")+ 
  theme (axis.text.x = element_text(size = 6, angle = 45, hjust = 1))+
  theme (axis.text.y = element_text(size = 10, angle = 45, hjust = 1))+
  ggtitle("Voter Registration Trends in Oregon: 2015 - 2019")+
  labs(y = "Registration Volume", x = "Effective Registration Date")+
  scale_y_continuous(labels = comma) 
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

In the following section, I created a summary list of Oregon’s total registered voters organized by their registration date (15-01 = January 2015). Despite the existence of so-called “spikes” in registration rates resulting from ambitious partisan mobilization efforts, there remains a clear and continuous rise in the number of voters registered in Oregon each month since Oregon’s “Motor Voter” bill took effect in January 2016.

Registration.OR <- count(Registration.OR, Date, Total_Registered_Voters)
  head(Registration.OR, n = 100)
## # A tibble: 57 x 3
##    Date  Total_Registered_Voters     n
##    <chr>                   <int> <int>
##  1 15-01                    4682     1
##  2 15-02                    6592     1
##  3 15-03                    6490     1
##  4 15-04                    8644     1
##  5 15-05                    8776     1
##  6 15-06                    8966     1
##  7 15-07                   12234     1
##  8 15-08                   14940     1
##  9 15-09                   13632     1
## 10 15-10                   12374     1
## # … with 47 more rows

This analysis has demonstrated the significant increase in voter registration rates in Oregon since January 2016 after Automatic Voter Registration legislation was enacted. However, correlation does not equal causation, and it is necessary to refrain from stating conclusions regarding the causal effect of AVR systems on important electoral factors including voter turnout, party affiliation, and demographic change. Nevertheless, the data described above provides helpful insight for understanding how AVR implementation impacts electoral participation rates in the United States contemporarily.