Skip to content
OnlyProjects
M.Sc · Data ScienceFor educational purposes only

Forecasting Tamil Nadu's Daily Peak Electricity Demand: SARIMA versus Gradient Boosting on Grid-India Data

An 11-year open-data dissertation on Tamil Nadu's daily peak demand, with weather covariates and honest walk-forward testing

Mapped to your syllabusBharathiar University M.Sc CS 2023-24 · Project Work & Viva-Voce · Semester 4

Overview

1 min read

Forecasting Tamil Nadu's Daily Peak Electricity Demand is an advanced data-science dissertation that builds and rigorously compares two families of forecasting models — classical seasonal ARIMA and gradient-boosted decision trees — on eleven years of publicly reported grid data for Tamil Nadu.

Every day, Grid-India (Power System Operation Corporation) publishes how much electricity each state actually consumed and how high its demand peaked. A research dataset scraped from those daily reports (Zenodo DOI 10.5281/zenodo.14983362, CC BY 4.0) provides daily energy met (MU), peak demand met (MW) and peak shortage (MW) for every Indian state from 2014 to 2024, bundled with matching daily weather variables such as temperature, dewpoint and solar radiation. This dissertation uses the Tamil Nadu series to answer a practical question: how far ahead can daily peak demand be forecast, and does a machine-learning model genuinely beat a well-tuned SARIMA baseline?

The study walks through the full data-science workflow: quality control of the raw series, decomposition of trend and multiple seasonalities (weekly, annual), feature engineering with lags and calendar variables, careful walk-forward backtesting at 1-, 7- and 14-day horizons, and error analysis of failure days (heat waves, holidays, cyclone outages). The deliverables — reproducible notebooks, a backtest report with MAPE/RMSE tables, and a written dissertation — make it a defensible M.Sc project for the Project Work & Viva-Voce slot, with no dependence on proprietary data or private code.

Relevant for
Tamil Nadu
Level
Advanced · 22 weeks · solo
Common at
Bharathiar University, University of Madras
Updated
Nov 2026

Syllabus alignment

Bharathiar University · M.Sc CS 2023-24

Project Work & Viva-Voce · Semester 4 · 8 credits · 200 (project 100 + viva 50 + …)

Subjects this project applies
  • Data Mining Lab in R
  • Artificial Intelligence & Machine Learning
  • Data Science
  • Python programming
  • Statistics for data analysis
How it is evaluated

See your department's project guidelines.

Also fits: University of Madras PG CBCS.

What's in the box

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

Problem & synopsis

5 min read

Problem statement

Tamil Nadu's grid operators must commit to generation schedules and day-ahead power purchases without knowing exactly what tomorrow's peak demand will be; under-forecasting forces expensive last-minute market purchases, while over-forecasting wastes contracted capacity. Published forecasting studies for Indian states rarely allow their claims to be checked: they use private or unshared data, evaluate with random train–test splits that leak future information into training, and seldom compare against a proper statistical baseline. There is no widely available, leakage-free, state-level evidence on how far ahead daily peak demand in Tamil Nadu can realistically be forecast and on whether machine-learning models genuinely outperform a well-specified SARIMA once evaluation is done honestly. This dissertation fills that gap with an openly licensed 11-year daily series, a pre-specified walk-forward protocol, and a failure-day analysis that tells operators when the models break, not just how often on average.

Synopsis

Abstract

State load dispatch centres must plan generation and day-ahead procurement against a demand they can only estimate. For Tamil Nadu — a state whose daily peak swings with monsoon temperatures, agricultural pumping and industrial load — even a small improvement in forecast accuracy translates into better procurement decisions and fewer emergency purchases. This dissertation develops daily peak-demand forecasting models for Tamil Nadu from an open, per-state dataset derived from Grid-India daily reports (2014–2024) and tests whether gradient boosting beats classical SARIMA at 1-, 7- and 14-day horizons under a walk-forward evaluation protocol.

Introduction

Electricity demand is one of the most studied forecasting problems in the time-series literature, yet state-level studies for India remain thin; most published Indian work uses either national series or single-city smart-meter data. Meanwhile, Grid-India has published daily state-wise supply statistics for over a decade, and a curated, quality-controlled version of those reports — including paired meteorological variables — is now openly licensed. That combination makes a reproducible state-level forecasting study possible for a master's student without access to utility SCADA systems.

Existing system / literature gap

