Interactive Application to: Threat Proximity and Defence Spending in NATO-EU Member States, 1995–2023

This app accompanies a study of defence spending rationality across 22 NATO-EU member states (1995–2023). It asks: do European governments respond to proximate military threat in a rational, proportional way — and what fiscal and political conditions constrain that response? Using a spatially-decayed UCDP conflict proximity index and spatial autoregressive panel models, we find strong evidence of threat-responsive spending disrupted by fiscal austerity (2005–2013) and conditioned by the political context of post-2014 rearmament.

Data: UCDP GED 26.1 · Eurostat · IMF WEO · WDI · ParlGov · Caldara-Iacoviello GPR

Code: github.com/gpenchev/pubs


Spatial lag ρ (M5 SAR)

+0.177

p < 0.001 — long-run strategic complementarity

Threat coefficient β (M5 SAR)

+0.088

p < 0.001 — significant threat responsiveness

ΔAIC vs GPR (M5 vs M13)

17.6

UCDP outperforms text-based GPR measure

Sample

22 countries

529 obs · 1995–2023 · NATO-EU


How to use this app
Open Science
  • Every Tables sub-tab has a Download CSV button
  • Results sub-tabs show the full methodology and findings
  • All data comes from the published replication pipeline
Presentation use
  • Navigate to a tab before the session and leave it open
  • Use the Issues tab for pre-prepared answers to reviewer questions
  • Every chart is interactive — zoom, hover, filter on demand

Navigation guide
Tab What it covers Open first
Threat Index How the UCDP conflict proximity score is built and varies across countries and time Maps — see where conflict events fall
Estimation Regression models M1–M13: coefficients, regime effects, spatial lag, AIC comparison Figures — coefficient forest plot
Robustness All sensitivity checks A–J: BG 2019, immigration, cross-section 2022 Tables — full checks summary
Issues Pre-written answers to the four named reviewer weaknesses Figure panel opens automatically — select issue from sidebar


Links & acknowledgements

Code repository: github.com/gpenchev/pubs

Interactive application: pub.e-dnrs.org/article1


Research design, data, and all analytical decisions by the author. Scripts and interactive application developed with the assistance of Claude Sonnet 4.5 accessed through AiderDesk 0.70.0 .






Mean and maximum divergence between UCDP land-threat and GPR index per year across the 13-country GPR subsample. Spikes at 2014 and 2022 confirm kinetic bias.


Country threat summary CSV

GPR correlation by country CSV





Filtered coefficients CSV


Regime effects table CSV

Pre/post-2014 sign reversal of gov_eu_position: before 2014 pro-EU cabinets spent marginally more; after 2014 they spent significantly less. Eurosceptic nationalist governments drove post-2014 rearmament.


Levels SAR ρ (M5) vs lagged-DV SAR ρ (M12) vs first-difference SAR ρ (FD). The sign reversal from +0.177 to −0.091 reveals long-run complementarity vs short-run burden-sharing substitution.


AIC values across all 13 model specifications. Lower is better. M5 SAR is the primary specification; M13 GPR shows the cost of using text-based instead of kinetic threat.


ADF/KPSS unit root test results per country–variable combination. Green = stationary, orange = mixed, red = unit root.


Summary: % stationary per variable


Download CSV

Full model fit table (M1–M13) CSV

Spatial lag (ρ) comparison across specifications CSV

Country fixed effects (M5 SAR) CSV

Higher values = country spends more than the model predicts from threat + fiscal variables alone.

Country fixed effects and Cook's D are time-invariant — the year slider has no effect for these variables. Switch to Defence Spending or another panel variable to see year-by-year changes.




Within-year cross-sectional OLS for 2022 and 2023 (N=22, no fixed effects). Confirms threat-defence gradient is real: β=+0.381 (2022), β=+0.282 (2023). Year FE absorption in panel models is an identification artefact.


All coefficients change by less than 1 SE when Bulgaria 2019 (highest Cook’s D) is excluded. Verdict: STABLE.

Bulgaria 2019 exclusion — all results STABLE

Variance Inflation Factors for M3 two-way FE. threat_land_log and debt_gdp have severe VIF (≥10) due to shared temporal structure with year FEs, not bivariate collinearity. Orthogonalisation check confirms coefficients are stable.

Variance Inflation Factors



Maximum Cook’s D per country across all M5 SAR observations. BG has the highest single-observation influence; Baltic states have the highest aggregate influence count.


Four summary diagnostics: (A) spatial persistence decomposition, (B) Regime 4 statistical power, (F) immigration sensitivity, (G) GB structural outlier.


All checks A–J summary CSV

LR tests — SAR with regime breaks CSV

