Electricity prices for non-household consumers - bi-annual data (from 2007 onwards) - nrg_pc_205

Data - Eurostat

Structure

Consumption < 1 000 kWh

bars

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "EA", "ES"),
         nrg_cons == "MWH_LT20",
         currency == "EUR",
         time %in% c("2021S2", "2022S1", "2022S2")) %>%
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) |>
  spread(tax, values) |>
  transmute(time, Geo,
            ` Taxes except VAT` = X_VAT-X_TAX,
            `  VAT` = I_TAX-X_VAT,
            `Excluding taxes` = X_TAX) |>
  gather(Tax, values, - time, -Geo) |>
  ggplot(aes(x = time, y = values, fill = Tax)) + 
  geom_bar(stat = "identity",
           position = "stack") +
  facet_grid(~ Geo) + theme_minimal() +
theme(legend.position = c(0.2, 0.9),
      legend.title = element_blank()) +
  scale_fill_manual(values = viridis(3)[1:3]) +
  scale_y_continuous(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€/kWh"),
                limits = c(0, 0.6))  +
  xlab("Semester") + ylab("") +
  ggtitle("Electricity price, LOW Consumption")

France, Germany, EA19, Spain

All

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "EA", "ES"),
         tax %in% c("I_TAX", "X_TAX"),
         nrg_cons == "MWH_LT20",
         currency == "EUR") |>
  
  
  semester_to_date() |>
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) |>
  add_flag_color("Geo") |>
  ggplot() + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.8),
        legend.title = element_blank()) +
  xlab("") + ylab("Electricity Prices - C < 1 000 kWh") +
  scale_y_log10(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€"))

2020-

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "EA", "ES"),
         tax %in% c("I_TAX", "X_TAX"),
         nrg_cons == "MWH_LT20",
         currency == "EUR") |>
  
  
  semester_to_date() |>
  filter(date >= as.Date("2020-01-01")) |>
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) |>
  add_flag_color("Geo") |>
  ggplot() + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.8),
        legend.title = element_blank()) +
  xlab("") + ylab("Band DA : Consumption < 1 000 kWh") +
  scale_y_log10(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€"))

France, Germany, Italy, Spain

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         tax %in% c("I_TAX", "X_TAX"),
         nrg_cons == "MWH_LT20",
         currency == "EUR") |>
  
  
  semester_to_date() |>
  filter(date >= as.Date("2020-01-01")) |>
  add_flag_color("Geo") |>
  ggplot() + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.8),
        legend.title = element_blank()) +
  xlab("") + ylab("Electricity Prices - C < 1 000 kWh") +
  scale_y_log10(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€"))

Netherlands

Code
nrg_pc_205 |>
  filter(geo %in% c("NL"),
         tax %in% c("I_TAX", "X_TAX"),
         nrg_cons == "MWH_LT20",
         currency == "EUR") |>
  
  
  semester_to_date() |>
  add_flag_color("Geo") |>
  ggplot() + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.3),
        legend.title = element_blank()) +
  xlab("") + ylab("Electricity Prices - C < 1 000 kWh") +
  scale_y_continuous(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€"))

Greece, Belgium, Austria, Portugal

Code
nrg_pc_205 |>
  filter(geo %in% c("EL", "BE", "AT", "PT"),
         tax %in% c("I_TAX", "X_TAX"),
         nrg_cons == "MWH_LT20",
         currency == "EUR") |>
  
  
  semester_to_date() |>
  add_flag_color("Geo") |>
  ggplot() + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  xlab("") + ylab("Electricity Prices - C < 1 000 kWh") +
  scale_y_log10(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€"))

1 000 kWh < Consumption < 2 500 kWh

France, Germany, Italy, Spain

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         tax %in% c("I_TAX", "X_TAX"),
         nrg_cons == "MWH20-499",
         currency == "EUR") |>
  
  
  semester_to_date() |>
  add_flag_color("Geo") |>
  ggplot() + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  xlab("") + ylab("Electricity Prices - 1 000 kWh < C < 2 500 kWh") +
  scale_y_log10(breaks = c(0.12, 0.15, 0.18, 0.2, 0.25, 0.3, 0.35),
                labels = dollar_format(a = .01, pre = "", su = "€"))

Consumption 150 000 MWh or over - MWH_GE150000

France, Germany, EA19, Spain

Table

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "EA", "ES", "IT"),
         nrg_cons == "MWH_GE150000",
         currency == "EUR",
         time %in% c("2022S2")) %>%
  select(-tax) |>
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) |>
  spread(Tax, values) |>
  print_table_conditional()
freq Freq siec Siec nrg_cons Nrg_cons unit Unit currency Currency geo Geo time All taxes and levies included Excluding taxes and levies Excluding VAT and other recoverable taxes and levies
S Half-yearly, semesterly E7000 Electricity MWH_GE150000 Consumption 150 000 MWh or over - band IG KWH Kilowatt-hour EUR Euro DE Germany 2022S2 0.2662 0.1937 0.2070
S Half-yearly, semesterly E7000 Electricity MWH_GE150000 Consumption 150 000 MWh or over - band IG KWH Kilowatt-hour EUR Euro EA Europe 2022S2 0.2335 0.1944 0.1981
S Half-yearly, semesterly E7000 Electricity MWH_GE150000 Consumption 150 000 MWh or over - band IG KWH Kilowatt-hour EUR Euro ES Spain 2022S2 0.2475 0.1935 0.2051
S Half-yearly, semesterly E7000 Electricity MWH_GE150000 Consumption 150 000 MWh or over - band IG KWH Kilowatt-hour EUR Euro FR France 2022S2 0.1015 0.0883 0.0888
S Half-yearly, semesterly E7000 Electricity MWH_GE150000 Consumption 150 000 MWh or over - band IG KWH Kilowatt-hour EUR Euro IT Italy 2022S2 0.3555 0.3234 0.3236

bars

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "EA", "ES", "IT"),
         nrg_cons == "MWH_GE150000",
         currency == "EUR",
         time %in% c("2019S2", "2020S2", "2021S2", "2022S2")) %>%
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) |>
  spread(tax, values) |>
  transmute(time, Geo,
            ` Taxes except VAT` = X_VAT-X_TAX,
            `  VAT` = I_TAX-X_VAT,
            `Excluding taxes` = X_TAX) |>
  gather(Tax, values, - time, -Geo) |>
  ggplot(aes(x = time, y = values, fill = Tax)) + 
  geom_bar(stat = "identity",
           position = "stack") +
  facet_grid(~ Geo) + theme_minimal() +
theme(legend.position = "bottom",
      legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_fill_manual(values = viridis(3)[1:3]) +
  scale_y_continuous(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€/kWh"),
                limits = c(0, 0.4))  +
  xlab("Semester") + ylab("") +
  ggtitle("Electricity price, Consumption 150 000 MWh or over")

Band DE : Consumption > 15 000 kWh

France, Germany, EA19, Spain

bars

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "EA", "ES"),
         nrg_cons == "MWH_GE150000",
         currency == "EUR",
         time %in% c("2021S2", "2022S1", "2022S2")) %>%
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) |>
  spread(tax, values) |>
  transmute(time, Geo,
            ` Taxes except VAT` = X_VAT-X_TAX,
            `  VAT` = I_TAX-X_VAT,
            `Excluding taxes` = X_TAX) |>
  gather(Tax, values, - time, -Geo) |>
  ggplot(aes(x = time, y = values, fill = Tax)) + 
  geom_bar(stat = "identity",
           position = "stack") +
  facet_grid(~ Geo) + theme_minimal() +
theme(legend.position = "none",
      legend.title = element_blank()) +
  scale_fill_manual(values = viridis(3)[1:3]) +
  scale_y_continuous(breaks = seq(-30, 30, .1),
                labels = dollar_format(a = .1, pre = "", su = "€/kWh"),
                limits = c(0, 0.6))  +
  xlab("Semester") + ylab("") +
  ggtitle("Electricity price, HIGH Consumption")

2020-

Code
nrg_pc_205 |>
  filter(geo %in% c("FR", "DE", "EA", "ES"),
         tax %in% c("I_TAX", "X_TAX"),
         nrg_cons == "MWH_GE150000",
         currency == "EUR") |>
  
  
  semester_to_date() |>
  filter(date >= as.Date("2020-01-01")) |>
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) |>
  add_flag_color("Geo") |>
  ggplot() + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.8),
        legend.title = element_blank()) +
  xlab("") + ylab("Band DE : Consumption > 15 000 kWh") +
  scale_y_log10(breaks = seq(-30, 30, .05),
                labels = dollar_format(a = .01, pre = "", su = "€"))

Euros

Euro Area EA

All

Code
nrg_pc_205 |>
  filter(geo == "EA",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = paste0(Tax, " - ", Nrg_cons))) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

2020-

Code
nrg_pc_205 |>
  filter(geo == "EA",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  filter(date >= as.Date("2020-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = paste0(Tax, " - ", Nrg_cons))) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

France

All

Code
nrg_pc_205 |>
  filter(geo == "FR",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = Nrg_cons, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

2020-

Code
nrg_pc_205 |>
  filter(geo == "FR",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  filter(date >= as.Date("2020-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = paste0(Tax, " - ", Nrg_cons))) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

Germany

Code
nrg_pc_205 |>
  filter(geo == "DE",
         unit == "KWH",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = paste0(Tax, " - ", Nrg_cons))) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

Italy

Code
nrg_pc_205 |>
  filter(geo == "IT",
         unit == "KWH",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = paste0(Tax, " - ", Nrg_cons))) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

Spain

Code
nrg_pc_205 |>
  filter(geo == "ES",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = paste0(Tax, " - ", Nrg_cons))) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))

Netherlands

Code
nrg_pc_205 |>
  filter(geo == "NL",
         currency == "EUR") %>%
  
  
  select_if(~ n_distinct(.) > 1) |>
  semester_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = paste0(Tax, " - ", Nrg_cons))) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.5),
        legend.title = element_blank(),
        legend.text = element_text(size = 8),
        legend.key.size = unit(0.9, 'lines'))