Policy Analysis: the impact of COVID-19 measures on electricity markets using a panel VAR approach

The aim of this blog post is to analyze the impact of the containment measures of the COVID-19 pandemic on electricity markets. I consider two electricity market outcomes: spot prices and quantity. To this end, I use a fixed effects VAR model to model price and quantity of electricity simultaneously by using the function pvarfeols in R. I find that spot electricity prices have suffered the biggest hit (around a 7€ reduction), while reductions in electricity consumption are around 1.3%-1.5%.

Introduction

Electricity is an important input for almost all economic activities as well as to create human well-being. My expectation is that the pandemic decreases consumption of electricity worldwide due to a reduction in demand for electricity from economic activities which were forced to come to a halt. This expectation may not always be the case, as the quantity consumed is an outcome derived from quantity of electricity demanded and supplied being equal. If price of electricity drops significantly, demand for electricity may remain unchanged. This blog post analyzes the spot market of electricity, thus it has no implications towards the final uses of electricity.

The Demand and Supply of Electricity

There are two important outcomes observed by the researcher: the quantity of electricity transacted and spot price of electricity. The two observable outcomes are the result of the supply and demand of electricity intersecting, where the quantity supplied equals the quantity demanded (Buzoianu et al., 2015).

However, the supply and demand curves are latent constructs, in the sense that quantity demanded or supplied given different spot prices are not directly observable. Instead of modelling the demand and supply, I can model the two observed outcomes.

The supply curve of electricity is the merit order curve, as seen on the picture below. The merit order ranks electricity generation sources according to their cost. Power sources with very low variable costs per unit of electricity (e.g. kWh) will be used first, which usually means renewable energy sources (with almost zero variable cost). The figure illustrates an example where demand intersects the supply curve so that hydro and wind energy sources are only used to supply the needed electricity. The figure is based on the report European Wind Energy Association (2010).

diagram-20200508 (1)

In the example above the spot price of electricity will be equal to the variable cost of the third technology in the merit order curve.

Our expectation is that while measures to contain the pandemic do not affect the supply of electricity, they reduce the demand for electricity. In other words, only the demand curve for electricity shifts to the left, resulting in a new equilibrium. This is illustrated in the figure below.

diagram-20200508 (2)

Accordingly, there should be both a reduction on electricity consumption, and likely a reduction in electricity spot prices (depending on each country’s merit order). However, the effect of the pandemic might also include a change in demand for electricity throughout the day, which has additional impacts on the price of electricity. In this blog post, I only analyze the daily spot price of electricity, so I ignore hourly interactions between demand and supply.

Data

My dependent variables are price and quantity transacted of electricity in Nordic and Baltic countries. Data on historical transactions was extracted from NordPool. Our dataset comprises seven countries: Norway, Sweden, Denmark, Finland, Estonia, Lithuania and Latvia. I consider daily data for four years: 2017 to 2020.

I include four control variables that should affect electricity supply and demand: temperature and precipitation, holiday and weekend dummies. I used the psych package in R (and the describe function) to obtain the descriptive statistics of the two dependent variables and the control variables as reported in the Table below. 

Observations Mean SD Median Min Max
Consumption 8554 164239.6 155666.5 91404.5 8478 581538
Price 8561 38.6 12.41 38.11 -7.63 100.16
Weekend 8568 0.28 0.45 0 0 1
Holidays_dummy 8568 0.04 0.19 0 0 1
Temperature 8072 6.83 8.13 5.5 -20.31 27.6
Precipitation 8383 0.14 0.37 0 0 8

The inclusion of the weekend and holidays dummies is to account for their demand-shifting effect. I expect that electricity usage during both weekends and holidays is lower than regular days. It is also crucial to control for weather, such as average precipitation and temperature, as weather is expected to affect both demand and supply. I expect electricity demand to be higher with lower temperatures, and in countries with a significant share of renewables in their energy mix, it is likely that weather patterns affect electricity generation lowering costs of producing electricity. Hourly weather data is collected for the capital city of each country considered. I then aggregate hourly data into daily averages of both temperature and precipitation (using the methods described in my previous blog post).

Our variables of interest are indicator variables for the various measures implemented to contain the pandemic. These were obtained from the Coronavirus Government Response Tracker (Hale et al., 2020). The tracker includes several indicators for school closure, workplace closing, event cancellation, restrictions on gatherings, closing of public transport, stay at home requirements, restrictions on internal movement, and restrictions on international movement. Note that there is significant collinearity among these measures, as their introduction into policy making was frequently at the same point in time (in mid-March for all seven countries). Due to missing data in Hale et al. (2020), data on measures was complemented by ACAPS Government Measures dataset (namely for Lithuania and Latvia).

mean sd min max
C1_School closing 0.09 0.44 0 3
C2_Workplace closing 0.06 0.34 0 3
C3_Cancel public events 0.08 0.38 0 2
C4_Restrictions on gatherings 0.14 0.67 0 4
C5_Close public transport 0.03 0.18 0 2
C6_Stay at home requirements 0.03 0.2 0 2
C7_Restrictions on internal movement 0.05 0.32 0 3
C8_International travel controls 0.16 0.72 0 4

