Here I explore a simple model of violence based loosely on the one presented by Harish and Little in a 2017 article in APSR (okay, let’s be honest, “loosely” is a generous way to put it). My goal here is not to replicate their results, but to show how a simpler model can yield findings like those provided by the authors, where the results are purely driven by painfully obvious factors. Namely, I show that by assuming electoral cycles are directly tied the technology of electoral violence, I can show that electoral cycles lead to cycles of political violence. Like in the paper, I explore political violence in reference to interest groups in a democracy versus those in an autocracy. Unlike in the paper, I show that what we learn from the model is really just what I’ve baked into it (sad!).

A Simple Model of Electoral Violence Cycles

I begin with the general model. Assume there is some interest group \(i\), whose utility in a given time period \(t\) is denoted as \[u_{it} = \psi_{it} p(v_{it};k_{it}) - c(v_{it};\gamma_{it}).\] The function \(p(\cdot)\) is strictly increasing, but concave, and maps group \(i\)’s level of political violence engaged in at time \(t\) (\(v_{it} \geqslant 0\)) to a probability of success in realizing political goals given some level of marginal effectiveness of violence \(k_{it} \in [0,1]\). The parameter \(\psi_{it} > 0\) captures the spoils or rents that a group enjoys from political success at a given time.

While greater violence is assumed to increase the probability of political success, violence also comes at a cost. This is captured by \(c(\cdot)\), which is a strictly increasing, convex, function that maps group \(i\)’s level of political violence to a cost of violence given some marginal cost parameter \(\gamma_{it} > 0\) (this isn’t in their model, but they implicitly assume a constant marginal cost of 1—more on this when I make the functional form of \(c(\dot)\) explicit).

To optimize its payoff from violence, group \(i\) chooses \(v_{it} \geqslant 0\) such that the following first-order condition is met, \[\frac{\psi_{it} p'(v_{it};k_{it})}{c'(v_{it};\gamma_{it})} = 1.\] In short, group \(i\) chooses the level of violence such that the marginal benefit of political success is in equilibrium with the marginal cost of violence.

Note here, that \(t\) is purely ornamental. I’m not saying anything about time horizons (finite or otherwise). I’m only saying that \(i\) plays this game over time, but that in each time period the effectiveness, costs, and spoils of violence are unique to only a given \(t\). The point of time, here, is only to show that I can get political violence cycles purely by how I manipulate the technology of violence over time given my ex ante presumption that the technology of violence varies cyclically in democracies, but is relatively constant in autocracies.

Simulations with the Model

I want to compare levels of political violence within democracies versus in autocracies. In the former, political power exchanges hands periodically (in what are called elections). In the time leading up to and including the occurrence of an election, I assume that the marginal effectiveness of political violence in allowing an interest group to realize its goals increases. Meanwhile, in periods immediately after and well before a given election, the marginal effectiveness of violence is minimal. Conversely, I assume that in autocracies, the marginal effectiveness of violence is constant.

To implement the simulation, it is necessary to be explicit about the functional form of \(p(\cdot)\) and \(c(\cdot)\). Thankfully, Harish and Little (2017) provide some. The following fit the assumptions of monotonicity and concavity in the case of the first (plus having a strictly positive cross-partial derivative with respect to violence and technology), and monotonicity and convexity in the case of the second (note that the marginal cost \(\gamma_{it} = 1\) in the authors’ version): \[ \begin{aligned} p(v_{it};k_{it}) & = k_{it}\left[1 - (1+v_{it})^{-1}\right], \\ c(v_{it};\gamma_{it}) & = \gamma_{it}v_{it}^2. \end{aligned} \]

This means utility for \(i\) is given explicitly as \[u_i = \psi_{it}k_{it}\left[1 - (1+v_{it})^{-1}\right] - \gamma_{it}v_{it}^2,\] and thus that utility is maximized with respect to \(i\)’s chosen level of violence when \(v_{it}\) is such that \[ \frac{\psi_{it}\left(\frac{k_{it}}{1+k_{it}v_{it}}\right) \cdot \left(\frac{1}{1+k_{it}v_{it}} \right)}{2\gamma_{it}v_{it}} = 1.\]

(Note: I can get exactly the same first-order condition if I instead defined \(p(v_{it};k_{it}) = \psi_{it}k_{it}v_{it}/(1+k_{it}v_{it})\).)

Below, I show how I program this and show results comparing violence over time in a democracy versus in an autocracy (spoiler, the results aren’t shocking). In the simulation, I assume that the marginal effectiveness of violence in democracies is cyclical, while in autocracies it is constant. To add some variation to the results, I allow for randomness in spoils and costs over time. In particular, I draw levels of spoils and costs in a given time from 1 plus the absolute value of a normal distribution as follows: \[\psi_{it},\gamma_{it} \sim 1+|\mathcal{N}(0,\sigma = 0.1)|.\] This choice is rather arbitrary (I really just wanted to add noise to the data because results without noise just looked too…clean).

