Electricity and LNG Costs Comparison in Croatia (2023-2025MY), and Potential Savings with Battery Storage

Author

Oleksandr Skytchenko

Published

November 1, 2024

Introduction

Electricity prices in Croatia have shown significant volatility, with medium-sized households paying €0.15 per kWh in December 2024, while wholesale prices reached €98 per MWh. Croatia’s reliance on fossil fuels and imported LNG plays a major role in these costs, particularly as the country transitions to cleaner energy. Here, we explore how battery storage and solar photovoltaics (PV) could mitigate rising costs for utilities and consumers.

Analysis of Current Prices

Potential Savings with Battery Storage and Solar PV

With Croatia’s volatile energy landscape, battery storage and solar PV present valuable solutions for mitigating rising costs. By using storage systems to manage peak demand and enhance grid reliability, municipalities could help stabilize or reduce electricity costs for communities. The graph below projects potential cost reductions if storage facilities are adopted by municipalities.

# Load required packages
library(ggplot2)
library(dplyr)

# Sample data for potential cost reductions - replace with actual projections
date_projection <- as.Date(seq(as.Date("2025-01-01"), as.Date("2027-12-01"), by = "month"))
current_costs <- c(rep(100, 12), rep(105, 12), rep(110, 12))  # Projected costs without storage
reduced_costs <- current_costs * 0.85  # Projected costs with 15% reduction from storage

# Create data frame for projection
projection_data <- data.frame(date_projection, current_costs, reduced_costs)

# Plot potential cost reductions
cost_reduction_plot <- ggplot(projection_data, aes(x = date_projection)) +
  geom_line(aes(y = current_costs, color = "Current Costs (€ per MWh)"), size = 1.2) +
  geom_line(aes(y = reduced_costs, color = "Costs with Battery Storage (€ per MWh)"), size = 1.2) +
  labs(
    title = "Projected Utility Costs with Battery Storage (2025-2027)",
    x = "Date",
    y = "Projected Costs (€ per MWh)"
  ) +
  scale_color_manual(values = c("Current Costs (€ per MWh)" = "purple", 
                                 "Costs with Battery Storage (€ per MWh)" = "orange")) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 18, face = "bold"),
    axis.title = element_text(size = 14),
    axis.text = element_text(size = 12)
  )
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
# Print the plot
print(cost_reduction_plot)

# Load necessary libraries
library(ggplot2)  # ggplot2 is used for creating visualizations in R

# Data for gas savings in bcm (billion cubic meters)
# Define the sectors and their corresponding gas savings
sectors <- c("Residential Sector\n(Energy Efficiency and Heat Pumps)", 
             "Efficiency and Electrification", 
             "Renewable Hydrogen", 
             "Solar & Wind", 
             "Biomethane")

# Define gas savings in bcm for each sector
gas_savings <- c(37, 12, 25, 21, 17)  # Savings values in billion cubic meters

# Create a data frame to hold the sector names and their gas savings
savings_data <- data.frame(sectors, gas_savings)

# Plotting the data
ggplot(savings_data, aes(x = sectors, y = gas_savings, fill = sectors)) +
  geom_bar(stat = "identity", show.legend = FALSE) +  # Create a bar plot with bars representing gas savings
  labs(
    title = "Equivalent Gas Savings from RePower EU Plan",  # Title of the plot
    subtitle = "Potential Savings by Sector (in bcm)",  # Subtitle providing additional context
    x = "Sectors",  # Label for the x-axis
    y = "Gas Savings (bcm)"  # Label for the y-axis
  ) +
  geom_text(aes(label = gas_savings), position = position_stack(vjust = 0.5), color = "white", size = 5) +
  # Add text labels to the bars indicating the gas savings values
  theme_minimal(base_size = 14) +  # Use a minimal theme with a base font size of 14 for better readability
  theme(
    plot.title = element_text(hjust = 0.5, size = 20, face = "bold"),  # Center and style the title
    plot.subtitle = element_text(hjust = 0.5, size = 16, face = "italic"),  # Center and italicize the subtitle
    axis.title = element_text(size = 14),  # Increase the font size for axis titles
    axis.text = element_text(size = 12),  # Increase the font size for axis text
    panel.grid.major = element_line(color = "lightgray", linewidth = 0.5),  # Customize major grid lines with a lighter color
    panel.grid.minor = element_blank(),  # Remove minor grid lines for a cleaner look
    axis.text.x = element_text(angle = 15, hjust = 1),  # Rotate x-axis labels for better readability
    plot.background = element_rect(fill = "white", color = NA),  # Set a white background
    panel.border = element_blank()  # Remove the panel border
  ) +
  scale_fill_brewer(palette = "Set2")  # Use a color palette for a more visually appealing fill

Conclusion

Battery storage and solar PV can play a transformative role in Croatia’s energy market by stabilizing costs, enhancing grid flexibility, and reducing dependence on fossil fuels. As these technologies are adopted more widely, municipalities can expect reduced utility costs, creating a sustainable and more predictable energy future for Croatian communities.