Supply, transformation and consumption of gas - monthly data

Data - Eurostat

Info

Last observation: Monthly: 2026M07 (N = 32)

First observation: Monthly: 2008M01 (N = 192)

Last data update: 11 aoû 2026, 22:13. Last compile: 12 aoû 2026, 02:27

Structure

Inland Gas Consumption

France, Germany, Italy, Spain

Code
nrg_cb_gasm |>
  filter(geo %in% c("FR", "DE", "IT", "ES"),
         unit == "TJ_GCV",
         nrg_bal == "IC_CAL_MG") |>
  month_to_date() |>
  mutate(values = values/1000) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Inland natural gas consumption (thousand TJ)")

Germany: Imports, Exports, Domestic Production

Code
nrg_cb_gasm |>
  filter(geo == "DE",
         unit == "TJ_GCV",
         nrg_bal %in% c("IMP", "EXP", "IPRD")) |>
  month_to_date() |>
  mutate(values = values/1000) |>
  ggplot() + geom_line(aes(x = date, y = values, color = Nrg_bal)) +
  theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.title = element_blank()) +
  xlab("") + ylab("Natural gas (thousand TJ)")

unit

Examples

https://ec.europa.eu/eurostat/en/web/products-eurostat-news/w/DDN-20230419-1

Natural gas consumption reduction (August 2022-March 2023 vs. 2017-2022 average)

Code
include_graphics("https://ec.europa.eu/eurostat/documents/4187653/16179929/Natural_Gas_Consumption_Reduction.png")

Replicate

Average August 2022

Code
nrg_cb_gasm |>
  month_to_date() |>
  filter(unit == "TJ_GCV",
         nrg_bal == "IC_CAL_MG") |>
  mutate(period = case_when(date >= as.Date("2022-08-01") ~ "August 2022 - March 2023",
                            (date >= as.Date("2021-08-01") & date <= as.Date("2022-03-01")) |
                             (date >= as.Date("2020-08-01") & date <= as.Date("2021-03-01")) |
                             (date >= as.Date("2019-08-01") & date <= as.Date("2020-03-01")) |
                             (date >= as.Date("2018-08-01") & date <= as.Date("2019-03-01")) |
                             (date >= as.Date("2017-08-01") & date <= as.Date("2018-03-01")) ~ "2017-2022",
                            TRUE ~ NA)) |>
  filter(!is.na(period)) |>
  group_by(geo, period) |>
  summarise(mean = mean(values)) |>
  spread(period, mean) |>
  mutate(change = `August 2022 - March 2023`/`2017-2022`-1) |>
  arrange(change)
# # A tibble: 40 × 4
# # Groups:   geo [40]
#    geo   `2017-2022` `August 2022 - March 2023` change
#    <chr>       <dbl>                      <dbl>  <dbl>
#  1 FI          8532.                      4918. -0.424
#  2 MD          4304.                      2517. -0.415
#  3 LV          4664.                      2757. -0.409
#  4 EE          1757.                      1092. -0.378
#  5 SE          4212.                      2722. -0.354
#  6 FR        167551.                    110430. -0.341
#  7 NL        132631.                     88235. -0.335
#  8 LU          2913.                      2001. -0.313
#  9 LT          7879.                      5451. -0.308
# 10 PT         20224.                     14025. -0.306
# # ℹ 30 more rows

2017-2022

Code
nrg_cb_gasm |>
  month_to_date() |>
  filter(date >= as.Date("2017-01-01"),
         date <= as.Date("2022-12-31"),
         unit == "TJ_GCV",
         nrg_bal == "IC_CAL_MG") |>
  group_by(geo) |>
  summarise(energy = mean(values))
# # A tibble: 39 × 2
#    geo    energy
#    <chr>   <dbl>
#  1 AL       188.
#  2 AT     28594.
#  3 BE     56622.
#  4 BG      9823.
#  5 CY         0 
#  6 CZ     27524.
#  7 DE    286278.
#  8 DK      9525.
#  9 EE      1445.
# 10 EL     17878.
# # ℹ 29 more rows

EU natural gas consumption (calculated), 2017-2023

Code
include_graphics("https://ec.europa.eu/eurostat/documents/4187653/16179929/Natural_Gas_Consumption_Calculated_2017-2023.png")