$ ⌘K

Replicate Avant & Neu (2019) — Table 2: PMSCs and Civil War Duration

step_count: 3· runtime: 1 minute

Three-step replication of Avant & Neu's reanalysis of Akcinaroglu & Radziszewski (2013) using PSED event counts on African civil wars 1990–2008. Step 1: AR2013's original Cox model with PMSC competition variables (Table 2, Model 1). Step 2: PSED substitution — replace competition with PSED government and rebel event counts (Table 2, Model 2). Step 3: Both — show the competition coefficient attenuates while event counts remain significant (Table 2, Model 3). Run the `prepare_psed` playbook first — it fetches the PSED CSV from Harvard Dataverse (doi:10.7910/DVN/ZKKOK7) and derives the country-year construct observations consumed below. The AR2013 / UCDP-PRIO panel (pmsc_competition, civil_war_duration, conflict_episode, plus the standard covariates) is genuinely user- supplied — outside Avant & Neu's scope.

// pipeline
3 steps· DAG
01

AR2013 Baseline — Competition Variables Only (Table 2, Model 1)

action engine
config (3 keys)
{
  "duration": "civil_war_duration",
  "outcome": "conflict_terminated",
  "predictors": [
    "pmsc_competition",
    "gdp_per_capita",
    "ethnic_fractionalization",
    "ethnic_wars",
    "conflict_intensity",
    "mountainous_terrain",
    "polity",
    "proportion_of_forces",
    "support_rebels",
    "support_government"
  ]
}
expected results (1 key)
{
  "pmsc_competition": {
    "direction": "positive",
    "hazard_ratio": 1.294,
    "p_threshold": 0.05
  }
}
02

PSED Substitution — Event Counts Replace Competition (Table 2, Model 2)

action enginear2013_baselinecompare_to_kb
config (3 keys)
{
  "duration": "civil_war_duration",
  "outcome": "conflict_terminated",
  "predictors": [
    "pmsc_government_event_count",
    "pmsc_rebel_event_count",
    "gdp_per_capita",
    "ethnic_fractionalization",
    "ethnic_wars",
    "conflict_intensity",
    "mountainous_terrain",
    "polity",
    "proportion_of_forces",
    "support_rebels",
    "support_government"
  ]
}
expected results (1 key)
{
  "pmsc_government_event_count": {
    "attaches_finding": "pmsc_govt_events_shorten_civil_war_30pct",
    "direction": "positive",
    "hazard_ratio": 1.299,
    "p_threshold": 0.001
  }
}
03

Horse Race — Both Sets of Variables (Table 2, Model 3)

action enginepsed_substitutioncompare_to_kb
config (3 keys)
{
  "duration": "civil_war_duration",
  "outcome": "conflict_terminated",
  "predictors": [
    "pmsc_competition",
    "pmsc_government_event_count",
    "pmsc_rebel_event_count",
    "gdp_per_capita",
    "ethnic_fractionalization",
    "ethnic_wars",
    "conflict_intensity",
    "mountainous_terrain",
    "polity",
    "proportion_of_forces",
    "support_rebels",
    "support_government"
  ]
}
expected results (2 keys)
{
  "pmsc_competition": {
    "attaches_finding": "pmsc_competition_attenuated_when_events_controlled",
    "direction": "null",
    "hazard_ratio": 1.086,
    "p_threshold": 0.05
  },
  "pmsc_government_event_count": {
    "direction": "positive",
    "hazard_ratio": 1.307,
    "p_threshold": 0.05
  }
}
// from pax
Private Security and Conflict
// engines
engine.cox_ph
// note
step bodies extracted from the .pax archive at build time. download the parent pax for the full yaml.
[ download private-security-events-database.pax.tar.gz ]