Skip to contents

It is defined as equal to the month-ahead forecasted sum of power generated by plants on both TSO/DSO networks, from which is deduced:

  • the balance (export-import) of exchanges on interconnections between neighbouring bidding zones

  • the power absorbed by energy storage resources

Usage

load_month_ahead_total_forecast(
  eic = NULL,
  period_start = lubridate::ymd(Sys.Date() - lubridate::days(x = 1L), tz = "CET"),
  period_end = lubridate::ymd(Sys.Date(), tz = "CET"),
  tidy_output = TRUE,
  security_token = Sys.getenv("ENTSOE_PAT")
)

Arguments

eic

Energy Identification Code of the bidding zone/ country/control area

period_start

POSIXct or YYYY-MM-DD HH:MM:SS format One year range limit applies

period_end

POSIXct or YYYY-MM-DD HH:MM:SS format One year range limit applies

tidy_output

Defaults to TRUE. If TRUE, then flatten nested tables.

security_token

Security token for ENTSO-E transparency platform

Examples

df <- entsoeapi::load_month_ahead_total_forecast(
  eic = "10Y1001A1001A82H",
  period_start = lubridate::ymd(x = "2019-11-01", tz = "CET"),
  period_end = lubridate::ymd(x = "2019-11-30", tz = "CET"),
  tidy_output = TRUE
)
#> 
#> ── API call ────────────────────────────────────────────────────────────────────────────────────────────────────────────
#> → https://web-api.tp.entsoe.eu/api?documentType=A65&processType=A32&outBiddingZone_Domain=10Y1001A1001A82H&periodStart=201910312300&periodEnd=201911292300&securityToken=<...>
#> <- HTTP/2 200 
#> <- date: Thu, 05 Mar 2026 16:12:57 GMT
#> <- content-type: text/xml
#> <- content-disposition: inline; filename="Total Load Forecast 201910312300-201911292300.xml"
#> <- x-content-type-options: nosniff
#> <- x-xss-protection: 0
#> <- vary: accept-encoding
#> <- content-encoding: gzip
#> <- strict-transport-security: max-age=15724800; includeSubDomains
#> <- 
#>  response has arrived

str(df)
#> tibble [8 × 21] (S3: tbl_df/tbl/data.frame)
#>  $ ts_out_bidding_zone_domain_mrid: chr [1:8] "10Y1001A1001A82H" "10Y1001A1001A82H" "10Y1001A1001A82H" "10Y1001A1001A82H" ...
#>  $ ts_out_bidding_zone_domain_name: chr [1:8] "Germany_Luxemburg" "Germany_Luxemburg" "Germany_Luxemburg" "Germany_Luxemburg" ...
#>  $ type                           : chr [1:8] "A65" "A65" "A65" "A65" ...
#>  $ type_def                       : chr [1:8] "System total load" "System total load" "System total load" "System total load" ...
#>  $ process_type                   : chr [1:8] "A32" "A32" "A32" "A32" ...
#>  $ process_type_def               : chr [1:8] "Month ahead" "Month ahead" "Month ahead" "Month ahead" ...
#>  $ ts_object_aggregation          : chr [1:8] "A01" "A01" "A01" "A01" ...
#>  $ ts_object_aggregation_def      : chr [1:8] "Area" "Area" "Area" "Area" ...
#>  $ ts_business_type               : chr [1:8] "A60" "A60" "A60" "A60" ...
#>  $ ts_business_type_def           : chr [1:8] "Minimum possible" "Minimum possible" "Minimum possible" "Minimum possible" ...
#>  $ created_date_time              : POSIXct[1:8], format: "2026-03-05 16:12:57" "2026-03-05 16:12:57" "2026-03-05 16:12:57" "2026-03-05 16:12:57" ...
#>  $ revision_number                : num [1:8] 1 1 1 1 1 1 1 1
#>  $ time_period_time_interval_start: POSIXct[1:8], format: "2019-11-03 23:00:00" "2019-11-03 23:00:00" "2019-11-03 23:00:00" "2019-11-03 23:00:00" ...
#>  $ time_period_time_interval_end  : POSIXct[1:8], format: "2019-12-01 23:00:00" "2019-12-01 23:00:00" "2019-12-01 23:00:00" "2019-12-01 23:00:00" ...
#>  $ ts_resolution                  : chr [1:8] "P7D" "P7D" "P7D" "P7D" ...
#>  $ ts_time_interval_start         : POSIXct[1:8], format: "2019-11-03 23:00:00" "2019-11-03 23:00:00" "2019-11-03 23:00:00" "2019-11-03 23:00:00" ...
#>  $ ts_time_interval_end           : POSIXct[1:8], format: "2019-12-01 23:00:00" "2019-12-01 23:00:00" "2019-12-01 23:00:00" "2019-12-01 23:00:00" ...
#>  $ ts_mrid                        : num [1:8] 1 1 1 1 2 2 2 2
#>  $ ts_point_dt_start              : POSIXct[1:8], format: "2019-11-03 23:00:00" "2019-11-10 23:00:00" "2019-11-17 23:00:00" "2019-11-24 23:00:00" ...
#>  $ ts_point_quantity              : num [1:8] 39637 41090 41767 42639 70446 ...
#>  $ ts_quantity_measure_unit_name  : chr [1:8] "MAW" "MAW" "MAW" "MAW" ...