AIC comparison — regime specifications CSV

Check I — Cross-section 2022/2023 CSV

Check H — BG 2019 sensitivity CSV

Check J — Immigration interaction CSV

Choropleth of max Cook’s D per country — shows which countries most influence SAR results.

Cook’s D and country fixed effects are time-invariant — the year slider has no effect for these variables. Switch to Defence Spending or another panel variable to see year-by-year changes.





EU Defence Spending Panel — Help

This application visualises the data and results from the study of NATO-EU defence spending determinants, 1995-2023. Full methodology is available at pub.e-dnrs.org .


The panel covers 24 NATO-EU member states plus Norway and Great Britain over the period 1995-2023 (29 years, 696 country-year observations). The primary regression sample contains 529 observations across 22 countries (517 in the primary SAR model after isolated nodes are dropped from the block-diagonal weight matrix).

The central research question is: what drives defence spending among NATO-EU member states in the post-Cold War period? The study constructs a novel threat proximity measure from georeferenced conflict event data (UCDP GED 26.1) and estimates its effect using spatial autoregressive (SAR) panel models.

Variables available in this application:

Variable Description Source Coverage
Defence Spending (% GDP) Military expenditure as % of GDP World Bank WDI / SIPRI 24 countries, 1995-2023
Government Debt (% GDP) General government gross debt IMF World Economic Outlook 24 countries, 1995-2023
Fiscal Deficit (% GDP) Net lending/borrowing (negative = deficit) IMF World Economic Outlook 24 countries, 1995-2023
GDP per Capita (EUR) GDP per capita, current prices Eurostat / WDI (GB) 24 countries, 1995-2023
GDP Growth Rate (%) Real GDP growth, % change on previous year Eurostat / WDI (GB) 24 countries, 1995-2023
Immigration Rate (per 1000) Annual immigration per 1000 population Eurostat migr_imm1ctz 23 countries, 2000-2023
Threat Score (log) All state-based conflict, spatially decayed UCDP GED 26.1 24 countries, 1995-2023
Threat Score Land (log) Land-contiguous conflict only, spatially decayed UCDP GED 26.1 24 countries, 1995-2023
Government Left-Right Position Seat-weighted cabinet left-right (0=left, 10=right) ParlGov 24 countries, 1995-2023
Government EU Position Seat-weighted cabinet EU integration (0=anti, 10=pro) ParlGov 24 countries, 1995-2023
Election Year 1 if parliamentary election occurred, 0 otherwise ParlGov 24 countries, 1995-2023

Note on Great Britain: GB is included in the panel but excluded from primary regression models that include immigration_rate, because Eurostat carries no immigration data for GB. This is a deliberate modelling decision. As an island nation, the land-border threat measure systematically underestimates GB's threat environment. GB's mean threat score is 40% below the sample mean while its mean defence spending is 47% above — the opposite of the theory-predicted direction.

Note on immigration_rate: Eurostat immigration data (migr_imm1ctz) is available from 2000 onwards. Years 1995-1999 have NA immigration_rate for all countries. Regime 1 (1995-2004) is therefore estimated on 2000-2004 only in models that include immigration_rate.

The Time Series tab shows the evolution of any panel variable over time for selected countries.

  • Variable: Select any variable from the dropdown. All 11 panel variables are available.
  • Countries: Select one or more countries. Deselect all to show all countries.
  • Year range: Drag the slider to restrict the time window.
  • Regime bands: Coloured background bands mark the four analytical regimes:
    • Regime 1 (1995-2004): Post-Cold War consolidation
    • Regime 2 (2005-2013): Pre-crisis stability
    • Regime 3 (2014-2021): Post-Crimea rearmament
    • Regime 4 (2022-2023): Post-Ukraine invasion surge
  • Source overlay: Only available for Defence Spending. Colours lines by data source (WDI, Eurostat, IMF WEO) to show where each country's data comes from.

The Map tab shows a choropleth of any variable for a selected year.

  • Variable and Year: Select any variable and drag the year slider.
  • Colour palette: Sequential (Blues) is appropriate for variables that are always positive (defence spending, debt). Diverging (RdBu) is appropriate for variables that can be positive or negative (fiscal deficit, GDP growth).
  • Conflict events overlay: When enabled, circles show UCDP GED state-based conflict events for the selected year. Circle size is proportional to log(fatalities + 1). Red circles are land-contiguous events (primary threat measure, threat_land_log ); orange circles are all state-based events including sea-crossing conflicts (robustness variant, threat_score_log ). Toggle between views using the Conflict events radio buttons.
  • Countries shown: The map shows all EU member states plus GB for geographic context. Countries not in the regression sample (Luxembourg, Austria, Cyprus, Ireland, Malta, Sweden) appear on the map but will show NA for regression-derived variables.

