To effectively capture the influence of climate on energy consumption across different regions, two complementary modelling approaches are employed. For European countries, where high-quality, high-resolution electricity load data are available through the ENTSO-E network, a detailed Electricity Demand Model (EDM) based on a Generalised Additive Model (GAM) is used. This enables precise reconstruction of daily electricity demand driven by climate variability. In contrast, for the global domain, including regions with limited or unreliable load data, a simpler yet robust Energy Demand Model based on Energy Degree Days (EDD) is applied. This proxy approach relies solely on temperature data and offers consistent, long-term estimates of climate-sensitive energy demand worldwide. The use of two distinct methods balances data availability with model complexity, ensuring accurate and scalable insights across both data-rich and data-scarce regions.
1. Electricity Demand Model (European Domain)
The energy sector is highly dependent on climate conditions, as weather variability significantly impacts electricity demand and renewable energy generation. Understanding these effects is crucial for energy system planning, market operations, and climate resilience. For this reason, in a selected subset of European countries, the C3S operational service provides also electricity demand timeseries to support energy stakeholders where high-quality electricity load data are available through the ENTSO-E network. This section provides a description of the methodologies followed to derive the estimation of electricity demand across Europe. The EDM integrates reanalysis climate data with observed energy statistics, producing high-resolution electricity demand time series. Validation procedures ensure the reliability of these estimates, highlighting key findings regarding the influence of climate factors on electricity consumption.
1.1. Input Data and Pre-processing
1.1.1. Climate Data
Electricity demand is influenced by several key climate variables:
2 m temperature (TA): The main climatic driver of electricity consumption, especially for heating and cooling.
Surface solar radiation (GHI): Affects ambient conditions and indirectly influences demand, particularly for cooling and lighting.
Wind speed at 10 m (WS10): Can affect perceived temperature (e.g., wind chill), ventilation, and thus heating or cooling needs.
In this framework, the climate variables are used as input already aggregated to the national level (ADM0) to match the spatial resolution of electricity load data. They are also aggregated to daily resolution, consistent with the typical temporal scale of electricity consumption records.
1.1.2. Electricity Load Data
To calibrate and validate the electricity demand model, two primary ENTSO-E sources of load data are considered as input data in the methodology:
- ENTSO-E Power Statistics: This database provides historical electricity demand data from TSOs. Although the dataset was discontinued in 2019, it offers valuable long-term records, spanning back to 2006 for some countries.
- ENTSO-E Transparency Platform: Operational since 2015, this platform supplies high-resolution, real-time electricity demand and generation data across Europe. Unlike Power Statistics, Transparency Platform data are continuously updated and more standardised across member states.
In this work, PS data were used to cover the period 2006–2014, while TP data were employed from 2015 onwards, due to their greater consistency, standardisation, and completeness. After downloading the PS and TP datasets, the following data preparation procedures were implemented:
- Aggregation to daily values: Hourly or sub-hourly resolution data were aggregated to daily values to ensure consistency across countries and facilitate model training.
- Visual inspection and country selection: The load time series for each country were visually inspected. As a result, 8 out of 42 countries were excluded from the analysis due to insufficient data coverage, incoherent values, or large gaps in the time series (see Table 1.1).
- Outlier removal: For the remaining 34 countries, extremely low or clearly erroneous values—likely due to data reporting issues—were removed and replaced with missing values (NaNs).
- Selection of reliable sub-periods: For countries with noisy or inconsistently distributed time series, only reliable and well-covered sub-periods were selected, where possible, to ensure data quality (see Figure 1.1).
- Detrending to remove socio-economic effects: The load input data have been detrended to remove any underlying increase related to socio-economic factors—such as population growth, industrial development, or changes in energy policy—that cannot be directly modelled with the GAM methodology and need to be accounted for separately. The calibration and validation of the electricity demand model have therefore been performed using detrended data only. In this respect, detrending is a preprocessing step, not part of the GAM itself, and is crucial to ensure that the model learns only the weather-related and seasonal variability.
The detrending was performed using a polynomial fitting procedure, where the polynomial degree (from 1 to 3) was automatically selected based on the best fit (see Figure 1.2). The detrended load was computed as:
Loaddetrended = Loadoriginal – Trend + Long Term Mean
where:
- Trend is the fitted polynomial trend.
- Long Term Mean is the average of the original load over the entire selected period.
This approach aims to remove long-term non-weather-driven trends while preserving the realistic magnitude and variability of the data.
- Post-detrending cleanup: Additional outliers detected only after detrending are removed.
- Selection of training and validation periods: For each country, separate time periods were selected for training and validation of the model. Years strongly influenced by external socio-economic anomalies (e.g., 2009 financial crisis or 2020 COVID-19 pandemic) were sometimes excluded to avoid distorting the model.
Table 1.1 summarises the training/validation periods, excluded years, and notes for each country. As mentioned, a total of 42 countries were initially considered; however, 8 countries (highlighted in red in the table) were excluded due to insufficient data coverage, irregular or incoherent distributions, or very short time series that were deemed unsuitable for model training or validation.
Table 1.1: Overview of electricity load data availability and selection by country.
This table provides, for each country: the ISO (3166-1 alpha-2) code, full country name, selected training and validation periods, skipped years (if any), and notes explaining the selection criteria or reasons for exclusion. The excluded countries are listed in red.
ISO Code | Country Name | Training Period | Validation Period | Skip Years | Notes |
|---|---|---|---|---|---|
AL | Albania | - | - | - | Low data coverage, with multiple gaps and incoherent data distribution over different periods. |
AT | Austria | 2015 - 2019 | 2021 - 2024 | - | |
BA | Bosnia & Herzegovina | 2013 - 2019 | 2006 - 2012 | 2009 | |
BE | Belgium | 2013 - 2019 | 2006 - 2012 | 2009 | |
BG | Bulgaria | 2015 - 2024 | 2006 - 2014 | - | |
CH | Switzerland | 2015 - 2019 | 2020 - 2022 | - | |
CS | Serbia & Montenegro | - | - | - | Only one year of available data (2006). Data available for Serbia and Montenegro separately after 2007. |
CY | Cyprus | 2015 - 2018 | 2013 - 2014 | - | |
CZ | Czech Republic | 2015 - 2024 | 2006 - 2014 | 2020 | |
DE | Germany | 2018 - 2024 | 2014 - 2017 | 2020 | |
DK | Denmark | 2017 - 2024 | 2010 - 2016 | - | |
EE | Estonia | 2017 - 2024 | 2010 - 2016 | - | |
ES | Spain | 2010 - 2019 | 2021 - 2024 | 2020 | |
FI | Finland | 2017 - 2024 | 2010 - 2016 | - | |
FR | France | 2015 - 2024 | 2008 - 2014 | - | |
GB | Great Britain | 2015 - 2021 | 2010 - 2014 | 2020 | |
GE | Georgia | - | - | - | The period of data is too short (only 3 years). |
GR | Greece | 2010 - 2019 | 2020 - 2024 | - | |
HR | Croatia | 2015 - 2024 | 2006 - 2014 | 2020 | |
HU | Hungary | 2014 - 2019 | 2009 - 2013 | - | |
IE | Ireland | 2017 - 2024 | 2010 - 2016 | 2020 | |
IS | Iceland | 2015 - 2019 | 2011 - 2013 | 2014 | |
IT | Italy | 2010 - 2019 | 2021- 2024 | 2020 | |
LT | Lithuania | 2017 - 2024 | 2011 - 2016 | - | |
LU | Luxembourg | 2022 - 2024 | 2019 - 2021 | 2020 | |
LV | Latvia | 2017 - 2024 | 2010 - 2016 | - | |
MD | Moldova | - | - | - | The period of data is too short (only 5 years) and the distribution is not regular. |
ME | Montenegro | 2016 - 2020 | 2013 - 2015 | - | |
MK | North Macedonia | 2006 - 2012 | 2013 - 2017 | 2009 | |
NI | Northern Ireland | - | - | - | The period of data is too short. |
NL | Netherlands | 2016 - 2024 | 2010 - 2014 | 2015 | |
NO | Norway | 2017 - 2024 | 2010 - 2016 | - | |
PL | Poland | 2015 - 2024 | 2006 - 2014 | 2020 | |
PT | Portugal | 2015 - 2024 | 2006 - 2014 | 2020 | |
RO | Romania | 2019 - 2024 | 2015 - 2018 | 2020 | |
RS | Serbia | 2014 - 2020 | 2007 - 2013 | - | |
SE | Sweden | 2017 - 2024 | 2010 - 2016 | - | |
SI | Slovenia | 2013 - 2019 | 2006 - 2012 | 2009 | |
SK | Slovakia | 2013 - 2019 | 2006 - 2012 | 2009 | |
TR | Turkey | - | - | - | The period of data is too short (only 3.5 years). |
UA | Ukraine | - | - | - | Data presents incoherent distributions over different periods. The most recent data seems correct, but the period is too short. |
XK | Kosovo | - | - | - | The period of data is too short (only 3.5 years). |
Figure 1.1: Examples of preliminary data cleaning for electricity load data, here shown for Germany, Great Britain, Ireland, and Slovenia. For Germany, although data were available for the entire period from 2006 to 2024, only the values from 2015 onwards were retained, as they appeared more reliable and still ensured a sufficiently long historical period for modelling. For Great Britain, the time series was shorter and characterised by a clear jump between 2014 and 2015. While anomalously low values were removed, additional adjustments were required to realign the two segments of the time series. In the case of Ireland, all available data were initially retained, as the series showed a consistent and coherent structure throughout. For Slovenia, the data showed an abrupt degradation in quality starting in 2020. In this case, only the period up to 2019 was used for model calibration and validation, discarding the more recent, less reliable values.
Figure 1.2: Examples of detrending of daily electricity load data, here shown for Germany, Great Britain, Ireland, and Slovenia. The plots show the original load data (orange), the fitted polynomial trend (black), and the detrended load data (blue dashed) for each country. For Germany, Ireland, and Slovenia, a single polynomial fit was applied to the entire selected time period to remove the long-term socio-economic trend. In the case of Great Britain, due to a visible jump between 2014 and 2015, two separate polynomial fits were applied to the two segments of the time series. The resulting detrended data oscillate around a stable reference level, allowing the GAM model to focus on weather-driven variability. The equations of the fitted trends are shown in each plot, with the time variable expressed as years since 2000. Note that the years skipped for modelling purposes (e.g., 2009 or 2020) were excluded only from the model training and validation phases but were retained during the detrending procedure.
1.2. Generalised Additive Model (GAM) Methodology
To estimate electricity demand based on climate variables, the model adopts a Generalised Additive Model (GAM) framework. GAMs are an extension of linear models that allow for non-linear relationships between predictors (e.g., temperature, solar radiation, wind speed) and the target variable (electricity demand), while preserving interpretability and robustness (Goude et al., 2014; Pierrot & Goude, 2011).
This modelling approach is particularly suited for energy demand estimation, as it can flexibly capture seasonal effects, day-type dependencies, and complex, non-linear climate responses. GAMs are also computationally efficient and easily adaptable to different countries and data conditions.
The daily electricity demand \( Y_t \) is expressed as:
\[ Y_t = \beta_0 + \sum_{i=1}^{n} f_i(X_{i,t}) + \varepsilon_t \]Where \( Y_t \) is the detrended daily electricity load at day t, \( \beta_0 \) is the intercept, \( f_i(\cdot) \) are smooth functions (typically splines) of the predictors \( X_{i,t} \) and \( \varepsilon_t \) is the residual error term.
Each smooth function \( f_j(x_j) \) is represented as:
\[ f_j(x_j) = \sum_{q=1}^{k_j} b_{j,q}(x_j) \, \beta_{j,q} \]with \( b_{j,q} \) being the spline basis functions and \( \beta_{j,q} \) their corresponding coefficients. These coefficients are estimated by minimising the squared error, penalised by a smoothness criterion to avoid overfitting.
In addition to the three key climate indicators beforementioned— TA, GHI and WS10—the model incorporates a set of additional predictors to account for recurring behavioural and calendar-driven patterns that influence electricity demand:
Day of the year: Rescaled from 0 to 1 to capture smooth annual seasonality.
Day of the week: Models weekly consumption cycles (e.g. higher weekday demand, lower on Sundays).
Day type: A categorical indicator that distinguishes between weekdays, weekends, and public holidays.
Holiday indicators: Flags for specific holidays (e.g. Christmas, New Year), which typically show unique load profiles.
This formulation enables the model to account for the effects of temperature extremes, solar influence during hot and cold conditions, wind during colder seasons, and human behavioural patterns tied to calendar structure.
1.3. Training and Validation
Each country’s GAM is trained on the corresponding detrended load time series and associated daily climate predictors. Separate timeframes are selected for training and testing, avoiding periods affected by major anomalies (see Table 1.1). The model’s performance is evaluated using the following standard metrics, as illustrated in Figure 1.3:
Mean Absolute Percentage Error (MAPE): Values typically fall within the 2–5% range, which is suitable for operational use. Countries with more stable electricity demand profiles—such as France, Germany, or Sweden—tend to exhibit even lower errors.
Pearson correlation coefficient (R): The correlation between observed and predicted demand generally exceeds 0.9, confirming the model’s ability to reproduce daily fluctuations and seasonal patterns effectively.
Additional diagnostic plots for France (Figures 1.4–1.6) provide a more detailed evaluation of the model’s performance:
Day-of-week error patterns: Boxplots of percentage errors indicate that the model performs more accurately during weekdays, while Sundays and public holidays show slightly greater variability—likely reflecting more irregular consumption patterns associated with reduced or shifting economic activity.
Seasonal behaviour: Model accuracy remains generally consistent throughout the year. However, certain summer months (notably August) exhibit a mild increase in errors, which may be attributed to holiday-driven behavioural changes or unmodelled cooling-related demand peaks.
Error distribution: Histograms of daily prediction errors show a distribution that is approximately symmetric and centred near zero, suggesting the model is broadly unbiased. Nonetheless, there is a slight skew toward underprediction, implying that in some cases, actual demand exceeds forecasts more than the reverse. This insight can guide further refinement of the model or targeted post-processing adjustments.
Figure 1.3: Performance metrics of the GAM-based electricity demand model across European countries.
Mean Absolute Percentage Error (MAPE) and Pearson correlation coefficients (R) are reported for both training (red) and validation (teal) periods. MAPE quantifies the average deviation between predicted and observed demand, while the correlation coefficient indicates how well the model captures temporal variations. Most countries show strong performance, with low MAPE values and correlation exceeding 0.9.
Figure 1.4: Boxplots of absolute percentage errors of the GAM model for France by day of the week and by month. Sunday and August exhibit greater variability, suggesting more unpredictable load patterns.
Figure 1.5: Top: Time series of actual vs. predicted load in France from 2008 to 2014, comparing the GAM model (green) with the actual load (red) and a simplified model (dashed blue).
Bottom: Daily percentage error, computed as the difference between the green and red curves in the top panel, over the same period.
Figure 1.6: Histogram of percentage errors for the French GAM model.
1.4. Output Data
The Electricity Demand Model estimates electricity demand time series for 34 European countries, aggregated at the national level (ADM0). Data are available at daily, monthly, seasonal, and annual resolutions, following the Temporal Aggregation Procedure.
2. Energy Demand Model (Global Domain)
In regions where high-quality electricity load data are unavailable or incomplete, energy demand is estimated using a simplified proxy based on climatic indicators. This approach supports global coverage and ensures methodological consistency across both data-rich and data-scarce regions.
2.1. Energy Degree Days (EDD) Methodology
The global energy demand model uses Energy Degree Days (EDD) as a climate-driven proxy to approximate monthly energy demand. EDD is computed as the sum of Heating Degree Days (HDD) and Cooling Degree Days (CDD)—two well-established indicators used to estimate heating and cooling needs, respectively. These indicators are derived from daily mean 2 m temperature values on a gridded domain and subsequently aggregated at national level (ADM0).
The EDD proxy follows methodologies aligned with standards adopted by the International Energy Agency (IEA) (IEA, 2023; Scoccimarro et al., 2023), making it suitable for international comparisons.
2.1.1. Heating Degree Days (HDD)
HDD quantifies the energy needed for heating by measuring how much and for how long the outside air temperature is below a reference comfort temperature. It is defined as:
\[ \text{If } T_{2m} \geq T_{\text{threshold}}, \quad \text{HDD} = 0 \] \[ \text{If } T_{2m} < T_{\text{threshold}}, \quad \text{HDD} = T_{\text{ref}} - T_{2M} \]Where \( T_{2m} \) is the daily mean 2 m temperature, \( T_{ref} = 18°C \) is the reference indoor comfort temperature, \( T_{threshold} = 15°C \) is the threshold defining a heating day.
This definition corresponds to the HDDThold18 index. For example, if \( T_{2m} = 12°C \) then \( HDD = 18 - 12 = 6°C \) ; if \( T_{2m} = 16°C \) then \( HDD = 0 \) .
Figure 2.1 illustrates HDD values computed for January, April, and July 2015 at a selected grid cell in Southern Italy (40.25°N, 18.25°E).
2.1.2. Cooling Degree Days (CDD)
CDD measures the energy needed for cooling by estimating how much and for how long the outside air temperature is above a reference comfort temperature. It is defined as:
\[ \text{If } T_{2m} < T_{\text{threshold}}, \quad \text{CDD} = 0 \] \[ \text{If } T_{2m} \geq T_{\text{threshold}}, \quad \text{CDD} = T_{2M} - T_{\text{ref}} \]Where \( T_{2m} \) is the daily mean 2 m temperature, \( T_{ref} = 21°C \) is the reference indoor comfort temperature, \( T_{threshold} = 24°C \) is the threshold defining a cooling day.
This definition corresponds to the CDDThold21 index. For instance, if \( T_{2m} = 26°C \) then \( CDD = 26 - 21 = 5°C \) ; if \( T_{2m} = 22°C \) then \( CDD = 0 \) .
Figure 2.2 shows CDD values computed for January, April, and July 2015 at the same selected grid cell in Southern Italy.
2.1.3. Energy Degree Days (EDD)
Once HDD and CDD values are computed on the gridded domain, they are elaborated as follows:
- Monthly climatology calculation over a selected reference period (e.g. 2000-2019):
\[ \text{climatology}_m = \frac{\sum_{y=1}^N x_m^y}{N} \] where x is the HDD or CDD value for month m and year y, N is the number of years (e.g. 20). - Spatial aggregation to national level (ADM0) (for more details on this please refer to Spatial Aggregation Procedure).
- Weighting by population to ensure that the indicator is representative of the amount of people actually living in that area.
- Summation of HDD and CDD to produce the final EDD index:
\[ EDD = HDD_{weighted} + CDD_{weighted} \]
Figure 2.1: Example of computation of HDD for a selected month/year (January 2015, April 2015, July 2015) for a particular grid point of the domain (40.25 °N, 18.25 °E, corresponding to a location in the South of Italy).
Figure 2.2: Example of the computation of CDD for a selected month/year (January 2015, June 2015, July 2015) at a particular grid point of the domain (40.25 °N, 18.25 °E, corresponding to a location in the South of Italy).
2.2. Validation and Results
To validate the EDD methodology, gridded HDD and CDD values computed from the model were compared with IEA-published data for the period 2000–2019. Figure 2.3 and Figure 2.4 illustrate the comparison of HDD and CDD for four representative months (January, April, July, October). The resulting biases were minor across most countries. Table 2.1 summarises the minimum and maximum differences (biases) between the C3S and IEA datasets for the selected months.
Figures 2.5 and Figure 2.6 demonstrate strong agreement between EDD and observed electricity load from IEA and ENTSO-E for selected countries (e.g. France, Norway, Canada), while also highlighting the limitations in countries where socio-economic drivers may dominate (e.g. Mexico, Australia). Table 2.2 provides Pearson correlation coefficients between EDD and electricity load datasets across selected countries.
Figure 2.3: HDD validation for selected monthly climatologies over 2000-2019: January (top), April (middle top), July (middle bottom), October (bottom), for C3S data (left), IEA (middle), and their difference (C3S - IEA) (right). In the C3S and IEA plots, a constant colour scale is used for values between 0 and 5 °C, while a logarithmic colour scale is adopted above 5 °C to improve visual resolution in regions with low to moderate HDD magnitudes.
Figure 2.4: CDD validation for selected monthly climatologies over 2000-2019: January (top), April (middle top), July (middle bottom), October (bottom), for C3S data (left), IEA (middle), and their difference (C3S - IEA) (right). In the C3S and IEA plots, a constant colour scale is used for values between 0 and 5 °C, while a logarithmic colour scale is adopted above 5 °C to improve visual resolution in regions with low to moderate CDD magnitudes.
Figure 2.5: Comparison of IEA Electricity Load and EDD for selected countries outside the ENTSO-E network.
Figure 2.6: Comparison of IEA and ENTSO-E Electricity Load and EDD for selected countries belonging to the ENTSO-E network.
Table 2.1 Minima and maxima of HDD and CDD bias (C3S – IEA) for selected months (January, April, July and October).
Indicator | Min/Max [C°] | Month | |||
|---|---|---|---|---|---|
1 | 4 | 7 | 10 | ||
HDD Bias | Min | -63.89 | -74.57 | -64.62 | -72.47 |
Max | 87.07 | 90.65 | 108.27 | 96.47 | |
CDD Bias | Min | 49.13 | -52.28 | -66.04 | -65.45 |
Max | 99.35 | 94.74 | 88.85 | 104.47 | |
Table 2.2: Pearson correlation coefficients among the ENTSO-E, IEA loads and the EDD proxy for selected countries.
Country | Load ENTSO-E vs EDD | Load ENTSO-E vs IEA | Load IEA vs EDD |
|---|---|---|---|
Australia | 0.29 | ||
Canada | 0.89 | ||
France | 0.96 | 1.00 | 0.96 |
Japan | 0.66 | ||
Mexico | 0.14 | ||
Norway | 0.33 | 0.99 | 0.95 |
2.3. Output Data
The model provides national-level (ADM0) time series of Heating Degree Days (HDD), Cooling Degree Days (CDD), and their sum (Energy Degree Days, EDD). Data are available at monthly, seasonal, and annual resolutions, following the Temporal Aggregation Procedure.
Please note: EDD—including both HDD and CDD—is aggregated by summing rather than averaging. This approach reflects the cumulative nature of heating and cooling needs over time and ensures that seasonal and annual totals accurately represent overall energy demand.
3. References
For the references, please refer to the References section in the Product User Guide.



































