Skip to content
OnlyProjects
M.Tech / M.E. · Data ScienceFor educational purposes only
Code included

Short-Term Electricity Demand Forecasting for Karnataka: A Walk-Forward Model Comparison Study

Day-ahead demand forecasts for the Karnataka grid — baselines versus ML, judged by honest walk-forward validation

Mapped to your syllabusVTU M.Tech 2022 Scheme · 22SXX41 Project Work Phase-2 · Semester 4

Overview

1 min read

KDFF (Karnataka Day-Ahead Demand Forecaster) is a research study that builds and rigorously compares day-ahead electricity-demand forecasting models for the Karnataka grid, using only open, official data published by the Grid Controller of India (Grid-India) and the NITI Aayog India Climate & Energy Dashboard (ICED).

Karnataka's power system has changed fast: peak demand crossed 17,000 MW in FY 2024-25 and keeps setting records, while a rapidly growing solar fleet reshapes the evening "net load" ramp. Distribution companies such as BESCOM must schedule generation and day-ahead-market purchases one day in advance, so forecast error converts directly into deviation-settlement charges and costly last-minute purchases.

The study frames three research questions and answers them with a proper evaluation protocol rather than a single train/test split: (1) how much a feature-based machine-learning model improves on seasonal-naive and SARIMAX baselines at the 24-hour horizon; (2) whether temperature data earns its place in the feature set; (3) where forecasts fail — summer heat waves, festival days — and what that means for discom scheduling.

Models include seasonal-naive, SARIMAX, random forest and histogram gradient boosting, evaluated with rolling-origin (walk-forward) validation, MAPE/RMSE/sMAPE and Diebold–Mariano significance tests. The deliverable is a paper-style study: a clean dataset, a reproducible pipeline, results tables with confidence in the comparison, residual diagnostics and a viva-ready analysis.

Relevant for
Karnataka
Level
Advanced · 24 weeks · solo
Common at
Visvesvaraya Technological University, Anna University, Chennai, Jawaharlal Nehru Technological University Hyderabad
Updated
Nov 2026

Syllabus alignment

VTU · M.Tech 2022 Scheme

22SXX41 · Project Work Phase-2 · Semester 4 · 18 credits · CIE 100 + SEE 100 (viva)

Subjects this project applies
  • 22RMI16 Research Methodology & IPR
  • Project Work Phase-1 (22SXX34): literature survey and problem formulation
  • Python programming (M.Tech lab coursework)
  • Data Science electives: machine learning and time-series/statistical methods (Sem 1–2)
How it is evaluated

50 : 25 : 25 (report : presentation : Q&A)

Also fits: Anna University M.E. Regulation 2021, JNTUH M.Tech R22.

What's in the box

11 parts · 5 free · 2 previewed · 4 unlock for ₹2,000

Problem & synopsis

5 min read

Problem statement

Karnataka's discoms and load dispatch centres plan day-ahead power procurement without a rigorous, locally validated demand-forecasting model: scheduling relies on last year's curves and manual heuristics, while published forecasting research rarely transfers to an Indian state-level, open dataset and often reports results from a single arbitrary train/test split that overstates accuracy. There is no public, reproducible study that (a) builds a clean hourly demand dataset for Karnataka from official Grid-India sources, (b) compares classical statistical and machine-learning models under a rolling-origin protocol that mimics real day-ahead operation, and (c) tests whether observed differences between models are statistically significant rather than artefacts of one split. This dissertation fills that gap with an auditable pipeline, a pre-declared evaluation protocol, significance-tested model comparisons and an error analysis focused on the periods that matter operationally — summer peaks and festival days.

Synopsis

Abstract

This dissertation compares statistical and machine-learning models for day-ahead (24-hour-ahead) forecasting of electricity demand in the Indian state of Karnataka. An hourly demand series for the state is assembled from official Grid-India publications and the NITI Aayog ICED dashboard, cleaned into a reliable dataset, and used to evaluate five forecasting approaches under a rolling-origin (walk-forward) protocol. Gradient-boosted trees with calendar, lag and temperature features beat the strongest statistical baseline by a clear, statistically significant margin; the study quantifies the gain, locates the residual failures and releases the full pipeline.

Introduction

Every morning, Karnataka's load dispatch centres and discoms must commit to tomorrow's power: how much to schedule from central generating stations, what to buy on the day-ahead market, and where solar and wind output will land against demand. Demand met has grown to record peaks above 17,000 MW; planning mistakes are expensive in both directions — under-commitment forces costly real-time purchases, over-commitment wastes capacity. A trustworthy day-ahead demand forecast is therefore a working tool, not an academic exercise.

Existing system and literature gap

