Global Energy Analysis
How do countries achieve economic growth while maintaining low energy intensity?
Introduction
The global pursuit of sustainable development faces a critical challenge: how can nations achieve economic growth while reducing their environmental footprint? From 2000 to 2019, economies worldwide have attempted to navigate this balance by transitioning to renewable energy, improving energy efficiency, and reducing carbon intensity. This report explores these trends and identifies key factors behind successful renewable energy transitions.
Research Context & Significance
Our world faces the critical challenge of achieving economic growth without increasing environmental damage. While traditional development models suggest economic growth inevitably leads to higher energy use and emissions, recent studies challenge this assumption. The IPCC’s 2023 report emphasizes that some nations have successfully “decoupled” their economic growth from emissions growth.
Through analyzing global energy intensity patterns, we discover intriguing evidence: some countries have successfully grown their economies while keeping environmental impact low. What strategies enabled their success? What can other nations learn from these cases? This research examines how different countries achieve their development goals, particularly focusing on:
- Energy efficiency in economic growth
- Development patterns across different economies
- Strategies for sustainable growth
By understanding these patterns, we aim to identify successful pathways that could guide other nations toward sustainable development, especially as countries worldwide commit to ambitious climate goals under the Paris Agreement.
Reducing these environmental impacts while maintaining economic growth is a key challenge in sustainable development. Strategies such as improving energy efficiency, transitioning to cleaner energy sources, and implementing stricter environmental regulations are crucial in addressing this challenge.
Research Question
How do countries achieve economic growth while maintaining low energy intensity?
Which countries have successfully demonstrated that high growth and low environmental impact can coexist?
Data management
Data source
Global Data on Sustainable Energy (2000-2020)
The dataset available on Kaggle contains statistics related to sustainable energy usage and its implications across more than 150 countries over two decades. It covers a range of variables such as the share of renewable energy in total energy consumption, carbon dioxide emissions per capita, electricity access, and the availability of clean fuels for cooking. This data is crucial for analyzing global trends in renewable energy adoption and its effects on environmental and economic factors.
Data Discussion
Source of Data: Global Data on Sustainable Energy (2000-2020)
Ansh Tanwar compiled the dataset using data from the World Bank and International Energy Agency, with the majority sourced from ourworldindata.org. Additional features were integrated from top-rated Kaggle datasets to enrich the dataset.
Data Collection by Original Sources
- World Bank and International Energy Agency: Both institutions use globally standardized methodologies for data collection, focusing on a range of economic and energy-related statistics. This ensures accuracy and reliability in the data provided.
- Our World in Data: This platform synthesizes data from the above sources and others to offer a comprehensive view of global energy issues. Their segment on Affordable and Clean Energy provides detailed insights into energy access and sustainability, enhancing the data with rich visualizations and in-depth analysis. This approach makes complex data more accessible and actionable for research and policy-making.
Data Preview
Code
glimpse(Energy)
#> Rows: 3,649
#> Columns: 21
#> $ Entity <chr> "Afgh…
#> $ Year <int> 2000,…
#> $ Access.to.electricity....of.population. <dbl> 1.613…
#> $ Access.to.clean.fuels.for.cooking <dbl> 6.20,…
#> $ Renewable.electricity.generating.capacity.per.capita <dbl> 9.22,…
#> $ Financial.flows.to.developing.countries..US... <dbl> 20000…
#> $ Renewable.energy.share.in.the.total.final.energy.consumption.... <dbl> 44.99…
#> $ Electricity.from.fossil.fuels..TWh. <dbl> 0.16,…
#> $ Electricity.from.nuclear..TWh. <dbl> 0, 0,…
#> $ Electricity.from.renewables..TWh. <dbl> 0.31,…
#> $ Low.carbon.electricity....electricity. <dbl> 65.95…
#> $ Primary.energy.consumption.per.capita..kWh.person. <dbl> 302.5…
#> $ Energy.intensity.level.of.primary.energy..MJ..2017.PPP.GDP. <dbl> 1.64,…
#> $ Value_co2_emissions_kt_by_country <dbl> 760, …
#> $ Renewables....equivalent.primary.energy. <dbl> NA, N…
#> $ gdp_growth <dbl> NA, N…
#> $ gdp_per_capita <dbl> NA, N…
#> $ Density.n.P.Km2. <chr> "60",…
#> $ Land.Area.Km2. <int> 65223…
#> $ Latitude <dbl> 33.93…
#> $ Longitude <dbl> 67.70…
Data Cleaning
- cleaning the column names
Code
<- clean_names(Energy)
Energy_data
write_csv(Energy_data, here("data_processed", "energy_data.csv"))
- Compact overview of the clean dataset
Code
glimpse(Energy_data)
#> Rows: 3,649
#> Columns: 21
#> $ entity <chr> "Afghanis…
#> $ year <int> 2000, 200…
#> $ access_to_electricity_of_population <dbl> 1.613591,…
#> $ access_to_clean_fuels_for_cooking <dbl> 6.20, 7.2…
#> $ renewable_electricity_generating_capacity_per_capita <dbl> 9.22, 8.8…
#> $ financial_flows_to_developing_countries_us <dbl> 20000, 13…
#> $ renewable_energy_share_in_the_total_final_energy_consumption <dbl> 44.99, 45…
#> $ electricity_from_fossil_fuels_t_wh <dbl> 0.16, 0.0…
#> $ electricity_from_nuclear_t_wh <dbl> 0, 0, 0, …
#> $ electricity_from_renewables_t_wh <dbl> 0.31, 0.5…
#> $ low_carbon_electricity_electricity <dbl> 65.95744,…
#> $ primary_energy_consumption_per_capita_k_wh_person <dbl> 302.5948,…
#> $ energy_intensity_level_of_primary_energy_mj_2017_ppp_gdp <dbl> 1.64, 1.7…
#> $ value_co2_emissions_kt_by_country <dbl> 760, 730,…
#> $ renewables_equivalent_primary_energy <dbl> NA, NA, N…
#> $ gdp_growth <dbl> NA, NA, N…
#> $ gdp_per_capita <dbl> NA, NA, 1…
#> $ density_n_p_km2 <chr> "60", "60…
#> $ land_area_km2 <int> 652230, 6…
#> $ latitude <dbl> 33.93911,…
#> $ longitude <dbl> 67.70995,…
Core Analysis
Energy Intensity Analysis:
The global pursuit of sustainable development faces a critical challenge: how can nations achieve economic growth while reducing their environmental footprint? From 2000 to 2019, economies worldwide have attempted to navigate this balance by transitioning to renewable energy, improving energy efficiency, and reducing carbon intensity. This report explores these trends and identifies key factors behind successful renewable energy transitions.
Code
# 1. Data Processing
# Filter data before 2020 and process core metrics
<- Energy_data %>%
energy_intensity filter(year < 2020) %>%
mutate(
energy_intensity = as.numeric(as.character(energy_intensity_level_of_primary_energy_mj_2017_ppp_gdp)),
co2_emissions = as.numeric(as.character(value_co2_emissions_kt_by_country)),
gdp_growth = as.numeric(as.character(gdp_growth))
%>%
) drop_na(energy_intensity, co2_emissions, gdp_growth)
# Classify countries based on energy efficiency and growth performance
<- energy_intensity %>%
country_averages group_by(entity) %>%
summarize(
avg_energy_intensity = mean(energy_intensity, na.rm = TRUE),
avg_co2_emissions = mean(co2_emissions, na.rm = TRUE),
avg_gdp_growth = mean(gdp_growth, na.rm = TRUE),
reliability = n()
%>%
) filter(reliability >= 5) %>%
mutate(
performance = case_when(
> median(avg_gdp_growth) &
avg_gdp_growth < median(avg_energy_intensity) ~ "High Performer",
avg_energy_intensity > median(avg_gdp_growth) &
avg_gdp_growth >= median(avg_energy_intensity) ~ "Growth at Environmental Cost",
avg_energy_intensity <= median(avg_gdp_growth) &
avg_gdp_growth < median(avg_energy_intensity) ~ "Eco-Efficient but Slow Growth",
avg_energy_intensity TRUE ~ "Struggling"
)
)
<- country_averages %>%
high_performers filter(performance == "High Performer") %>%
pull(entity)
1. Energy Intensity Trends Across the World
Code
<- energy_intensity %>%
trend_plot group_by(year, entity) %>%
summarize(
avg_energy_intensity = mean(energy_intensity, na.rm = TRUE),
.groups = "drop"
%>%
) ggplot(aes(x = year, y = avg_energy_intensity, group = entity)) +
geom_line(alpha = 0.1, color = "gray50") +
geom_smooth(aes(group = 1), color = "red", method = "loess", se = TRUE) +
labs(title = "Global Energy Intensity Trends",
x = "Year",
y = "Energy Intensity (MJ/$2017 PPP GDP)") +
theme_minimal() +
annotate("text", x = 2015, y = 7,
label = "Global Average Trend",
color = "red",
size = 4,
fontface = "bold")
trend_plot
Energy intensity is a key metric in understanding the relationship between energy consumption and economic output. It is calculated as the amount of energy used (measured in megajoules, MJ) per unit of gross domestic product. Lower energy intensity generally indicates a more energy-efficient economy, as it’s producing more economic value with less energy input.
The chart shows a steady global decline in energy intensity (MJ/$2017 PPP GDP) from 2000 to 2019, indicating overall improvements in energy efficiency. While the red line highlights this consistent global trend, the gray lines reveal variability among countries, with some making significant progress and others lagging.
This suggests that many nations are adopting more efficient practices, but disparities remain, offering opportunities for improvement.
2. Identifying Patterns of Successful Transitions
- We analyzed countries’ performance based on three key metrics: GDP growth, energy intensity, and CO2 emissions. Using these metrics, we grouped countries into four categories: High Performers, Growth at Environmental Cost, Eco-Efficient but Slow Growth, and Struggling. We then identified the top-performing countries within each category and visualized their performance.
Code
<- country_averages %>%
performance_summary group_by(performance) %>%
summarize(
country_count = n(),
avg_growth = sprintf("%.1f%%", mean(avg_gdp_growth)),
avg_intensity = sprintf("%.2f", mean(avg_energy_intensity)),
avg_emissions = sprintf("%.1f kt", mean(avg_co2_emissions)),
representative_countries = paste(
head(entity[order(-avg_gdp_growth)], 3),
collapse = ", "
),.groups = "drop"
%>%
) arrange(as.numeric(avg_intensity))
<- performance_summary %>%
performance_summary rename(
"Performance Category" = performance,
"Number of Countries" = country_count,
"GDP Growth (%)" = avg_growth,
"Energy Intensity (MJ/$)" = avg_intensity,
"CO2 Emissions (kt)" = avg_emissions,
"Representative Countries" = representative_countries
)
<- c(
performance_order "High Performer",
"Eco-Efficient but Slow Growth",
"Growth at Environmental Cost",
"Struggling"
)# Top performing countries in each category
<- country_averages %>%
top_countries group_by(performance) %>%
slice_max(order_by = avg_gdp_growth, n = 10) %>%
select(performance, entity, avg_gdp_growth, avg_energy_intensity, avg_co2_emissions) %>%
mutate(performance = factor(performance, levels = performance_order)) %>%
arrange(performance, -avg_gdp_growth)
%>%
performance_summary kable(
caption = "Global Performance Categories (2000-2020)",
align = c('l', 'c', 'c', 'c', 'c', 'l'),
format.args = list(big.mark = ",")
%>%
) kable_styling(bootstrap_options = c("striped", "hover"))
Performance Category | Number of Countries | GDP Growth (%) | Energy Intensity (MJ/$) | CO2 Emissions (kt) | Representative Countries |
---|---|---|---|---|---|
High Performer | 35 | 5.0% | 3.12 | 34843.3 kt | Equatorial Guinea, Djibouti, Afghanistan |
Eco-Efficient but Slow Growth | 45 | 2.1% | 3.39 | 117931.3 kt | Guatemala, Ecuador, Paraguay |
Struggling | 35 | 2.4% | 7.50 | 223006.3 kt | Bulgaria, Saudi Arabia, Belize |
Growth at Environmental Cost | 45 | 5.9% | 7.69 | 251553.8 kt | Myanmar, Qatar, China |
Key Results
High Performers: Countries such as Equatorial Guinea, Djibouti, and Afghanistan balance strong GDP growth with low energy intensity, showcasing sustainable growth strategies.
Eco-Efficient but Slow Growth: Countries like Guatemala, Ecuador, and Paraguay have low energy intensity but relatively slow GDP growth, indicating they are energy efficient but may need economic stimulation.
Struggling: Countries like Bulgaria, Saudi Arabia, and Belize face challenges with both high energy intensity and low GDP growth, highlighting areas requiring significant policy intervention.
Growth at Environmental Cost: Countries like Myanmar, Qatar, and China show high GDP growth but at the expense of high energy intensity and emissions, indicating a need for energy efficiency improvements.
Code
# Calculate single reference lines based on all countries
<- top_countries %>%
overall_means summarize(
mean_growth = median(avg_gdp_growth), # Using median instead of mean for better separation
mean_intensity = median(avg_energy_intensity)
)
<- ggplot(top_countries,
performance_plot aes(x = avg_energy_intensity,
y = avg_gdp_growth,
color = performance,
text = paste("Country:", entity,
"<br>GDP Growth:", round(avg_gdp_growth, 2), "%",
"<br>Energy Intensity:", round(avg_energy_intensity, 2)))) +
# Add reference lines
geom_hline(yintercept = mean(top_countries$avg_gdp_growth),
linetype = "dashed", color = "gray50", alpha = 0.5) +
geom_vline(xintercept = mean(top_countries$avg_energy_intensity),
linetype = "dashed", color = "gray50", alpha = 0.5) +
# Add reference line labels in better positions
annotate("text",
x = max(top_countries$avg_energy_intensity),
y = mean(top_countries$avg_gdp_growth) + 0.3,
label = "Average GDP Growth",
color = "gray30",
hjust = 1,
size = 3.5) +
annotate("text",
x = mean(top_countries$avg_energy_intensity) + 0.5,
y = max(top_countries$avg_gdp_growth) - 0.5, # 移到更上面
label = "Average Energy Intensity",
color = "gray30",
angle = 90,
vjust = 1,
size = 3.5) +
# Add larger points
geom_point(size = 4, alpha = 0.8) +
# Visual customization with better colors
scale_color_manual(values = c(
"High Performer" = "#4CAF50",
"Eco-Efficient but Slow Growth" = "#03A9F4",
"Growth at Environmental Cost" = "#F44336",
"Struggling" = "#8E5C42"
+
)) scale_x_continuous(limits = c(0, max(top_countries$avg_energy_intensity) + 2)) +
scale_y_continuous(limits = c(0, max(top_countries$avg_gdp_growth) + 1)) +
labs(
title = "GDP Growth vs. Energy Intensity",
x = "Energy Intensity (MJ/$2017 PPP GDP)",
y = "GDP Growth (%)",
color = "Performance Category"
+
) theme_minimal() +
theme(
legend.position = "right",
plot.title = element_text(size = 14, face = "bold", margin = margin(b = 10)),
plot.subtitle = element_text(size = 12, margin = margin(b = 20)),
axis.title = element_text(size = 10),
legend.title = element_text(size = 10),
legend.text = element_text(size = 9),
panel.grid.minor = element_blank(),
panel.grid.major = element_line(color = "gray90")
)
# Convert to interactive plot
<- ggplotly(performance_plot, tooltip = "text")
interactive_plot interactive_plot
This chart reveals how countries navigate the balance between economic growth and energy efficiency, categorized into four distinct groups:
High Performers: Countries like Djibouti and Equatorial Guinea show that sustainable growth is possible, achieving high GDP growth with low energy intensity. Their success highlights the benefits of clean energy adoption and energy-efficient policies.
Energy-Efficient but Slow Growth: Nations such as Guatemala and Ecuador excel in energy efficiency but experience slower economic progress. They illustrate the need for strategies to stimulate growth without compromising sustainability.
Rapid Growth at Environmental Cost: Countries like China and Myanmar achieve high economic growth but rely heavily on energy-intensive industries. Their path emphasizes the urgent need for energy efficiency reforms and clean energy investments.
Struggling Economies: Nations like Saudi Arabia and Bulgaria face dual challenges of low economic growth and high energy intensity. These countries require international support and structural reforms to overcome inefficiencies.
3. Global Data Overview
Code
<- ne_countries(scale = "medium", returnclass = "sf")
world_map
<- c(
country_name_mapping "United States" = "United States of America",
"Bosnia and Herzegovina" = "Bosnia and Herz.",
"Central African Republic" = "Central African Rep.",
"Dominican Republic" = "Dominican Rep.",
"Equatorial Guinea" = "Eq. Guinea",
"Eswatini" = "eSwatini",
"North Macedonia" = "North Macedonia",
"Sao Tome and Principe" = "São Tomé and Principe",
"Solomon Islands" = "Solomon Is.",
"Antigua and Barbuda" = "Antigua and Barb.",
"Cayman Islands" = "Cayman Is.",
"Myanmar" = "Myanmar",
"United Kingdom" = "United Kingdom",
"United Arab Emirates" = "United Arab Emirates"
)
# 3. Update data preparation
<- country_averages %>%
performance_map_data mutate(
region = case_when(
%in% names(country_name_mapping) ~ country_name_mapping[entity],
entity TRUE ~ entity
)%>%
) select(region, performance, avg_gdp_growth, avg_energy_intensity, avg_co2_emissions)
# 4. Update map data join
<- world_map %>%
world_map_data left_join(performance_map_data, by = c("name" = "region"))
# 5. Create updated map
<- ggplot() +
world_performance_map geom_sf(data = world_map_data,
aes(fill = performance,
text = paste0("Country: ", name, "\n",
"Performance: ", performance, "\n",
"GDP Growth: ", round(avg_gdp_growth, 1), "%\n",
"Energy Intensity: ", round(avg_energy_intensity, 2))),
color = "white",
size = 0.1) +
scale_fill_manual(values = c(
"High Performer" = "#4CAF50",
"Eco-Efficient but Slow Growth" = "#03A9F4",
"Growth at Environmental Cost" = "#F44336",
"Struggling" = "#8E5C42"
),name = "Performance Category",
na.value = "grey90") +
labs(title = "Global Energy Efficiency Performance (2000-2020)") +
theme_minimal() +
theme(
axis.text = element_blank(),
axis.title = element_blank(),
panel.grid = element_blank(),
plot.title = element_text(face = "bold", size = 14),
legend.position = "right"
)
# Convert to interactive map
<- ggplotly(world_performance_map, tooltip = "text")
interactive_map interactive_map