Terrorism has changed in the current geopolitical environment, not only in its networks and tactics but also in its fundamental goals. Is religious extremism still at its core? Is it a political liberation campaign? Or has it evolved into a strategy used by militarized groups to stay relevant and have influence within hierarchies of power?
Whatever the stated objective, the essence of these conflicts often converges on one core issue: control over resources—natural, political, human, or territorial. The distinction between resource-driven destabilization and ideological rebellion is becoming more hazy in an era of growing water scarcity, youth unemployment, and climate shocks.
To explore this connection, I have developed a Simulated Economic Dashboard using python, named Climate-Terror Risk Simulator1, that quantifies how climate stress and socio-economic variables influence terrorism risk along one of the world’s most volatile borders.
The Model 2
The Climate-Terror Risk Simulator is a policy-oriented tool that allows users to tweak six critical input variables:
Variable | Abbreviation | Range | Description |
---|---|---|---|
Water Availability Index | WAI | 0 (no access) – 1 (abundant) | Measures glacial melt, rainfall, river flow |
Per Capita Rural Income | PCRI | ₹1,000 – ₹20,000/month | Proxy for rural prosperity |
Youth Unemployment Rate | YUR | 0% – 60% | Represents vulnerability to radicalization |
Climate Disaster Frequency (per year) | CDF | 0 – 10+ | Floods, heatwaves, landslides, etc. |
State Security Presence | SSP | 0 (none) – 1 (high) | Measures military/police deployment efficiency |
Govt Welfare/Climate Adaptation Spending (₹ Cr.) | GWAS | ₹0 – ₹10,000 | Proxy for preventive measures in vulnerable zones |
The simulation is based on Weighted Linear Composite Index Framework, which is a simplified yet intuitive form of multivariate risk modeling.
Model Output:
Terror Recruitment Index (TRI): Indicates likelihood of youth being recruited into terrorism
TRI=α(1−WAI)+β(YUR)−γ(GWAS)+δ(CDF)
Predicted Cross-Border Incidents: Shows expected terror spillovers across borders
CBI=θ⋅TRI⋅(1−SSP)
Economic Loss Estimate (₹ Cr./year): Monetary loss from infrastructure, trade, casualties
EL=CBI⋅Lavg
Peace Stability Index (0–100): Composite indicator of relative peace
PSI inversely proportional to TRI & CBI
Assumed Coefficients:
α, β, γ, δ, θ can be calibrated using empirical data from World Bank, Uppsala Conflict Data, and national statistics.
Scenarios:
As the model is established, let us consider two scenarios to evaluate the outcomes. Remember this is a very intuitive model and one can fetch the world data at real times time understand the existing world order scenario.
Indicators | Scenario 1 | Scenario 2 |
WAI | High water stress (0.2) | Moderate availability (0.6) |
PCRI | low income (₹3,000) | higher income (₹10,000) |
YUR | youth unemployment at 40% | unemployment at 15% |
CDF | climate disasters = 5 | climate disasters = 2 |
GWAS | welfare spending = ₹500 Cr | welfare = ₹4,000 Cr |
Python Code for the Simulator:
import streamlit as st
import numpy as np
st.set_page_config(page_title="Climate-Terror Risk Simulator", layout="wide")
st.title("Climate-Terror Risk Simulator: Indo-Pak Context")
st.markdown("""
This simulator helps explore how environmental and economic factors influence terrorism risk in Indo-Pak regions.
""")
# Sidebar Inputs
st.sidebar.header("Adjust Input Parameters")
water_availability = st.sidebar.slider("Water Availability Index (WAI)", 0.0, 1.0, 0.5, 0.01)
income = st.sidebar.slider("Per Capita Rural Income (₹/month)", 1000, 20000, 8000, 500)
youth_unemployment = st.sidebar.slider("Youth Unemployment Rate (%)", 0, 60, 25, 1)
climate_disasters = st.sidebar.slider("Climate Disaster Frequency (per year)", 0, 10, 3, 1)
security_presence = st.sidebar.slider("State Security Presence (0=Low, 1=High)", 0.0, 1.0, 0.5, 0.01)
welfare_spending = st.sidebar.slider("Govt Welfare/Adaptation Spending (₹ Cr.)", 0, 10000, 3000, 100)
# Constants (these can be calibrated with data)
alpha = 0.4 # weight for water stress
beta = 0.35 # weight for unemployment
gamma = 0.25 # weight for welfare spending
delta = 0.2 # weight for disasters
theta = 1.2 # terror scaling factor
avg_loss = 160 # Cr per incident
# Derived metrics
tri = alpha * (1 - water_availability) + beta * (youth_unemployment / 100) - gamma * (welfare_spending / 10000) + delta * (climate_disasters / 10)
tri = np.clip(tri, 0, 1) # bound between 0 and 1
predicted_incidents = int(np.round(theta * tri * (1 - security_presence) * 50))
economic_loss = predicted_incidents * avg_loss
peace_index = int(np.clip((1 - tri) * 100, 0, 100))
# Main Dashboard Outputs
col1, col2, col3 = st.columns(3)
col1.metric("Terror Recruitment Index (TRI)", f"{tri:.2f}", delta=None)
col2.metric("Predicted Terror Incidents", f"{predicted_incidents} per year")
col3.metric("Economic Loss Estimate", f"₹{economic_loss} Cr/year")
st.progress(peace_index / 100)
st.markdown(f"**Peace Stability Index:** {peace_index}/100")
st.markdown("---")
st.subheader("Observations")
st.markdown("""
- **Higher youth unemployment** and **lower water availability** significantly increase the TRI.
- **Effective security presence** and **strong welfare spending** help reduce both TRI and predicted incidents.
- **Peace stability** is inversely tied to the Terror Recruitment Index.
""")
The results:
Extended Python code for Plotting Different Indicators
import matplotlib.pyplot as plt
import numpy as np
# Data setup
water_availability = np.linspace(0, 1, 50)
tri_from_water = 0.4 * (1 - water_availability) + 0.2
tri_values = np.linspace(0, 1, 50)
predicted_incidents = 1.2 * tri_values * 0.5 * 50 # assuming 50% security presence
incidents = np.arange(0, 51, 5)
economic_loss = incidents * 160 # ₹ Cr per year
scenario_index = [1, 2, 3, 4, 5]
peace_stability_index = [20, 35, 55, 70, 85]
# Create subplots
fig, axs = plt.subplots(2, 2, figsize=(16, 12))
# Plot 1: TRI vs Water Availability
axs[0, 0].plot(water_availability, tri_from_water, color='teal', linewidth=2)
axs[0, 0].set_title("Terror Recruitment Index (TRI) vs Water Availability")
axs[0, 0].set_xlabel("Water Availability Index")
axs[0, 0].set_ylabel("Terror Recruitment Index (TRI)")
# Plot 2: Predicted Terror Incidents vs TRI
axs[0, 1].plot(tri_values, predicted_incidents, color='crimson', linewidth=2)
axs[0, 1].set_title("Predicted Terror Incidents vs TRI")
axs[0, 1].set_xlabel("Terror Recruitment Index (TRI)")
axs[0, 1].set_ylabel("Predicted Annual Terror Incidents")
# Plot 3: Economic Loss vs Predicted Incidents
axs[1, 0].plot(incidents, economic_loss, color='darkorange', linewidth=2)
axs[1, 0].set_title("Economic Loss vs Predicted Incidents")
axs[1, 0].set_xlabel("Predicted Terror Incidents (per year)")
axs[1, 0].set_ylabel("Estimated Economic Loss (₹ Cr./year)")
# Plot 4: Peace Stability Index vs Scenario
axs[1, 1].bar(scenario_index, peace_stability_index, color='forestgreen')
axs[1, 1].set_title("Peace Stability Index vs Scenario")
axs[1, 1].set_xlabel("Scenario Index")
axs[1, 1].set_ylabel("Peace Stability Index (0 to 100)")
# Layout and export
plt.tight_layout()
output_path = "/mnt/data/Climate_Terror_Risk_Dashboard_Updated.png"
plt.savefig(output_path)
output_path
The Results:
1. Terror Recruitment Index (TRI) vs Input Factors
- X-Axis: Variable being tested (e.g., Water Availability Index, Unemployment Rate, etc.)
- Y-Axis: Terror Recruitment Index (TRI) (Scale: 0.00 to 1.00)
This graph helps visualize how individual variables (one at a time) impact TRI.
2. Predicted Terror Incidents vs TRI
- X-Axis: Terror Recruitment Index (TRI)
- Y-Axis: Predicted Annual Terror Incidents (Count per year)
This graph shows how increased TRI contributes to incident frequency.
3. Economic Loss vs Predicted Incidents
- X-Axis: Predicted Terror Incidents (per year)
- Y-Axis: Estimated Economic Loss (₹ Cr./year)
Helps visualize the linear relationship between frequency of attacks and macroeconomic cost.
4. Peace Stability Index (Inverse of TRI)
- X-Axis: Scenario Index (e.g., Scenario 1, 2, 3, etc.) or Composite Drivers
- Y-Axis: Peace Stability Index (Scale: 0 to 100)
Shows how TRI translates inversely to regional peace prospects.
My Thoughts:
Lower water availability coupled with rising unemployment accelerates the TRI sharply, affirming the climate-security nexus. Welfare spending and strong security infractructure can put checks to this acceleration, but it has a limit, simplifying the fact that terrorism has always been an Economic Byproduct. With this simulation, I have tried to quantify the abstract threat of terrorism with modifiable indicators. I strongly believe this simulation would help you get the realistic view, which is both comparable and accountable.
The future of peace in South Asia may well lie not just in summits and treaties, but in data, dashboards, and development.
Sources:
- World Bank Climate Fragility Risk Index
- OECD Social Resilience Models
- Gleditsch et al. (2006): Climate-induced risk and civil conflict
- Uppsala Conflict Data Program (UCDP)
- IPCC Human Security Chapter Frameworks
FootNote
- Climate-Terror Risk Simulator, which is nothing but a simplified yet intuitive form of multivariate risk modeling, where multiple socioeconomic and environmental indicators are combined using weighted coefficients to compute a Terror Recruitment Index (TRI). The TRI then drives other dependent variables like predicted incidents and economic losses. ↩︎
- The simulator uses concepts from:
A. Economic Deprivation Model (Becker, 1968; Krueger & Malečková, 2003)
Terrorism is modeled as a rational (yet extreme) decision influenced by lack of economic opportunity. Income and unemployment directly affect recruitment potential.
B. Environmental Conflict Theory (Homer-Dixon, 1999)
Scarcity of natural resources (like water) increases the likelihood of social conflict and violence, especially in agrarian regions.
C. Expected Utility & Rational Choice Theory
Individuals (and groups) engage in rebellion or terrorism if perceived marginal benefits (ideological, economic, political) exceed perceived costs (state retaliation, economic alternatives).
D. Mathematical Expressions:
TRI=α(1−Water)+β(Unemployment/100)+δ(Disasters/10)−γ(Welfare Spending/10,000)
Predicted Incidents=θ⋅TRI⋅(1−Security Presence)⋅Scaling Factor
Loss=Predicted Incidents×Avg Economic Cost per Attack ↩︎