Published short-term load forecasting research is dominated by single-country or US/European datasets, and much of the Indian work either uses small private datasets or reports one favourable train/test split, which flatters complex models. Industry practice at discoms still leans on spread-sheet heuristics and last-year curves. What is missing — and what this study provides — is a head-to-head, statistically tested comparison on a fully open, auditable Indian state-level dataset, with the evaluation protocol (rolling origin, refit policy, metrics, significance tests) fixed before results are produced, in the spirit of research-methodology practice taught in 22RMI16.

Proposed work

  • Assemble an hourly Karnataka demand series from Grid-India daily reports / ICED exports; document every cleaning decision (missing hours, load-shedding days, lockdown period flags).
  • Engineer calendar features (hour, day-of-week, festival calendar), lag features, rolling statistics and optional daily maximum temperature.
  • Implement seasonal-naive and weekly-naive baselines, SARIMAX with daily seasonality, random forest and histogram gradient boosting; keep an optional sequence model as a stretch goal.
  • Evaluate all models with an expanding-window walk-forward loop that mimics real day-ahead operation, reporting MAPE, RMSE and sMAPE per fold, aggregate mean ± standard deviation, Diebold–Mariano tests for pairwise differences, and an ablation without weather features.
  • Analyse residual structure (ACF, Ljung–Box) and error concentration across seasons and festival days.

Feasibility

  • Technical: the entire pipeline runs on a 16 GB laptop; statsmodels and scikit-learn cover every model; hourly data for two to three years is a few million rows at most, comfortably handled by pandas with an SQLite cache.
  • Data: demand data are official and free (Grid-India daily reports, ICED); temperature comes from public weather archives — no paid data is required.
  • Economic: zero licence cost; compute is a personal laptop.
  • Operational (research): the protocol is fully scripted, so every number in the report regenerates with two commands — the audit trail examiners ask for.

Objectives

  1. 01Assemble and document a clean hourly electricity-demand dataset for Karnataka from Grid-India daily reports and ICED dashboard exports, with every imputation and flag recorded.
  2. 02Design a feature set covering calendar effects (hour, weekday, festival calendar), lag/rolling statistics and daily temperature, and quantify each group's contribution by ablation.
  3. 03Implement seasonal-naive, weekly-naive, SARIMAX, random forest and histogram gradient boosting forecasters in a common, reproducible pipeline.
  4. 04Evaluate all models with a rolling-origin (walk-forward) day-ahead protocol using MAPE, RMSE and sMAPE, reporting per-fold and aggregate results.
  5. 05Apply Diebold–Mariano tests to establish whether model differences are statistically significant, not split-dependent luck.
  6. 06Characterise when forecasts fail — summer heat waves, festivals, load-shedding days — through residual diagnostics and seasonal error breakdowns.
  7. 07Release the dataset build, training and evaluation code so that every reported number regenerates from source data in two commands.

Scope

In scope

  • State-level hourly demand met for Karnataka, 2–3 years up to the most recent complete month; 24-hour-ahead (day-ahead) horizon.
  • Models: seasonal-naive, weekly-naive, SARIMAX (daily seasonality), random forest, histogram gradient boosting; one sequence model (e.g. a small recurrent network) only as an optional stretch goal.
  • Features: calendar/festival, lags and rolling statistics, daily maximum temperature for Bengaluru (ablation-tested).
  • Evaluation: expanding-window walk-forward with daily refit policy options, MAPE/RMSE/sMAPE, Diebold–Mariano tests, residual diagnostics.

Out of scope

  • Circle- or substation-level (discom-internal) data — only state-aggregate public data is used.
  • Probabilistic/quantile forecasting and multi-day horizons beyond day-ahead.
  • Live production deployment inside a discom; the study stops at validated models and a deployment discussion.
  • Weather-model output (numerical weather prediction pipelines); a single observed-temperature feature suffices for the ablation.

Methodology

The work follows a quantitative, comparative-experimental research design executed in the incremental phases expected of an M.Tech dissertation, with the evaluation protocol frozen before the first model is scored (a deliberate 22RMI16 discipline to avoid unconscious protocol-fitting).

PhaseWeeksActivitiesDeliverable
Literature survey & problem formulation1–4Survey load-forecasting literature (statistical, feature-based ML, deep sequence models) and Indian grid data sources; fix research questions and protocolSurvey chapter, protocol pre-declaration
Data engineering5–8Download Grid-India/ICED data; parse, align, de-duplicate; handle missing hours and load-shedding/lockdown flags; build SQLite cacheDocumented dataset + data-quality report
Feature engineering & baselines9–12Build calendar, lag, rolling and temperature features; implement naive and SARIMAX baselines; sanity-check against published load patternsFeature store + baseline results
ML models & walk-forward evaluation13–17Train random forest and histogram gradient boosting; run the rolling-origin harness for all models; compute metrics per foldFull results tables
Statistical analysis18–20Diebold–Mariano pairwise tests, ablation without temperature, residual ACF/Ljung–Box, seasonal and festival error breakdownAnalysis chapter with significance tables
Writing & defence prep21–24Final report in VTU format, paper-style results section, slides, demo of the pipeline; Phase-2 viva preparationDissertation, presentation