Utility-grade short-term load forecasting research is dominated by (a) statistical models — ARIMA and its seasonal variants, exponential smoothing, and regression with weather terms — and (b) machine-learning models — random forests, gradient boosting and neural networks. Published comparisons disagree: ML models win on large, weather-sensitive series, while SARIMA remains competitive when the history is short or the evaluation is careless (random train–test splits that leak information). Indian state-level studies frequently suffer from exactly that flaw, and rarely release their data or code, so their claims cannot be checked. The gap this project fills: a documented, leakage-free, rolling-origin comparison on a public Tamil Nadu series, with the failure days analysed rather than hidden in an average error score.

Proposed study

  • Data: the Zenodo dataset's Tamil_Nadu.csv — daily energy met (MU), peak met (MW), peak unmet (MW), and daily temperature, solar radiation and cloud cover, 2014–2024 — plus a calendar of Tamil Nadu public holidays.
  • Models: seasonal-naive baseline; SARIMA with weekly and annual seasonality; random forest and gradient boosting (XGBoost) with lag, rolling-mean, holiday and weather features.
  • Evaluation: rolling-origin walk-forward backtesting (retrain windows expanding yearly), 1-, 7- and 14-day horizons, scored with MAPE, RMSE and skill score against the seasonal-naive baseline, with error decomposition for the worst 20 forecast days.
  • Deliverables: reproducible Jupyter/R Markdown notebooks, a results chapter with forecast-versus-actual plots, an error taxonomy (heat-wave days, monsoon transitions, holidays), and the dissertation report for the viva-voce.

Feasibility

  • Technical: the dataset is a few megabytes of CSV; all models run on a standard laptop using statsmodels and scikit-learn/XGBoost. Nothing needs a GPU or a paid API.
  • Economic: zero cost — the data is CC BY 4.0 licensed and every software component is open source.
  • Operational: the study is self-contained secondary-data research; the only risk is minor gaps in the scraped series, which the quality-control work-package handles and documents.

Objectives

  1. 01Acquire and quality-control the daily Tamil Nadu electricity series (energy met, peak demand met, peak unmet) and paired weather variables for 2014–2024 from the open Zenodo dataset.
  2. 02Characterise the series statistically: trend, weekly seasonality, annual seasonality, holiday effects and structural shifts such as the 2020 lockdown.
  3. 03Engineer a documented feature set — lag features, rolling statistics, calendar/holiday dummies and weather covariates — shared by all machine-learning models.
  4. 04Fit a SARIMA model with identified orders and diagnostic checks (ACF/PACF, Ljung–Box residuals) as the classical baseline.
  5. 05Train random forest and XGBoost regressors with walk-forward cross-validated hyperparameter tuning, strictly respecting time order.
  6. 06Evaluate all models at 1-, 7- and 14-day horizons with rolling-origin backtesting and report MAPE, RMSE and skill score versus the seasonal-naive baseline.
  7. 07Analyse the worst-performing days and classify forecast failures into an interpretable error taxonomy (heat waves, holidays, monsoon transition, outage events).
  8. 08Publish reproducible notebooks, a dissertation report and a viva-ready results chapter.

Scope

In scope

  • Single state (Tamil Nadu), single target variable for headline results: daily peak demand met (MW); daily energy met (MU) analysed as a secondary target.
  • Public secondary data only: the Zenodo Grid-India-derived dataset (2014–2024) plus published holiday calendars.
  • Model families: seasonal-naive baseline, SARIMA (statsmodels), random forest and XGBoost (scikit-learn/XGBoost).
  • Horizons: 1, 7 and 14 days ahead; evaluation by rolling-origin walk-forward backtesting.
  • Deliverables: reproducible notebooks, figures, dissertation, viva presentation.

Out of scope

  • Intraday or hourly load forecasting (the public dataset is daily).
  • Discom-level or feeder-level disaggregation; demand-response modelling; price forecasting.
  • Deep-learning architectures (LSTM/transformer) — noted as future work; the comparison is deliberately classical-ML versus statistical to keep the experimental design clean.
  • Rebuilding the dataset from raw Grid-India PDFs (the curated CC BY 4.0 version is used and cited).

Methodology

Research design: quantitative, comparative time-series study with a pre-specified evaluation protocol (rolling-origin walk-forward backtesting). There is no human participant involvement, so no ethics clearance is required; the dataset is used under its CC BY 4.0 licence with attribution.

PhaseWeeksActivitiesOutput
1. Literature review & proposal1–3Survey load-forecasting literature (statistical and ML), finalise research questions and protocolSynopsis and proposal presentation
2. Data acquisition & QC4–6Download Zenodo Tamil_Nadu.csv; audit missing/duplicate days; cross-check sampled months against Grid-India daily reports; build holiday calendarClean analysis table + QC log
3. Exploratory analysis7–8STL decomposition, ACF/PACF, distribution of peaks by month and weekday, 2020-lockdown structural breakEDA notebook + figures
4. Baselines & SARIMA9–11Seasonal-naive; SARIMA order identification and residual diagnosticsBaseline scores
5. ML models12–14Feature engineering; random forest and XGBoost with time-series cross-validation for tuningTuned models + feature importance
6. Walk-forward evaluation15–17Rolling-origin backtest at 1/7/14-day horizons; MAPE/RMSE/skill-score tables; failure-day taxonomyResults chapter draft
7. Writing & viva prep18–22Dissertation writing, reproducibility pass (rerun notebooks end-to-end), PPT and mock vivaFinal submission

Instruments and analysis plan: Python (pandas, statsmodels, scikit-learn, XGBoost) in Jupyter notebooks with fixed random seeds; model comparison via a single scoring script so no result is computed twice differently. Sampling is a complete census of available days (~4,000), not a sample; every gap is documented rather than silently interpolated.

Study design

1 diagram · 6 tools · 1 min read

  • Python 3 (pandas, statsmodels, scikit-learn)
  • R (Data Mining Lab coursework)
  • Jupyter Notebook / R Markdown
  • Grid-India state demand dataset (Zenodo, CC BY 4.0)
  • Matplotlib / ggplot2
  • MS Excel (summary tables)

Although this is a research study rather than a software product, the workflow is still an engineered pipeline, and drawing it keeps the data flow honest — every arrow below is a notebook step that can be rerun from scratch.

flowchart TD
  A["Grid-India daily reports (source)"] --> B["Zenodo dataset 10.5281/zenodo.14983362"]
  B --> C["QC: missing days, duplicates, outliers"]
  C --> D["Clean Tamil Nadu daily table (2014–2024)"]
  D --> E["EDA: STL decomposition, ACF/PACF"]
  D --> F["Feature engineering: lags, rolling means, holiday and weather features"]
  E --> G["SARIMA (statsmodels)"]
  F --> H["Random forest + XGBoost (scikit-learn)"]
  F --> I["Seasonal-naive baseline"]
  G --> J["Walk-forward backtest: 1 / 7 / 14-day horizons"]
  H --> J
  I --> J
  J --> K["MAPE, RMSE, skill score tables"]
  J --> L["Failure-day taxonomy (heat wave, holiday, monsoon)"]
  K --> M["Dissertation results chapter + viva deck"]
  L --> M

Three design decisions are visible in the diagram. First, quality control sits before any modelling: the series was scraped from human-readable reports, so a documented QC log (which days are missing and why) protects every downstream number. Second, all three model families draw from the same cleaned table but not the same feature set — SARIMA uses only the demand history, while the tree models additionally use engineered lags and weather covariates — which is itself one of the study's comparisons. Third, evaluation is a single funnel: every model passes through the identical walk-forward harness, so differences in MAPE/RMSE reflect the models, not the harness. The pipeline is deliberately notebook-per-stage so the viva can demonstrate any stage in isolation.

Work packages

7 packages

  1. Package 01

    WP1 — Data acquisition and quality control

    Downloads the CC BY 4.0 Zenodo dataset, audits the Tamil Nadu table for missing or duplicated days, reconciles a random sample of months against Grid-India's published daily reports, and produces a QC log plus a clean analysis table with an explicit day-index and holiday calendar.

  2. Package 02

    WP2 — Exploratory analysis and seasonality decomposition

    STL decomposition into trend, weekly and annual components; ACF/PACF inspection; peak-demand distributions by month, weekday and holiday status; documentation of structural breaks such as the 2020 lockdown and the demand acceleration of 2022–2024.

  3. Package 03

    WP3 — Feature engineering

    Builds the shared ML feature set: lag features at 1/7/14/364 days, rolling means and standard deviations, day-of-week and month encodings, holiday flags, and weather covariates (temperature, dewpoint, solar radiation), each documented with its justification and leakage analysis.

  4. Package 04

    WP4 — Classical baseline: seasonal-naive and SARIMA

    Implements the seasonal-naive forecast (same weekday last week, same month last year) and identifies/fits SARIMA orders from the diagnostics of WP2, including residual Ljung–Box checks, so the statistical baseline is as strong as a careful analyst would make it.

  5. Package 05

    WP5 — Machine-learning models: random forest and XGBoost

    Trains tree ensembles on the WP3 features with hyperparameter search inside time-series cross-validation (expanding window), fixed seeds, and feature-importance reporting; includes an explicit test that no future information can enter the training rows.

  6. Package 06

    WP6 — Walk-forward evaluation and failure analysis

    Runs the rolling-origin backtest at 1-, 7- and 14-day horizons for all models, computes MAPE/RMSE and skill score versus the seasonal-naive baseline, and decomposes the worst 20 days into an error taxonomy (heat waves, holidays, monsoon transition, grid events).

  7. Package 07

    WP7 — Dissertation, reproducibility and viva

    Writes the report (introduction, literature, methodology, results, conclusion), re-runs every notebook end-to-end on a clean machine to prove reproducibility, generates final figures, and prepares the viva-voce presentation with anticipated examiner questions.