These variables vary from 0 to 4 according to the methods described in Hale et al. (2020). Before measures are taken, these variables take the value zero. The stronger the restrictions, the higher the index of each measure. To simplify the analysis, I transformed all these variables into dummies, taking the value 1 if the measure is in place and zero if not, regardless of the stringency of the measure.

Results

To analyze the impact of the various measures on quantity and price of electricity, I run a panel VAR model. I use daily data on electricity consumption and spot prices from 2017 to 7th May 2020 using seven countries comprising the Nordic (Norway, Sweden, Finland and Denmark) and the Baltic markets (Estonia, Lithuania and Latvia).

The dependent variables and price (P) and the log of Consumption (C). I prefer to use the log of Electricity consumption so I can more readily interpret the resulting coefficients. I account for both country, day and month fixed effects. I also use one lagged variable to predict both price and consumption.

I use the panelvar package in R (Sigmund and Ferstl, 2017) as follows:

pvar <- pvarfeols(dependent_vars = c("Price", "ln_Cons"), 
          lags=1, 
          exog_vars = c(
            "Schools","Workplace","Events","Gatherings","Pub_Travel","Stay_home","Dom_Travel","Int_Travel",
            "Weekend", "Holidays_dummy",
            "Temperature","Precipitation" , 
            "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"), 
          transformation = c("demean"),
          data = df_electricity, 
          panel_identifier = c("Country_ID", "Day_panel"))
summary(pvar)
---------------------------------------------------
Fixed Effects OLS Panel VAR estimation 
---------------------------------------------------
Transformation: demean 
Group variable: Country_ID 
Time variable: Day_panel 
Number of observations = 8568 
Number of groups = 7 
Obs per group: min = 1224 
               avg = 1224 
               max = 1224 

=========================================================
                         demeaned_Price  demeaned_ln_Cons
---------------------------------------------------------
demeaned_lag1_Price       0.7746 ***     -0.0002 ***     
                         (0.0073)        (0.0001)        
demeaned_lag1_ln_Cons    -6.6243 ***      0.6894 ***     
                         (0.8463)        (0.0067)        
demeaned_Schools          2.3991         -0.0171         
                         (1.5707)        (0.0124)        
demeaned_Workplace       -0.9493          0.0043         
                         (1.3232)        (0.0105)        
demeaned_Events           0.7579         -0.0089         
                         (1.1531)        (0.0091)        
demeaned_Gatherings      -4.4565 **       0.0187         
                         (1.5809)        (0.0125)        
demeaned_Pub_Travel      -0.9105          0.0160         
                         (1.0463)        (0.0083)        
demeaned_Stay_home        1.4416         -0.0147 *       
                         (0.8164)        (0.0065)        
demeaned_Dom_Travel      -0.1113          0.0011         
                         (0.8324)        (0.0066)        
demeaned_Int_Travel      -2.4782 **      -0.0125         
                         (0.8612)        (0.0068)        
demeaned_Weekend         -5.2275 ***     -0.0792 ***     
                         (0.1547)        (0.0012)        
demeaned_Holidays_dummy  -3.9401 ***     -0.0618 ***     
                         (0.3894)        (0.0031)        
demeaned_Temperature     -0.1983 ***     -0.0033 ***     
                         (0.0185)        (0.0001)        
demeaned_Precipitation   -1.3490 ***      0.0009         
                         (0.1954)        (0.0015)        
demeaned_February        -0.3685         -0.0070 **      
                         (0.3135)        (0.0025)        
demeaned_March           -0.3683         -0.0173 ***     
                         (0.3182)        (0.0025)        
demeaned_April            0.3204         -0.0348 ***     
                         (0.3707)        (0.0029)        
demeaned_May              0.6444         -0.0413 ***     
                         (0.4350)        (0.0034)        
demeaned_June             1.7955 ***     -0.0397 ***     
                         (0.4911)        (0.0039)        
demeaned_July             3.2498 ***     -0.0426 ***     
                         (0.5254)        (0.0042)        
demeaned_August           3.3114 ***     -0.0343 ***     
                         (0.5043)        (0.0040)        
demeaned_September        2.5441 ***     -0.0324 ***     
                         (0.4546)        (0.0036)        
demeaned_October          1.5779 ***     -0.0236 ***     
                         (0.3781)        (0.0030)        
demeaned_November         1.6488 ***     -0.0100 ***     
                         (0.3445)        (0.0027)        
demeaned_December         0.8891 **      -0.0090 ***     
                         (0.3383)        (0.0027)        
=========================================================
*** p < 0.001, ** p < 0.01, * p < 0.05

The set of coefficients in the first column represent the change in spot price of electricity, while the second column reports the effects on consumption of electricity. Our variables of interest are the meausres introduced, i.e. Schools, Workplace, Events, Gatherings, Pub_Travel, Stay_home, Dom_Travel and Int_Travel.

Only the variables representing restrictions on Gatherings and International travel are associated with a reduction in electricity prices. According to this model, the introduction of restrictions on Gatherings and Internationa travel reduces electricity prices by 4 and 2,5 euros, respectively.