The Scatter tab shows a cross-sectional scatter plot for a selected year.

  • X and Y variables: Select any two panel variables. The scatter shows one point per country for the selected year.
  • Colour by: Colour points by analytical regime, country ISO2 code, or data source.
  • Fit line: Adds an OLS regression line through the cross-section. This is a simple bivariate fit for visual reference only, not the panel regression results.
  • Labels: Toggle country ISO2 labels on or off.

The Outliers tab flags unusual observations using two methods.

  • IQR method: A value is flagged if it falls below Q1 - 3*IQR or above Q3 + 3*IQR, where IQR is computed globally across all countries and years. This detects extreme values relative to the full distribution. The IQR multiplier can be adjusted — higher values are more lenient.
  • Year-on-year jump method: For each country, the mean and standard deviation of absolute year-on-year changes are computed. A value is flagged if its absolute change from the previous year exceeds mean + 3*SD. This detects sudden jumps that may indicate data revisions or source switches.
  • Both: A value is flagged if it is flagged by either method.
  • Interpretation: Flagged observations are not automatically excluded from the regression. Cook's distance influence diagnostics (script 07) are used to assess whether flagged observations drive results. Bulgaria 2019 and Greece 2022 are the highest-leverage observations in the primary regression.

What is a unit root?

A time series has a unit root if shocks to it are permanent rather than temporary. A series with a unit root is called non-stationary — it has no fixed mean and its variance grows over time. Regressing non-stationary variables on each other produces spurious regression: high R-squared and significant coefficients even when the variables are unrelated. For panel data, this matters because if defence spending or threat scores are non-stationary, standard OLS inference is invalid unless the variables are cointegrated.


Tests performed

ADF — Augmented Dickey-Fuller test (per country)
Tests the null hypothesis that a series has a unit root (is non-stationary) against the alternative that it is stationary. Applied separately to each country's time series for each variable.
  • Null H0: unit root present (non-stationary)
  • Alternative H1: stationary
  • p < 0.05: reject H0 — series is stationary
  • p >= 0.05: fail to reject H0 — unit root not ruled out
KPSS — Kwiatkowski-Phillips-Schmidt-Shin test (per country)
Tests the opposite null: that the series is stationary. Complements ADF because ADF has low power in short series (T = 29 years per country here).
  • Null H0: stationary
  • Alternative H1: unit root present
  • p < 0.05: reject H0 — series is non-stationary
  • p >= 0.05: fail to reject H0 — stationarity not ruled out
IPS — Im-Pesaran-Shin panel unit root test (per variable)
Pools ADF statistics across all countries for a given variable. More powerful than country-by-country ADF because it uses the full panel. Allows heterogeneous dynamics across countries.
  • Null H0: all panels have a unit root
  • Alternative H1: some panels are stationary
  • p < 0.05: reject H0 — at least some countries have stationary series

How to read the heatmap

Each cell shows the result for one country-variable combination.

Colour Label Meaning
S Stationary — ADF rejects unit root AND KPSS does not reject stationarity
M Mixed — ADF and KPSS give conflicting results
U Unit root — ADF does not reject unit root AND KPSS rejects stationarity
? Missing — fewer than 10 observations, test not run

Both mode (recommended): A cell is green only if both ADF and KPSS agree the series is stationary. This is the most conservative and reliable classification.


What the results mean for the regression

defence_gdp
If non-stationary, the two-way fixed effects model absorbs much of the trend via year fixed effects. A first-difference SAR (FD SAR) is estimated as a robustness check and reported in the paper.
threat_land_log
Many country series are zero for long stretches (no nearby conflict), which makes unit root tests unreliable for this variable. The IPS panel test is more informative than country-by-country ADF here.
debt_gdp
Typically I(1) (non-stationary) in most countries. The regression controls for this via country fixed effects which absorb country-specific trends.
Mixed results
Common in short panels (T = 29 years). The regression proceeds with levels and two-way fixed effects as the primary specification, with first-difference SAR as robustness. The persistence vs diffusion decomposition (Check A in the revision checks) provides additional evidence on whether the spatial lag reflects genuine diffusion or spending inertia.

The primary regression sample contains 22 countries and 529 observations (517 in the SAR model after isolated nodes are removed from the block-diagonal W matrix).

