Main Question:
How does the Iran conflict affect the global economy under different levels of severity, and which macroeconomic indicators shift the most?
Indicators we will analyze:
We create the dataset directly inside R so it is reproducible and self‑contained.
data <- data.frame(
year = c(2023,2024,2025,2026,
2023,2024,2025,2026,
2023,2024,2025,2026),
scenario = c("baseline","baseline","baseline","baseline",
"moderate_shock","moderate_shock","moderate_shock","moderate_shock",
"severe_shock","severe_shock","severe_shock","severe_shock"),
oil_price_brent = c(82,85,88,90,
82,102,108,104,
82,128,142,130),
global_gdp_growth = c(3.0,2.9,2.8,2.9,
3.0,2.5,2.3,2.4,
3.0,1.6,1.2,1.4),
global_inflation = c(6.8,5.4,4.8,4.5,
6.8,6.2,5.8,5.3,
6.8,7.9,7.1,6.5),
mena_gdp_growth = c(1.9,2.1,2.3,2.4,
1.9,1.4,1.6,1.8,
1.9,0.2,0.5,0.9),
shipping_cost_index = c(100,102,103,104,
100,115,118,114,
100,138,145,135),
fertilizer_price_index = c(100,101,102,103,
100,112,115,110,
100,130,138,128),
conflict_severity = c(0,0,0,0,
1,1,1,1,
2,2,2,2)
)
str(data)
## 'data.frame': 12 obs. of 9 variables:
## $ year : num 2023 2024 2025 2026 2023 ...
## $ scenario : chr "baseline" "baseline" "baseline" "baseline" ...
## $ oil_price_brent : num 82 85 88 90 82 102 108 104 82 128 ...
## $ global_gdp_growth : num 3 2.9 2.8 2.9 3 2.5 2.3 2.4 3 1.6 ...
## $ global_inflation : num 6.8 5.4 4.8 4.5 6.8 6.2 5.8 5.3 6.8 7.9 ...
## $ mena_gdp_growth : num 1.9 2.1 2.3 2.4 1.9 1.4 1.6 1.8 1.9 0.2 ...
## $ shipping_cost_index : num 100 102 103 104 100 115 118 114 100 138 ...
## $ fertilizer_price_index: num 100 101 102 103 100 112 115 110 100 130 ...
## $ conflict_severity : num 0 0 0 0 1 1 1 1 2 2 ...
summary(data)
## year scenario oil_price_brent global_gdp_growth
## Min. :2023 Length:12 Min. : 82.00 Min. :1.200
## 1st Qu.:2024 Class :character 1st Qu.: 84.25 1st Qu.:2.125
## Median :2024 Mode :character Median : 96.00 Median :2.650
## Mean :2024 Mean :101.92 Mean :2.417
## 3rd Qu.:2025 3rd Qu.:113.00 3rd Qu.:2.925
## Max. :2026 Max. :142.00 Max. :3.000
## global_inflation mena_gdp_growth shipping_cost_index fertilizer_price_index
## Min. :4.500 Min. :0.200 Min. :100.0 Min. :100.0
## 1st Qu.:5.375 1st Qu.:1.275 1st Qu.:101.5 1st Qu.:100.8
## Median :6.350 Median :1.850 Median :109.0 Median :106.5
## Mean :6.158 Mean :1.575 Mean :114.5 Mean :111.6
## 3rd Qu.:6.800 3rd Qu.:1.950 3rd Qu.:122.2 3rd Qu.:118.2
## Max. :7.900 Max. :2.400 Max. :145.0 Max. :138.0
## conflict_severity
## Min. :0
## 1st Qu.:0
## Median :1
## Mean :1
## 3rd Qu.:2
## Max. :2
We reshape and prepare the data for analysis.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
data <- data %>%
mutate(scenario = factor(scenario,
levels = c("baseline","moderate_shock","severe_shock")))
data_long <- data %>%
pivot_longer(cols = c(oil_price_brent, global_gdp_growth, global_inflation,
mena_gdp_growth, shipping_cost_index, fertilizer_price_index),
names_to = "indicator",
values_to = "value")
head(data_long)
## # A tibble: 6 Ă— 5
## year scenario conflict_severity indicator value
## <dbl> <fct> <dbl> <chr> <dbl>
## 1 2023 baseline 0 oil_price_brent 82
## 2 2023 baseline 0 global_gdp_growth 3
## 3 2023 baseline 0 global_inflation 6.8
## 4 2023 baseline 0 mena_gdp_growth 1.9
## 5 2023 baseline 0 shipping_cost_index 100
## 6 2023 baseline 0 fertilizer_price_index 100
We visualize how key indicators change under each conflict scenario.
library(ggplot2)
ggplot(data, aes(x = year, y = oil_price_brent, color = scenario)) +
geom_line(linewidth = 1.2) +
geom_point(size = 3) +
labs(title = "Brent Oil Price Under Conflict Scenarios",
x = "Year", y = "USD per barrel")
This visual makes the economic slowdown easy to see.
ggplot(data, aes(x = year, y = global_gdp_growth, color = scenario)) +
geom_line(linewidth = 1.3) +
geom_point(size = 3) +
scale_color_manual(values = c("baseline" = "#1b9e77",
"moderate_shock" = "#d95f02",
"severe_shock" = "#7570b3")) +
labs(
title = "Global GDP Growth Under Conflict Scenarios",
x = "Year",
y = "Percent",
color = "Scenario"
) +
theme_minimal(base_size = 14)
This one is powerful — it shows how the region closest to the conflict is hit hardest.
ggplot(data_long %>%
filter(indicator %in% c("global_gdp_growth", "mena_gdp_growth")),
aes(x = year, y = value, color = scenario)) +
geom_line(linewidth = 1.2) +
geom_point(size = 3) +
facet_wrap(~ indicator, scales = "free_y",
labeller = labeller(indicator = c(
global_gdp_growth = "Global GDP Growth",
mena_gdp_growth = "MENA GDP Growth"
))) +
scale_color_manual(values = c("baseline" = "#1b9e77",
"moderate_shock" = "#d95f02",
"severe_shock" = "#7570b3")) +
labs(
title = "Global vs MENA GDP Growth Under Conflict Scenarios",
x = "Year",
y = "Percent",
color = "Scenario"
) +
theme_minimal(base_size = 14)
Using the modeled scenarios (baseline, moderate shock, severe shock), we can outline a forward-looking economic forecast that reflects how the Iran conflict may influence global macroeconomic conditions.
Under the baseline path, the conflict remains geographically limited and does not significantly disrupt global supply chains or energy markets. Oil prices remain in the $82–$90 range, global GDP growth stays near 2.8–3.0%, and inflation continues to cool. The MENA region grows modestly, supported by stable energy revenues. This scenario represents a continuation of pre-conflict economic momentum.
In the moderate shock scenario, the conflict causes temporary disruptions to shipping routes and energy flows. Oil prices rise into the $102–$108 range, global GDP growth slows to 2.3–2.5%, and inflation remains elevated. MENA growth softens but stays positive. Shipping and fertilizer costs increase sharply, signaling stress in global supply chains. This scenario reflects a world experiencing economic friction but avoiding a global downturn.
The severe scenario models a broader and more sustained disruption. Oil prices spike to $128–$142, global GDP growth falls to 1.2–1.6%, and inflation accelerates again. MENA growth nearly stalls, and global supply chains face significant pressure as shipping and fertilizer costs surge. This scenario resembles a stagflationary environment: weak growth combined with high prices.
Across all scenarios, the global economy remains resilient but vulnerable. The severity and duration of the conflict determine whether the world experiences a mild slowdown or a deeper period of stagflation-like conditions. Energy markets act as the primary transmission channel, with secondary effects emerging through inflation, supply chain costs, and regional growth disparities.
Recommendations: