Data Shop · Grid Operations

State Shortage & Deficit, Monthly

How much power each Indian state went short, every month since Apr 2021 — energy not served, deficit %, and peak shortage, on 33 canonical reporting entities.

State Shortage & Deficit, Monthly — live sample plotted from the actual series

Live sample — regenerated weekly

updated 43h agoCC-BY

About this dataset

  • ·Covers 2021-04-01 – 2026-10-01
  • ·2K rows
  • ·Resolution: monthly
  • ·All 33 Grid-India PSP reporting entities — subset at checkout
  • ·Exports built fresh from the live database at purchase time
  • ·Coverage report with every known gap disclosed (below)

from ₹2,499

Available now — configure & buy

States (all covered)

Leave empty for all currently covered states. A subset is priced pro-rata (min 40%).

Configure your selection to see a price.

Enter your email above to check out as a guest, or continue to create a free account (purchases saved in My Products). Card payments via Stripe; pro-forma/bank transfer for institutions.

Sold by India Energy Atlas · CC-BY license · cite: India Energy Atlas (energymap.in), CC BY 4.0

Enterprise delivery

Need this landing in Snowflake, S3, or GCS on a schedule — or under an enterprise license with custom windows? We set up direct cloud delivery for enterprise customers.

Pro-forma invoicing and bank transfer available for institutional buyers.

About this dataset

The month-by-month record of Indian electricity shortage, per state, from Apr 2021 to the present — rolled up from Grid-India's (POSOCO) daily Power Supply Position reports.

Each row carries the energy not served (MU), the energy deficit percentage on the CEA convention, and the month's peak shortage and peak demand. The deficit percentage is the metric to reach for: it is robust to the handful of days Grid-India does not publish, which a raw MU sum silently under-counts.

Why this is not just the daily archive grouped by month. The `state` column in the raw PSP feed is an upstream label, not a key, and grouping on it is wrong in three ways. Non-states sit in it (DVC is a generating utility; Railways and bulk consumers are ISTS-connected loads). Grid-India renames entities mid-panel — it relabelled HP, MP and UP to their full names on 16 Jun 2026, and merged Dadra & Nagar Haveli with Daman & Diu in Jun 2022 — so a naive grouping splits one state into two truncated series. This product resolves every label to a canonical entity first, and fails its build rather than drop a label it does not recognise.

Every row also travels with `days_reported` and `coverage_pct`, so an incomplete month — including a partial month at the edge of your chosen window — is visible in the data rather than hidden in the total.

Coverage — measured, not promised

Apr 2021 to present, monthly, ~2-day NLDC publish lag on the underlying daily feed. 33 reporting entities. Apr 2021 is partial (the daily series starts on the 24th) and the current month is partial by definition; both are disclosed per-row in coverage_pct.

state_shortage_monthly
2021-042021-092022-022022-072022-122023-052023-102024-032024-082025-012025-062025-112026-042026-09
0%100%monthly completeness per source table

Known holes — disclosed, never hidden

  • posoco_psp_daily: 2022-08-30 – 2022-08-31 (2 days missing)
  • posoco_psp_daily: 2024-12-30 – 2024-12-31 (2 days missing)
state_shortage_monthly
2,178 rows
2021-04-24 – 2026-09-27

Coverage stats generated 2026-09-28 by the weekly sample-assets pipeline · 2,178 total rows

Data dictionary

state_shortage_monthly13 columns
ColumnTypeDescription
monthtextCalendar month, IST (YYYY-MM)
statetextState slug, e.g. rajasthan
state_codetextCanonical entity code, e.g. RJ. JK_LA = the combined J&K + Ladakh area
state_nametextCanonical entity name
days_reportedintDays in the month Grid-India published a PSP row for this state
days_in_monthintCalendar days in the month
coverage_pctfloat100 x days_reported / days_in_month; < 100 means an incomplete month
energy_shortage_mufloatEnergy not served, million units, summed over the month. A SUM, so it under-counts when coverage_pct < 100 — prefer energy_shortage_pct to compare across months
energy_met_mufloatEnergy met, million units, summed over the month
energy_shortage_pctfloatEnergy deficit %: 100 x shortage / (met + shortage). CEA convention, robust to reporting gaps. The recommended headline metric
peak_shortage_mw_maxfloatLargest daily coincident peak shortage in the month, MW. Grid-India's peak shortage is the shortage AT the instant of the demand peak, not the worst shortage of the day: ~9% of state-days carry real energy shortage with a peak shortage of 0 (load shed off-peak). Never read 0 here as 'no shortage'
peak_shortage_mw_meanfloatMean of the month's daily coincident peak shortages, MW
peak_demand_mw_maxfloatLargest single-day peak demand in the month, MW

Caveats — read before you buy

  • 33 entities, not 36. J&K and Ladakh are reported by Grid-India as one combined control area (`JK_LA`). Andaman & Nicobar and Lakshadweep are isolated island grids and never appear in the all-India PSP feed.
  • Peak shortage is coincident with the demand peak, not the worst shortage of the day. ~9% of state-days show real energy shortage against a peak shortage of 0 — load shed off-peak. Use energy_shortage_mu / energy_shortage_pct to answer 'was there a shortage'.
  • energy_shortage_mu is a sum and under-counts any month where coverage_pct < 100. Use energy_shortage_pct for cross-month comparison.
  • Partial months at the edges of a custom window are aggregated from the days inside the window only; coverage_pct discloses this per row.
  • Publishes T+2 (NLDC lag); the freshest two days are absent by design.

License & citation

CC-BY

Attribution required on any published use. Upstream public sources credited in the product description.

Cite as: India Energy Atlas (energymap.in), CC BY 4.0

Frequently asked

What exactly do I get when I buy State Shortage & Deficit, Monthly?

A one-time export built fresh from the live India Energy Atlas database at purchase time, delivered as csv_gz, xlsx via a private tokened download link, with a per-state/per-month coverage report and a data dictionary included. Apr 2021 to present, monthly, ~2-day NLDC publish lag on the underlying daily feed. 33 reporting entities. Apr 2021 is partial (the daily series starts on the 24th) and the current month is partial by definition; both are disclosed per-row in coverage_pct.

How is this licensed?

CC BY 4.0 — use it anywhere, including published work, with attribution: "India Energy Atlas (energymap.in), CC BY 4.0".

How fresh is the data and how are gaps handled?

The catalog shows live freshness straight from the source tables (15-minute server cache). Exports are built at purchase time, and every known multi-day gap is disclosed in the coverage report on this page — we never sell around a hole silently.

Can I configure the date range and states?

Yes — the configurator lets you pick the time window, states and format before checkout, and the price scales with the window you pick.

Do you offer pro-forma invoices or bank transfer?

Yes. Institutional buyers can request a pro-forma invoice and pay by bank transfer; the order unlocks automatically once payment is marked received. Stripe checkout (cards/UPI) is available for self-serve purchases.

← All datasets·Source: India Energy Atlas · api.energymap.in · coverage and samples regenerated weekly