Slides

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

  1. Slide 1

    Forecasting Tamil Nadu's Daily Peak Electricity Demand

  2. Slide 2

    Why forecast state-level peak demand?

  3. Slide 3

    Research questions

  4. Slide 4

    Data

  5. Slide 5

    Exploratory findings

  6. Slide 6

    Models compared

  7. Slide 7

    Evaluation: walk-forward backtesting

  8. Slide 8

    Results

  9. Slide 9

    Failure-day analysis

  10. Slide 10

    Reproducibility

  11. Slide 11

    Limitations

  12. Slide 12

    Conclusion & future scope

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 16 answered free · 13 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 SARIMA and why is it the right classical baseline here?

    SARIMA extends ARIMA with seasonal autoregressive, differencing and moving-average terms, so it can model both the weekly and annual cycles visible in daily demand. It is the right baseline because it uses only the demand history, is fully interpretable, and represents the careful statistical approach a discom analyst would actually take — making any ML win meaningful rather than a victory over a straw man.

  2. 02Concept

    Why is a random train–test split wrong for time-series evaluation?

    A random split places training rows after some test rows in time, so models can memorise future demand — including tomorrow's value appearing in another row's lag features — and report unrealistically low error. Walk-forward backtesting preserves time order: the model always trains only on the past and is scored on genuinely unseen future windows, which is why this study uses rolling-origin evaluation.

  3. 03Concept

    What is data leakage in feature engineering, and where did you guard against it?

    Leakage is any information in the training features that would not be available at prediction time. In this project the danger points were rolling statistics that include the current day, weather variables that are only measured after the fact, and holiday calendars built from the full period. I guarded against them by shifting rolling windows to end at t−1, using lagged/weather-forecast-style covariates, and documenting each feature's availability time in the feature log.

+13 more questions, with answers

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

How to reproduce the study

1 step · unlocks with the project

Unlocks with the project · ₹2,000

1 step

Every step to carry the project out with the tools in the tech stack, in order.

Unlock for ₹2,000

READMEFIRST

289 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

289 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

290 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

290 words · ~1 min read

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

Unlock for ₹2,000

References

7 sources

  1. Hunt & Bloomfield — Daily electricity demand data for Indian states (2014–2024), Zenodo, DOI 10.5281/zenodo.14983362 (CC BY 4.0)
  2. Grid-India (Power System Operation Corporation Ltd.) — daily load generation balance and power supply position reports
  3. Hyndman, R.J. & Athanasopoulos, G., Forecasting: Principles and Practice, 3rd ed., OTexts
  4. Chen, T. & Guestrin, C., XGBoost: A Scalable Tree Boosting System, Proc. 22nd ACM SIGKDD, 2016
  5. Breiman, L., Random Forests, Machine Learning 45(1), 2001
  6. scikit-learn documentation — time-series cross-validation and model evaluation
  7. NITI Aayog — India Climate & Energy Dashboard (ICED): state-level electricity load curves

Cite this bundle

OnlyProjects. (2026). Forecasting Tamil Nadu's Daily Peak Electricity Demand: SARIMA versus Gradient Boosting on Grid-India Data: M.Sc Data Science project bundle [Educational resource]. https://onlyprojects.online/projects/msc-ds-tn-daily-peak-demand-sarima-gradient-boosting

Future scope

1 min read

  • Add an LSTM/sequence model so the comparison spans statistical, tree-ensemble and deep-learning families on identical folds.
  • Extend to all states in the dataset to ask a generalisation question: does the SARIMA-vs-boosting ranking hold across climatic zones?
  • Disaggregate the study to intraday horizons when hourly data becomes openly available, and link shortage days (peak unmet) to forecast error.
  • Build a small decision-support view that converts a 14-day peak forecast into day-ahead procurement hints, tested against historical market prices.

Keep browsing

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