Visualizing ESKOM Loadshedding Data

In this post I’ll share some visualizations of ESKOM Loadshedding data created in Looker Studio (Google Data Studio). Load shedding in South Africa is a method used by the country’s primary power utility, Eskom, to prevent the national electric grid from total collapse. This becomes necessary when the demand for electricity exceeds available supply.

The data used in this visualization is available on request from the ESKOM Data Portal.

Loadshedding Data (January 2019 – May 2023)

The following shows Manual Load Reduction, an official term for Loadshedding, in South Africa between January 2019 and May 2023.

The following shows Manual Load Reduction, an official term for Loadshedding, in South Africa between January 2019 and May 2023. ESKOM loadshedding.

The following shows Manual Load Reduction for each year from 2019 to May 2023.

The following shows Manual Load Reduction for each year from 2019 to May 2023.

The following shows Total Dispatchable Generation and Manual Load Reduction together on the same chart.

he following shows Total Dispatchable Generation and Manual Load Reduction together on the same chart. ESKOM loadshedding data.

The Loadshedding Looker Studio report

Below is the Interactive Looker Studio report.

An image of "Loadshedding in South Africa" created by Midjourney AI.

Above: An image of “Loadshedding in South Africa” created by Midjourney AI.

What is Loadshedding?

Load shedding in South Africa is a method used by the country’s primary power utility, Eskom, to prevent the national electric grid from total collapse. This becomes necessary when the demand for electricity exceeds available supply.

This can happen for several reasons, such as equipment failure, inadequate generating capacity, lack of fuel (such as coal or water for hydroelectricity), or routine maintenance. However, in South Africa, a significant part of the problem has been attributed to ageing infrastructure, inadequate maintenance, and delayed construction of new power stations.

Here’s how it works:

  1. Planning: Eskom and the municipalities divide their service areas into different zones or blocks. Each of these blocks is scheduled to have power cut off at different times, depending on the level of load shedding that Eskom announces.
  2. Stages: There are 8 stages of load shedding, ranging from 1 to 8. Each stage corresponds to the need to reduce demand by a particular amount, with Stage 1 being the least severe and Stage 8 being the most severe. For instance, Stage 1 requires a reduction of 1,000 MW, whereas Stage 8 requires a reduction of up to 8,000 MW.
  3. Implementation: When there is a power shortage, Eskom implements load shedding according to the predefined schedules. The duration of these power cuts typically last about 2.5 hours, with a 30-minute period in between to allow for a smoother transition as the power is restored in some areas and cut off in others. This cycle is repeated through the day for as long as the load shedding stage is active.
  4. Communication: Eskom communicates about load shedding through various channels, including the news, radio, their website, and social media. They also provide load shedding schedules that people can use to anticipate when their area might be affected.

The overall impact of load shedding in South Africa has been significant, affecting homes, businesses, and the overall economy. Efforts to address the problem have included attempts to reform Eskom, diversify the country’s energy sources, and invest in new infrastructure.

Getting the ESKOM Data into Looker Studio

  • Fill out the Data Request form on the ESKOM Data Portal
  • Wait for the email from ESKOM, then download the CSV file provided.
  • Import the CSV file into Google Sheets to change the default AM / PM timestamp into a UTC timestamp.
  • Save the Google Sheet with the correct datetime format as a CSV.
  • Upload the CSV to a Google Cloud Platform bucket.
  • Create a new Table in Google BigQuery and when importing the data from the CSV file in Google Cloud make sure the schema has the numeric columns as FLOAT not INT. Float being a number with a decimal place in it.
  • You can use the following SQL query to extract just the date, dispatchable generation and manual load reduction.
SELECT 
    DATE(`Date Time Hour Beginning`) AS Date,
    SUM(`Dispatchable Generation`) AS Total_Dispatchable_Generation,
    SUM(`Manual Load_Reduction MLR`) AS Total_Manual_Load_Reduction
FROM
    `test-projet-232813.example_data_01.ESKOM data May 2023`
GROUP BY 
    Date

You can then save the data in a Google Sheet that can serve as the basis for a Looker Studio visualization.

Loadshedding in South Africa" created by Midjourney AI.

Above: An image of “Loadshedding in South Africa” created by Midjourney AI.

My Other Blog Posts

You might enjoy some of my other blog posts.

Comparing DALL-E and Midjourney AI Images in 2024
Four in One Analytics Looker Studio Dashboard Template
Visualizing a young Africa and an aging World
Visualizing Fertility Rates across the World
GDP per Capita within African Regions