Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GridPulse: SWPP Electricity Demand Analysis

Project Overview

GridPulse is an end-to-end energy data analytics project that analyzes historical electricity demand in the Southwest Power Pool (SWPP) region.

The project retrieves historical electricity demand data from the U.S. Energy Information Administration (EIA), processes and validates the data with Python, performs exploratory analysis, and presents the results through an interactive Power BI dashboard.

The analysis currently focuses on 2024 and 2025 electricity demand patterns.

Project Objectives

The project was developed to:

  • Build an automated pipeline for extracting historical electricity demand data.
  • Clean and transform raw EIA data into an analysis-ready dataset.
  • Validate the historical dataset for data quality and continuity.
  • Analyze hourly, daily, monthly, weekday, and weekend demand patterns.
  • Compare electricity demand between 2024 and 2025.
  • Identify peak and minimum electricity demand.
  • Measure year-over-year changes in average demand.
  • Create an interactive Power BI dashboard for communicating the findings.

Power BI Dashboard

The Power BI dashboard provides an interactive view of historical SWPP electricity demand for 2024–2025.

Demand Overview

SWPP Electricity Demand Overview

The overview summarizes average, peak, and minimum electricity demand, together with hourly, monthly, weekday/weekend, and day-of-week demand patterns.

Month × Hour Demand Heat Map

SWPP Demand Heat Map

The heat map shows how average electricity demand changes across hours of the day and months of the year, making seasonal and intraday demand patterns easier to identify.

The complete interactive Power BI report is available in:

powerbi/GridPulse_SWPP_Demand_Analysis.pbix

Data Source

Data is obtained from the U.S. Energy Information Administration (EIA) API.

Region analyzed:

Southwest Power Pool (SWPP)

The dataset contains historical electricity demand observations used to examine how electricity consumption changes across hours, days, months, and years.

Technology Stack

  • Python
  • Pandas
  • EIA API
  • Power BI
  • DAX
  • Git
  • GitHub
  • Visual Studio Code

Data Pipeline

The project follows the workflow:

EIA API

Python Data Extraction

Raw Historical Data

Data Cleaning and Transformation

Data Validation

Exploratory Analysis

Power BI Dataset Preparation

Interactive Power BI Dashboard

Python Components

The main Python scripts include:

extract_historical_eia.py

Retrieves historical SWPP electricity demand data from the EIA API and stores the raw observations locally.

transform_historical_eia.py

Cleans and transforms the historical data into an analysis-ready format and performs data-range and continuity validation.

analyze_historical_eia.py

Performs analytical processing and produces summary datasets used to investigate electricity demand patterns.

prepare_powerbi_data.py

Prepares the processed electricity demand dataset for use in Power BI.

Power BI Dashboard

The Power BI report contains four analytical pages:

Demand Overview

Provides a high-level summary of SWPP electricity demand, including:

  • Average Demand
  • Peak Demand
  • Minimum Demand
  • Peak-to-Average Ratio
  • Average Demand Year-over-Year Change
  • Weekday Premium
  • Monthly demand comparison
  • Hourly demand profile
  • Weekday versus weekend demand
  • Demand by day of week

Average Demand by Hour

Shows how average electricity demand changes throughout a 24-hour period.

Heat Map

Displays average electricity demand by month and hour, making it easier to identify periods of relatively high and low demand.

Weekend vs Weekday Demand

Compares average electricity demand between weekdays and weekends.

Key Findings

The analysis shows several clear demand patterns:

  • Electricity demand varies substantially throughout the day.
  • Demand generally falls during the morning hours before increasing later in the day.
  • Summer months show some of the highest electricity demand levels.
  • Weekday demand is higher than weekend demand.
  • Average electricity demand increased from 2024 to 2025.
  • The 2025 average demand is approximately 3.7% higher than the 2024 average demand.

Dashboard Metrics

For the selected year, the dashboard dynamically calculates:

  • Average Demand
  • Peak Demand
  • Minimum Demand
  • Peak-to-Average Ratio
  • Year-over-Year Average Demand Change
  • Weekday Premium

Users can select 2024 or 2025 to examine year-specific demand behavior.

Project Structure

GridPulse/
│
├── data/
├── notebooks/
├── powerbi/
├── reports/
├── sql/
├── src/
│   ├── extract_historical_eia.py
│   ├── transform_historical_eia.py
│   ├── analyze_historical_eia.py
│   └── prepare_powerbi_data.py
│
├── .env
├── .gitignore
├── README.md
└── requirements.txt

Reproducing the Project

  1. Clone the repository.

  2. Create and activate a Python virtual environment.

  3. Install dependencies:

pip install -r requirements.txt

About

GridPulse is an end-to-end energy data analyticsEnd-to-end SWPP electricity demand analysis using EIA data, Python, DAX, and Power BI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages