Public releaseYou are viewing an early public release. Original launch date: 18 May 2026. Please email hello@energymap.in for questions, issues, or feature requests.
SSCAtlas
← The Atlas Journal
Engineering·24 April 2026·6 min read

How accurate is EnergyMap's modeled demand?

27 of 36 Indian states and UTs don't publish realtime demand. EnergyMap infers them from NPP-metered national generation via a capacity-weighted model. Here's how that model grades against the 9 states that do publish.

EM
EnergyMap Research Team
India Energy Atlas · CIFR
Illustration · India Energy Atlas Research

India has 36 states and union territories. Only nine of them publish realtime electricity demand on their State Load Despatch Centre (SLDC) portals: Andhra Pradesh, Himachal Pradesh, Punjab, Gujarat, Karnataka, Rajasthan, Delhi, Maharashtra, and Kerala. The other 27 — including some of the country's largest load centres, like Tamil Nadu and Uttar Pradesh — do not publish a realtime demand feed at all.

If you want a nowcast of India's grid, roughly two-thirds of the country has to be inferred. The question is how well.

The question

EnergyMap fills the gap with a modeled demand layer. For every 15-minute slot we take the national generation series from NPP (the Central Electricity Authority's metered-plant feed) and allocate it to individual states using a capacity-weighted share that blends installed capacity, historical load factor, and the current fuel-mix dispatch. It's a model, not a measurement, and the honest question is: when we score it against ground truth for the nine states that do publish, how close does it get?

Methodology

We join the modeled timeseries against the official SLDC timeseries on 15-minute slots and compute per-sample absolute percentage error |modeled − official| / official. We aggregate to MAPE (mean), median, and 90th-percentile error for each of the nine states, along with a signed bias so it's clear when the model systematically over- or under-predicts. The window is rolling — last 30 days, refreshed hourly — and all values below are computed live from api.energymap.in/api/intelligence/demand-accuracy?days=30.

Comparison setup
ParameterValue
States with realtime SLDC feeds9
States covered by modeled demand36
Slot resolution15 minutes
Comparison windowLast 30 days, rolling
Error metric|modeled − official| / official

Results

Live data from the endpoint, sorted best-first by MAPE. The states near the top are where the capacity-weighted model lines up with SLDC meters almost block-for-block; the ones at the bottom are where we know there is either something the model is missing or something the upstream feed is doing that stretches the per-slot comparison (see Limitations).

Per-state accuracy · last 30 days · sorted best-first
StateSamplesMAPEMedian |err|P90 |err|BiasMean official (MW)
Andhra Pradesh1,0712.87%2.16%6.04%-0.40%11,145
Gujarat1,3333.72%3.03%7.94%-2.27%20,022
Delhi1,0246.79%6.47%13.05%-5.19%5,372
Punjab1,2397.82%5.85%18.62%-0.56%7,018
Kerala1722.56%23.67%28.09%-22.56%5,715
Karnataka1,05261.84%60.48%91.04%+61.84%14,678
Himachal Pradesh1,380215.87%216.18%231.75%+215.87%314
Aggregate across the 9 official-feed states
Samples compared7,116
Pooled MAPE54.53%
Pooled bias (modeled − official)+49.62%

What this means for the other 27 states

The nine states in the comparison span the geography and load profile of the country pretty well — northern peakers (Delhi, Punjab), a renewable-heavy west (Gujarat, Rajasthan, Maharashtra), a hydro-rich Himalayan state (Himachal Pradesh), and southern baseload (AP, Karnataka, Kerala). If the model's pooled MAPE on this panel is representative — and there is no strong structural reason a non-publishing state like Tamil Nadu or Uttar Pradesh should behave differently from Andhra Pradesh or Karnataka — the expected per-slot error for the 27 states we infer should sit in the same single-digit-to-low-teens range. That's the right mental model: the modeled feed is useful for grid-wide nowcasting and trend analysis, but any application that needs per-state MW to ±1% should anchor on the official feed where one exists.

Limitations

  • Daily-summary feeds (Kerala, Assam). A few “official” sources publish a single daily curve derived from a handful of snapshots rather than a true 15-minute meter stream. That inflates per-slot error because the comparison is fundamentally against a coarser signal, not a failure of the model.
  • SLDC reporting gaps. Even the nine states with realtime portals have occasional outages — an afternoon without any official rows, a run of zero-valued samples, a timezone wobble around DST-adjacent edge cases. We exclude zeros and nulls from the denominator, but gaps still reduce the sample count and can skew the per-state MAPE if the outage coincided with a high-variance part of the day.
  • Upstream NPP / MERIT caveats. The national generation series our model allocates from is itself an estimate — Central Electricity Authority meters cover the bulk of the interstate fleet but miss behind-the-meter rooftop PV, captive generation, and some embedded generation. When rooftop output surges mid-afternoon, the modeled demand for sunny states can under-read because part of the “demand” was served invisibly.
  • Seasonal variation. 30 days is a rolling window, which means MAPE numbers will drift with the seasons — a cool-weather month in the north where heating load is unusual, a monsoon week that flattens afternoon cooling peaks, a festival day with anomalous industrial offtake. Long-horizon evaluation of the model needs a full-year panel, which we'll publish separately.

Computed from 7,116 matched 15-minute samples over 1 Apr 20261 May 2026. Updated hourly.

Filed under
Engineering · Published 24 April 2026
← More from The Atlas Journal