Country ISO2 Status
Belgium BE In sample
Bulgaria BG In sample
Croatia HR In sample
Czech Republic CZ In sample
Denmark DK In sample
Estonia EE In sample
Finland FI In sample
France FR In sample
Germany DE In sample
Greece GR In sample
Hungary HU In sample
Italy IT In sample
Latvia LV In sample
Lithuania LT In sample
Netherlands NL In sample
Norway NO In sample
Poland PL In sample
Portugal PT In sample
Romania RO In sample
Slovakia SK In sample
Slovenia SI In sample
Spain ES In sample
Great Britain GB In panel, excluded from primary models (structural outlier)
Luxembourg LU In panel, excluded (defence/GDP < 0.2% throughout)

The threat proximity score for country c in year t is:

$$\text{threat}(c, t) = \sum_{e} \left[ \log(\text{fatalities}_e + 1) \cdot \exp\left(-\frac{d(c,e)}{500}\right) \right]$$
  • e indexes state-based conflict events (UCDP GED type_of_violence = 1) in year t that pass the land-contiguity filter
  • fatalities_e is the best estimate of battle deaths from UCDP GED
  • d(c, e) is the distance in km from the nearest point on country c's border polygon to event e, computed in ETRS89-LAEA projection (EPSG:3035)
  • The 500 km bandwidth means an event at 500 km contributes exp(-1) ≈ 37% of its log-fatality weight; at 1000 km approximately 14%

Land-contiguity filter: An event is classified as land-contiguous if the straight-line path from the event to the nearest point on the EU external land border crosses no more than 50 km of open sea. This excludes clearly sea-separated conflicts (e.g. North Africa across the Mediterranean, minimum ~150 km sea crossing) while accommodating narrow straits (e.g. Danish straits, ~8 km).

Primary variable: threat_land_log = log(threat_land + 1), land-contiguous events only.
Robustness variable: threat_score_log = log(threat_score + 1), all state-based events.

Persistence vs diffusion: what does ρ really measure?

The spatial autoregressive parameter ρ in model M5 (SAR levels) is +0.177 (p < 0.001). This appears to show strong cross-country defence spending diffusion — countries copy neighbours. But the picture is more nuanced.

Specification ρ estimate p-value Interpretation
M5: Levels SAR +0.177 < 0.001 Baseline spatial lag
M12: Lagged DV SAR +0.061 0.077 After controlling for temporal persistence
FD SAR (first-difference) −0.091 0.032 After removing persistence via first-differencing

The levels SAR positive ρ reflects long-run strategic complementarity in spending levels: countries with high-spending neighbours tend to spend more themselves. This is the burden-sharing equilibrium — larger members anchor the alliance's collective defence posture.

The FD SAR negative ρ reflects short-run burden-sharing substitution in spending changes: when one country increases spending in a given year, its neighbours tend to increase spending less (or reduce). This is consistent with the public goods free-riding logic — a neighbour's visible rearmament reduces the perceived urgency for others.

Conclusion: both results are consistent with NATO alliance dynamics. The levels result does not contradict the FD result; they measure different time horizons of the same strategic interdependence.

Why does the EU position coefficient change sign after 2014?

The full-sample M5 coefficient on gov_eu_position is −0.020 (p = 0.021): pro-EU governments spend less on defence on average. This hides a significant structural reversal across the 2014 break.

Period Coef SE p-value Reading
Pre-2014 (M10c) +0.024 0.018 0.053 Marginally more defence spending
Post-2014 (M10b) −0.052 0.022 < 0.001 Significantly less defence spending
z-test for difference 0.008 Significant reversal

Before 2014: EU membership was associated with security cooperation commitments. Pro-EU cabinets spent marginally more on defence as part of a broader multilateral engagement posture.

After 2014: The relevant political cleavage shifted from left–right to national sovereignty vs. European integration. Eurosceptic nationalist governments (PiS Poland, Fidesz Hungary, Baltic nationalist coalitions) became the primary drivers of rearmament, while pro-EU governments were constrained by EU fiscal rules and less inclined to frame defence as a national priority.

The traditional left-right dimension ( gov_left_right ) is not significant in any within-country specification. The ideologically relevant cleavage for post-2014 defence spending is sovereignty vs. European integration, not left vs. right.

If you use this application or the underlying data, please cite:

Threat Proximity and Defence Spending in NATO-EU Member States, 1995-2023.

pub.e-dnrs.org

Data sources:

  • UCDP GED 26.1: Davies, S. et al. (2025). UCDP Georeferenced Event Dataset. ucdp.uu.se
  • ParlGov: Döring, H. and Manow, P. (2024). Parliaments and Governments Database. parlgov.org
  • Defence spending: World Bank WDI / SIPRI Military Expenditure Database.
  • Fiscal data: IMF World Economic Outlook.
  • GDP and migration: Eurostat.