To capture constant marginal effectiveness of violence in autocracies, I hold \(k_{it}\) constant at 0.5 (another arbitrary choice). Conversely, to capture the cyclical nature of political contestation in democracies, I set \(k_{it}\) for an interest group in a democracy such that \[k_{it} = (t/T_e)^2 \quad \forall \quad t \leqslant T_e.\] \(T_e\) denotes the time period when an election occurs. As \(t \to T_e\), \(k_{it}\) increases at an exponential rate as shown in the below figure. For the simulation, I set \(T_e = 100\). Once time \(T_e\) is reached, the cycle resets.

Code for the Simulation

First, I load the tidyverse for data manipulation.

library(tidyverse)

Next, I create the objective function which I will need to optimize. This is interest group utility given parameters \(\psi_{it}\) (ff), \(\gamma_{it}\) (gg), and \(k_{it}\) (k):

objective = function(k,gg,v,ff){
  u = ff*k*(1 - 1/(1+v)) - gg*(v^2)
  return(-u)
}

I further write a function that wraps over optim, in which I use the limited memory BFGS optimizer to identify the level of violence that maximizes \(i\)’s utility (I know optim is outdated, but I just know how to use it off-the-shelf).

solution = function(k,gg,ff){
  out = optim(
    fn = objective,
    k = k,
    gg = gg,
    ff = ff,
    par = 0,
    method = 'L-BFGS-B',
    lower = 0, upper = Inf
  )
  v_star = out$par
  return(v_star)
}

It seems to work:

solution(k=.9,gg=2,ff=10)
## [1] 0.7417071

Now, I need to generate some hypothetical data over a certain time period (say 500 units of time, however defined). I make separate data for an autocracy and a democracy (note that \(t\) doesn’t have to be a year; it could be a day, or week, or month).

dem_dt = tibble(
  gg=1+abs(rnorm(n=500,sd=.1)),
  ff=1+abs(rnorm(n=500,sd=.1)),
  t=1:500,
  k=rep((t[1:100]/(500/5))^2,len=500)
)
aut_dt = tibble(
  gg=1+abs(rnorm(n=500,sd=.1)),
  ff=1+abs(rnorm(n=500,sd=.1)),
  k=.5,
  t=1:500
)

I then estimate the optimal level of violence for the democracy interest group and the autocracy interest group for each time period.

dem_dt %>%
  group_split(t) %>%
  map(~solution(k=.$k,gg=.$gg,ff=.$ff)) %>%
  do.call(c,.) -> v_dem
aut_dt %>%
  group_split(t) %>%
  map(~solution(k=.$k,gg=.$gg,ff=.$ff)) %>%
  do.call(c,.) -> v_aut

I add this value to the data frame associated with each group.

dem_dt %>% mutate(v=v_dem) -> dem_dt
aut_dt %>% mutate(v=v_aut) -> aut_dt

And finally, I combine into one data frame.

rbind(
  dem_dt %>% mutate(type='democracy'),
  aut_dt %>% mutate(type='autocracy')
) -> dt

Results

Here’s how the level of violence varies over time for each interest group. Notice how violence occurs in cycles in the democracy (since total time is 500 units, results for 5 electoral cycles are shown), but is relatively constant for the autocracy.

dt %>%
  ggplot() +
  aes(
    x=t,
    y=v,
    color=type
  ) +
  geom_line(size=1,alpha=.75) +
  labs(
    x='Time',
    y='Violence',
    title='Expected Violence over Time',
    color=''
  ) +
  scale_x_continuous(breaks=0) +
  scale_y_continuous(breaks=0) +
  theme_test() +
  theme(
    legend.position='top'
  )

Further note that while violence in democracies can actually exceed that in autocracies in the lead up to elections, the cumulative level of violence is actually greater in the autocracy.

dt %>%
  group_by(type) %>%
  summarize(
    sum = sum(v)
  ) %>%
  ggplot() +
  aes(
    x = type,
    y = sum
  ) +
  geom_col(width = .5) +
  labs(
    x='',
    y='Cumulative Violence',
    title='Cumulative Violence in Democracy vs. Autocracy'
  ) +
  theme_test()

Discussion

It’s worth highlighting, here, that I was able to generate cycles of violence from a relatively simple model, without reference to a number of additional features of the model proposed by Harish and Little (2017). Instead, with some hand-waving and “framing,” I could use this to “show” why electoral violence occurs in democracies at and around election time.