Validation inside the study: unit tests for feature functions and metric implementations, a holdout period excluded from all development until the final run, and a reproducibility check (re-running the pipeline from raw downloads must reproduce the results tables bit-for-bit up to library-version notes).

Architecture & tech stack

1 diagram · 8 technologies · 1 min read

  • Python
  • pandas
  • NumPy
  • statsmodels
  • scikit-learn
  • Matplotlib
  • Jupyter Notebook
  • SQLite (pipeline cache)

The pipeline is a linear, fully scripted research workflow with an explicit cache, so that expensive steps are never silently repeated and every intermediate artefact is inspectable.

flowchart TD
  A["Grid-India daily reports + ICED exports"] --> B["Ingest and parse<br/>raw hourly demand"]
  W["Public temperature archive"] --> B
  B --> C["Cleaning and flags<br/>missing hours, load-shedding, lockdown"]
  C --> D[("SQLite cache:<br/>verified hourly series")]
  D --> E["Feature builder<br/>calendar, lags, rolling, temperature"]
  E --> F["Model zoo<br/>naive, SARIMAX, RF, HistGB"]
  F --> G["Walk-forward harness<br/>expanding window, 24 h horizon"]
  G --> H["Metrics: MAPE, RMSE, sMAPE"]
  G --> I["Diebold-Mariano tests"]
  H --> J["Results tables and diagnostics<br/>plots, ACF, seasonal breakdown"]
  I --> J

Three design decisions matter for the viva. First, the dataset cache is versioned: the cleaning script writes the series and its flags to SQLite, and every later stage reads only that artefact, so a cleaning bug cannot silently leak into already-published tables. Second, the walk-forward harness owns all model scoring — models never see a metric computed outside the harness — which makes protocol tampering structurally impossible and lets the pre-declared protocol be quoted verbatim in the dissertation. Third, the analysis layer separates point forecasts (metrics), model comparison (Diebold–Mariano tests on the paired daily forecast errors) and diagnostics (residual ACF and seasonal error breakdowns), mirroring the structure of the results chapter: one table per question, each reproducible by a single script.

The harness itself is small but strict: for each evaluation day it trains on all history strictly before that day (expanding window), forecasts the next 24 hours, stores the paired errors of every model, and rolls forward one day. Refit frequency (daily for statistical models, weekly for tree ensembles) is a recorded configuration, not an ad-hoc choice.

Modules

5 modules

  1. Module 01

    Data acquisition and parsing

    Downloads and parses state-wise hourly demand from Grid-India daily reports and ICED exports into a raw store; validates row counts against published daily peaks; records every source file with its download date so the dataset build is auditable from the raw PDFs/CSVs upward.

  2. Module 02

    Cleaning, flags and SQLite cache

    Aligns timestamps, repairs duplicated hours, imputes short gaps with documented rules and flags structural anomalies (load-shedding days, festival dates, lockdown period) as separate boolean columns rather than deleting them, writing one versioned, verified hourly series to the SQLite cache.

  3. Module 03

    Feature engineering

    Builds calendar features (hour, day-of-week, month, festival indicator), demand lags (24 h, 48 h, 168 h), rolling means and standard deviations, and a daily-temperature feature; exposes each group behind a flag so the ablation study can switch feature families on and off cleanly.

  4. Module 04

    Model zoo and walk-forward harness

    Implements seasonal-naive, weekly-naive, SARIMAX (statsmodels), random forest and histogram gradient boosting (scikit-learn) behind one interface; the harness runs the expanding-window rolling-origin loop with a configurable refit policy and emits paired per-day forecast errors for every model.

  5. Module 05

    Evaluation and statistical analysis

    Computes MAPE, RMSE and sMAPE per fold and in aggregate, runs Diebold–Mariano pairwise tests with the chosen loss differential, performs the temperature ablation, and produces residual diagnostics (ACF, Ljung–Box) plus seasonal and festival error breakdowns as publication-ready tables and figures.

Slides