As for electricity consumption, only stay at home measures (recommendations and enforcing) are associated with a reduction in electricity. If a stay at home directive is introduced or recommended, I expect electricity consumption to reduce -0.0147*100 = 1.47%. While these may seem economically insignificant impacts from the pandemic, they correspond to the following reductions in electricity in MWh for each country:

> data.frame(unique(df_electricity$Country),
             df_electricity$Consumption[df_electricity$Day_panel==1222]/(1-0.0147)-
             df_electricity$Consumption[df_electricity$Day_panel==1222])
1                             NO               5131.0057
2                             SE               5145.9698
3                             FI               3003.1982
4                             DK               1370.8910
5                             EE                296.3573
6                             LV                271.1884
7                             LT                450.6677

However, the various measures introduced to contain the pandemic were often introduced at the same point in time, thus there might not be enough variation to capture the effect of each measure.

Instead of modelling price and consumption as a function of eight dummy variables denoting the different measures, I can account only for the number of measures that are introduced (“measures“). I estimate this model as follows:

---------------------------------------------------
Fixed Effects OLS Panel VAR estimation 
---------------------------------------------------
Transformation: demean 
Group variable: Country_ID 
Time variable: Day_panel 
Number of observations = 8568 
Number of groups = 7 
Obs per group: min = 1224 
               avg = 1224 
               max = 1224 

=========================================================
                         demeaned_Price  demeaned_ln_Cons
---------------------------------------------------------
demeaned_lag1_Price       0.7800 ***     -0.0002 ***     
                         (0.0072)        (0.0001)        
demeaned_lag1_ln_Cons    -6.9842 ***      0.6918 ***     
                         (0.8407)        (0.0067)        
demeaned_measures        -0.6354 ***     -0.0016 ***     
                         (0.0572)        (0.0005)        
demeaned_Weekend         -5.2283 ***     -0.0791 ***     
                         (0.1548)        (0.0012)        
demeaned_Holidays_dummy  -3.9429 ***     -0.0616 ***     
                         (0.3897)        (0.0031)        
demeaned_Temperature     -0.2022 ***     -0.0033 ***     
                         (0.0184)        (0.0001)        
demeaned_Precipitation   -1.3611 ***      0.0008         
                         (0.1954)        (0.0015)        
demeaned_February        -0.4189         -0.0074 **      
                         (0.3127)        (0.0025)        
demeaned_March           -0.5473         -0.0175 ***     
                         (0.3142)        (0.0025)        
demeaned_April            0.2884         -0.0346 ***     
                         (0.3690)        (0.0029)        
demeaned_May              0.6068         -0.0408 ***     
                         (0.4348)        (0.0034)        
demeaned_June             1.7530 ***     -0.0393 ***     
                         (0.4910)        (0.0039)        
demeaned_July             3.1744 ***     -0.0420 ***     
                         (0.5250)        (0.0042)        
demeaned_August           3.2358 ***     -0.0338 ***     
                         (0.5040)        (0.0040)        
demeaned_September        2.4727 ***     -0.0319 ***     
                         (0.4543)        (0.0036)        
demeaned_October          1.5317 ***     -0.0233 ***     
                         (0.3781)        (0.0030)        
demeaned_November         1.6071 ***     -0.0098 ***     
                         (0.3447)        (0.0027)        
demeaned_December         0.8653 *       -0.0089 ***     
                         (0.3385)        (0.0027)        
=========================================================
*** p < 0.001, ** p < 0.01, * p < 0.05

The estimated coefficients associated with the number of measures variable are both statistically significant: -0.6354 for the price of electricity and -0.0016 for the consumption of electricity. While the introduction of an additional measure reduces the electricity price by 0.6 € per MWh, each additional measure also reduces the electricity consumption by 0.16%. In other words, the introduction of all eight measures to contain the pandemic results in a 0.16%*8 = 1.28% reduction in electricity consumption. For each country, electricity consumption reductions are estimated as follows:

NO SE FI DK EE LV LT
-1.14 % -0.81 % -1.30 % -1.30 % -0.97 % -1.14 % -1.30 %

 

The results are sensitive to the fixed effects accounted for (e.g. day, country or month), to the number of lagged variables considered (e.g. lag = 1) and control variables accounted for (e.g. weather and days off in this application).

I thus conclude that the pandemic has had a negative impact on both electricity consumption and prices, albeit the effect on electricity consumption is modest.

References: 

Hale, Thomas, Sam Webster, Anna Petherick, Toby Phillips, and Beatriz Kira. (2020). Oxford COVID-19 Government Response Tracker. Data use policy: Creative Commons Attribution CC BY standard.

Buzoianu, M., Brockwell, A., & Seppi, D. (2005). A dynamic supply-demand model for electricity prices.

Acaps.org. COVID19 GOVERNMENT MEASURES DATASET. Link: https://www.acaps.org/covid19-government-measures-dataset

Sigmund, Michael and Ferstl, Robert, Panel Vector Autoregression in R with the package panelvar (January 11, 2017).
Available at SSRN: https://ssrn.com/abstract=2896087

European Wind Energy Association. (2010). Wind energy and electricity prices. EWEA.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s