on
Blog Post 7: Shocks
This week I’ll be thinking about shocks, how they play into elections, and how they play into my model.
Introduction
In the context of elections, most people think of shocks as important events which occur during the election cycle that weren’t necessarily planned. These can be things ranging from earthquakes and judicial decisions to economic collapse and personal scandals. Much like advertisement, the effects of these shocks are often temporary, but existing literature has varying opinions on what kinds of shocks are relevant to voters. Some, like Achen and Bartels, argue that things even as outlandish as shark attacks can cause voters to punish incumbents during elections, although there are many skeptics like Fowler and Hall who would disagree. Healy et al suggest that shocks outside of political control like tornadoes can still result in logical changes in voter behavior if the aftermath of the disaster was or wasn’t handled well. Regardless, the important thing to note is that shocks happen all the time. Whether or not any one shock will change the outcome of an election is a difficult thing to determine.
Gas Prices
News surrounding the invasion of the Ukraine and subsequent spikes in gas prices got me thinking about whether something like this could have a negative effect on the incumbent Democratic Party. As we’ve noted earlier on in the class, most people are not very aware of politics because they are busy with other things in their life. As a result, things like judicial appointments and revelations during federal hearings—shocking as they may be—will simply go unnoticed by the majority of voters. Likewise, even significant political shocks such as the Dobbs decision might not sway many voters because of how polarizing abortion already is. If you care about abortion, the decision likely isn’t going to change your partisan alignment. On the other hand, spikes in gas prices are felt everywhere by everyone who drives a car. Anecdotally, I can’t even begin to count the number of times I’ve encountered people complaining about rising gas prices. As a kind of economic shock, a spike in gas price is something that is hard to ignore for the average voter.
Modeling
In the context of modeling, it’s important to find a dataset with enough observations and I was fortunately able to find available data about the price of regular grade gas in America from 1991 to 2022. This will be a smaller timescale than my previous model that goes from 1948 to 2022 but it seems better than nothing. Another nice part of looking at gas prices is that price shocks happen often enough that hopefully there will be some predictivity if this is something that actually influences voters. The next question for me to answer was how to operationalize gas price shocks into something I could incorporate in my model. I looked at both price spikes and price drops to see if voter behavior changed differently based on these price directions. Below are my assumptions and general thinking on how to tackle this question:
- Calculate percent change in gas price from month to month
- My assumption is that changes on a monthly time frame would capture longer-term price changes which would leave a lasting impression on voters
- Establish a threshold by which to classify a given month as a price shock and assign an indicator variable
- Gas prices are always rising on average, so it’s important to only identify months with significant changes in gas price
- Arbitrarily I set a high threshold of voter sensitivity to a 10% increase in gas price and a low threshold of voter sensitivity to an 8% increase
- Sum the number of shocks that occur during an election year for the months of January through October
- Here I’m assuming that voters don’t have a good memory when it comes to gas price shocks, although general forgetfulness is fairly well-documented if I recall
- My data uses the price of gas on the 15th of every month so observations in November and December were dropped as they would come after the election
Results
First, let’s take a look at my old fundamentals model, remove GDP growth because it wasn’t significant, and restrict it to our new time scale of 1991 to 2020:
##
## =================================================================================
## Dependent variable:
## ----------------------------------------
## Seatshare of Incumbent President's Party
## ---------------------------------------------------------------------------------
## House Majority Party Same as President 8.078**
## (2.816)
##
## Midterm Election -7.844***
## (2.034)
##
## Incumbent President's Party Poll Support 0.050
## (0.326)
##
## Constant 44.175**
## (17.066)
##
## ---------------------------------------------------------------------------------
## Observations 15
## R2 0.642
## Adjusted R2 0.545
## Residual Std. Error 3.404 (df = 11)
## F Statistic 6.585*** (df = 3; 11)
## =================================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
It looks like it generally retains the previous significance and adjust R-squared values, but now GDP growth has some significance and is correlated to a loss in seatshare for the party of the incumbent president, which is pretty strange. Since GDP generally grows most years, perhaps the model is picking up on that which could be interesting to revisit later. For now let’s move on and look at models that use only gas spikes:
##
## =========================================================================
## Dependent variable:
## -------------------------------------------
## Seatshare of Incumbent President's Party
## (1) (2) (3) (4)
## -------------------------------------------------------------------------
## High Spike Threshold (+10%) 2.136
## (2.105)
##
## Low Spike Threshold (+8%) 2.226
## (1.890)
##
## High Drop Threshold (-10%) 0.553
## (2.352)
##
## Low Drop Threshold (-8%) 1.204
## (1.870)
##
## Constant 49.011*** 48.375*** 49.860*** 49.526***
## (1.630) (1.890) (1.488) (1.527)
##
## -------------------------------------------------------------------------
## Observations 15 15 15 15
## R2 0.073 0.096 0.004 0.031
## Adjusted R2 0.002 0.027 -0.072 -0.044
## Residual Std. Error (df = 13) 5.040 4.977 5.225 5.154
## F Statistic (df = 1; 13) 1.030 1.387 0.055 0.415
## =========================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
And it looks like we have no significance with a low R-squared. Interestingly enough, regardless of whether there is a price spike or price drop my models predict that the incumbent party will win seatshare, and this seatshare is more sensitive to price spikes than price drops. What happens if I combine these thresholds with our previous model?
##
## ==================================================================================
## Dependent variable:
## -----------------------------------------
## Seatshare of Incumbent President's Party
## (1) (2)
## ----------------------------------------------------------------------------------
## House Majority Party Same as President 7.725** 8.150**
## (3.105) (2.936)
##
## Midterm Election -7.684*** -7.364**
## (2.169) (2.432)
##
## Incumbent President's Party Poll Support 0.063 0.102
## (0.342) (0.363)
##
## Spike Threshold (+10%) 0.555
## (1.588)
##
## Spike Threshold (+8%) 0.635
## (1.585)
##
## Constant 43.530** 40.866*
## (17.886) (19.584)
##
## ----------------------------------------------------------------------------------
## Observations 15 15
## R2 0.647 0.648
## Adjusted R2 0.505 0.507
## Residual Std. Error (df = 10) 3.549 3.542
## F Statistic (df = 4; 10) 4.575** 4.602**
## ==================================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
I decided to remove price drops just to focus on the idea of voters punishing incumbents for bad performance but it looks like gas price spikes don’t really do anything significant for my model. Looking back it also may have been more productive to look at the length of price spikes vs. drops since these big price movements often occur for a period of time before reverting to a more established norm. Given the recent changes in gas prices due to the invasion of Ukraine, perhaps the relationship people make between gas prices and presidential action is stronger this election than previous ones. Regardless, historical data does not seem to show a strong relationship between gas price shocks and voter behavior. Let’s see what my new prediction is:
## model fund_no_gas combined_model_hi combined_model_lo
## 1 prediction 44.43416 44.71355 43.608
Looks like the Democrats are predicted to lose pretty significantly in the House with my updated model, although the main change here was just restricting the years I’m looking at.