13 slides · titles free · bullets, notes and the .pptx unlock

  1. Slide 1

    Short-Term Demand Forecasting for Karnataka

  2. Slide 2

    Why forecast the Karnataka grid?

  3. Slide 3

    Research questions

  4. Slide 4

    Gap in existing work

  5. Slide 5

    Data: official and open

  6. Slide 6

    Features

  7. Slide 7

    Models

  8. Slide 8

    Evaluation protocol

  9. Slide 9

    Results

  10. Slide 10

    Error analysis

  11. Slide 11

    Threats to validity and limitations

  12. Slide 12

    Conclusion & future scope

  13. Slide 13

    References & artefacts

Bullets, speaker notes and the .pptx · ₹2,000

The titles above are the real outline. The rest is what you present from.

Unlock for ₹2,000

Viva questions & answers

3 of 17 answered free · 14 unlock

Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.

  1. 01Concept

    What is your project's novelty, given that load forecasting is a mature field?

    The novelty is not a new model but a rigorous, open comparison: a documented Karnataka hourly dataset built from official Grid-India and ICED sources, a pre-declared rolling-origin evaluation protocol, and Diebold–Mariano significance tests on the model comparison. Most accessible Indian studies report single-split results on private data; this study is auditable end to end and answers whether the ML gain is real or split-dependent.

  2. 02Concept

    Why is a single train/test split inadequate for this problem?

    Because demand has strong seasonality and drift, an arbitrary split lets the model accidentally fit the test period's regime, and one number carries huge variance — a lucky split can make a weak model look excellent. Rolling-origin evaluation scores every model on many consecutive days with a strictly expanding training window, mimicking real day-ahead operation and giving a distribution of errors instead of a single, fragile point estimate.

  3. 03Concept

    What exactly does the Diebold–Mariano test tell you?

    It tests whether the mean difference in forecast accuracy between two models, computed on the same evaluation days with the same loss function, is statistically distinguishable from zero — accounting for autocorrelation in forecast errors. It converts 'gradient boosting scored 0.4 MAPE points lower' into a statement about whether that gap would survive a different evaluation window, which is the difference between a leaderboard and a research finding.

+14 more questions, with answers

Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.

Source code & how to run

1 step · complete source code · unlocks with the project

Unlocks with the project · ₹2,000

1 step · source code zip

Prerequisites, install, seed data and tests, written for demo day. Plus the complete source.

Unlock for ₹2,000

READMEFIRST

272 words · unlocks with the project

What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.

Unlocks with the project · ₹2,000

272 words · ~1 min read

The checklist of things to rename, re-seed and re-think so the project reads as yours.

Unlock for ₹2,000

Instructions

294 words · unlocks with the project

How to study it, adapt it and walk your examiner through it, step by step.

Unlocks with the project · ₹2,000

294 words · ~1 min read

Report structure, formatting rules and the submission checklist your department will grade.

Unlock for ₹2,000

References

8 sources

  1. Hyndman, R. J. & Athanasopoulos, G., Forecasting: Principles and Practice, 3rd ed., OTexts (free online)
  2. Grid Controller of India Ltd. (Grid-India) — daily Power Supply Position reports and grid data
  3. NITI Aayog, India Climate & Energy Dashboard (ICED) — hourly electricity demand
  4. statsmodels User Guide — SARIMAX and time-series analysis
  5. scikit-learn User Guide — ensemble regressors and model evaluation
  6. pandas Documentation — time series and resampling
  7. Diebold, F. X. & Mariano, R. S. (1995), "Comparing Predictive Accuracy", Journal of Business & Economic Statistics, 13(3), 253–263
  8. Bishop, C. M., Pattern Recognition and Machine Learning, Springer, 2006

Cite this bundle

OnlyProjects. (2026). Short-Term Electricity Demand Forecasting for Karnataka: A Walk-Forward Model Comparison Study: M.Tech / M.E. Data Science project bundle [Educational resource]. https://onlyprojects.online/projects/mtech-ds-karnataka-demand-forecast-walk-forward

Future scope

1 min read

  • Extend to probabilistic day-ahead forecasts (quantile regression / conformal intervals) so discoms can plan reserve margins, not just point demand.
  • Add circle/discom-level disaggregation and net-load forecasting as solar penetration grows.
  • Online learning: models that refit themselves nightly inside a discom's data feed, with drift monitoring.
  • Replicate the full study for two more states to test whether the model ranking transfers across climates and load mixes.

Keep browsing

Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.

M.Tech / M.E.

Aerospace / Aeronautical

NACA 0012 Airfoil CFD Validation Study Against XFOIL with Mesh Convergence

A mesh-converged OpenFOAM study of the NACA 0012 aerofoil validated against XFOIL and NASA's turbulence-modelling reference data

  • OpenFOAM v12 (finite-volume CFD, SA and k-ω SST models)
  • XFOIL 6.99 (panel method with integral boundary layer)
  • Gmsh and blockMesh for structured C-grid generation
  • +3

advanced24 wkSolo