Gas prices for industrial consumers - bi-annual data (until 2007)

Data - Eurostat

Info

LAST_COMPILE

LAST_COMPILE
2024-11-05

Last

Code
nrg_pc_203_h %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(2) %>%
  print_table_conditional()
time Nobs
2007S2 1215
2007S1 1476

Info

  • Electricity and gas prices in the first half of 2022. html / png

consom

Code
nrg_pc_203_h %>%
  left_join(consom, by = "consom") %>%
  group_by(consom, Consom) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
consom Consom Nobs
4142050 Industry - I1 (Annual consumption: 418.6 GJ; no load factor) (for Belgium: fixed supply (non-erasable) for non-specific applications that can easily be substituted by residual fuel oils (CNE 1 P 1)) 3213
4142051 Industry - I1 (Belgium only: completely erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0 P 0.9)) 252
4142052 Industry - I1 (Belgium only: 50% erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0.5 P 1)) 252
4142054 Industry - I1 (Belgium only: fixed supply (non-erasable) for specific applications that can not easily be substituted by residual fuel oils (CNE 1 P1.1)) 252
4142100 Industry - I2 (Annual consumption: 4 186 GJ; load factor: 200 days) (for Belgium: fixed supply (non-erasable) for non-specific applications that can easily be substituted by residual fuel oils (CNE 1 P 1)) 3600
4142101 Industry - I2 (Belgium only: completely erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0 P 0.9)) 252
4142102 Industry - I2 (Belgium only: 50% erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0.5 P 1)) 252
4142104 Industry - I2 (Belgium only: fixed supply (non-erasable) for specific applications that can not easily be substituted by residual fuel oils (CNE 1 P1.1)) 252
4142150 Industry - I3-1 (Annual consumption: 41 860 GJ; load factor: 200 days, 1 600 hours) (for Belgium: fixed supply (non-erasable) for non-specific applications that can easily be substituted by residual fuel oils (CNE 1 P 1)) 5598
4142151 Industry - I3-1 (Belgium only: completely erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0 P 0.9)) 315
4142152 Industry - I3-1 (Belgium only: 50% erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0.5 P 1)) 315
4142154 Industry - I3-1 (Belgium only: fixed supply (non-erasable) for specific applications that can not easily be substituted by residual fuel oils (CNE 1 P1.1)) 315
4142200 Industry - I3-2 (Annual consumption: 41 860 GJ; load factor: 250 days, 4 000 hours) (for Belgium: fixed supply (non-erasable) for non-specific applications that can easily be substituted by residual fuel oils (CNE 1 P 1)) 3393
4142201 Industry - I3-2 (Belgium only: completely erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0 P 0.9)) 315
4142202 Industry - I3-2 (Belgium only: 50% erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0.5 P 1)) 315
4142204 Industry - I3-2 (Belgium only: fixed supply (non-erasable) for specific applications that can not easily be substituted by residual fuel oils (CNE 1 P1.1)) 315
4142250 Industry - I4-1(Annual consumption: 418 600 GJ; load factor: 250 days, 4 000 hours) (for Belgium: fixed supply (non-erasable) for non-specific applications that can easily be substituted by residual fuel oils (CNE 1 P 1)) 3429
4142251 Industry - I4-1 (Belgium only: completely erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0 P 0.9)) 315
4142252 Industry - I4-1 (Belgium only: 50% erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0.5 P 1)) 315
4142254 Industry - I4-1 (Belgium only: fixed supply (non-erasable) for specific applications that can not easily be substituted by residual fuel oils (CNE 1 P1.1)) 315
4142300 Industry - I4-2 (Annual consumption: 418 600 GJ; load factor: 330 days, 8 000 hours) (for Belgium: fixed supply (non-erasable) for non-specific applications that can easily be substituted by residual fuel oils (CNE 1 P 1)) 2934
4142301 Industry - I4-2 (Belgium only: completely erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0 P 0.9)) 315
4142302 Industry - I4-2 (Belgium only: 50% erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0.5 P 1)) 315
4142304 Industry - I4-2 (Belgium only: fixed supply (non-erasable) for specific applications that can not easily be substituted by residual fuel oils (CNE 1 P1.1)) 315
4142350 Industry - I5 (Annual consumption: 4 186 000 GJ; load factor: 330 days, 8 000 hours) (for Belgium: fixed supply (non-erasable) for non-specific applications that can easily be substituted by residual fuel oils (CNE 1 P 1)) 2070
4142351 Industry - I5 (Belgium only: completely erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0 P 0.9)) 63
4142352 Industry - I5 (Belgium only: 50% erasable supply for non-specific applications that can easily be substituted by residual fuel oils (CNE 0.5 P 1)) 63
4142354 Industry - I5 (Belgium only: fixed supply (non-erasable) for specific applications that can not easily be substituted by residual fuel oils (CNE 1 P1.1)) 63

currency

Code
nrg_pc_203_h %>%
  left_join(currency, by = "currency") %>%
  group_by(currency, Currency) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
currency Currency Nobs
EUR Euro 9906
NAC National currency 9906
NAT National currency (former currencies of the euro area countries) 9906

tax

Code
nrg_pc_203_h %>%
  left_join(tax, by = "tax") %>%
  group_by(tax, Tax) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
tax Tax Nobs
I_TAX All taxes and levies included 9906
X_TAX Excluding taxes and levies 9906
X_VAT Excluding VAT and other recoverable taxes and levies 9906

geo

Code
nrg_pc_203_h %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

time

Code
nrg_pc_203_h %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  print_table_conditional()

Band I1 : Consumption < 1 000 GJ

France, Germany, Italy, Spain

All

Code
nrg_pc_203_h %>%
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         tax %in% c("I_TAX", "X_TAX"),
         consom == "4142050",
         currency == "EUR") %>%
  left_join(geo, by = "geo") %>%
  left_join(tax, by = "tax") %>%
  semester_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color, linetype = Tax)) +
  scale_color_identity() + theme_minimal()  + add_8flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2025, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  xlab("") + ylab("Consumption < 1 000 GJ") +
  scale_y_log10(breaks = seq(0.02, 0.2, 0.01),
                labels = dollar_format(a = .01, pre = "", su = "€"))

Example

France

Log

Code
nrg_pc_203_h %>%
  filter(geo == "FR",
         
         currency == "EUR") %>%
  left_join(tax, by = "tax") %>%
  left_join(consom, by = "consom") %>%
  select_if(~ n_distinct(.) > 1) %>%
  semester_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Consom, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2025, 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.7),
        legend.title = element_blank())

Linear

Code
nrg_pc_203_h %>%
  filter(geo == "FR",
         
         currency == "EUR") %>%
  left_join(tax, by = "tax") %>%
  left_join(consom, by = "consom") %>%
  select_if(~ n_distinct(.) > 1) %>%
  semester_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Consom, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank())

Germany

Log

Code
nrg_pc_203_h %>%
  filter(geo == "DE",
         
         currency == "EUR") %>%
  left_join(tax, by = "tax") %>%
  left_join(consom, by = "consom") %>%
  select_if(~ n_distinct(.) > 1) %>%
  semester_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Consom, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2025, 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.7),
        legend.title = element_blank())

Linear

Code
nrg_pc_203_h %>%
  filter(geo == "DE",
         
         currency == "EUR") %>%
  left_join(tax, by = "tax") %>%
  left_join(consom, by = "consom") %>%
  select_if(~ n_distinct(.) > 1) %>%
  semester_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Consom, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank())

Italy

Log

Code
nrg_pc_203_h %>%
  filter(geo == "IT",
         
         currency == "EUR") %>%
  left_join(tax, by = "tax") %>%
  left_join(consom, by = "consom") %>%
  select_if(~ n_distinct(.) > 1) %>%
  semester_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Consom, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2025, 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.7),
        legend.title = element_blank())

Linear

Code
nrg_pc_203_h %>%
  filter(geo == "IT",
         
         currency == "EUR") %>%
  left_join(tax, by = "tax") %>%
  left_join(consom, by = "consom") %>%
  select_if(~ n_distinct(.) > 1) %>%
  semester_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Consom, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1, 0.01)) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank())

Spain

Code
nrg_pc_203_h %>%
  filter(geo == "ES",
         
         currency == "EUR") %>%
  left_join(tax, by = "tax") %>%
  left_join(consom, by = "consom") %>%
  select_if(~ n_distinct(.) > 1) %>%
  semester_to_date %>%
  ggplot + geom_line(aes(x = date, y = values, color = Consom, linetype = Tax)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1920, 2025, 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.7),
        legend.title = element_blank())