How solar and storage are sized from twelve electricity bills

Almost no Indian commercial or industrial site has hourly meter data. It has twelve electricity bills. This page describes how those twelve numbers become an hour-by-hour year, how satellite irradiance becomes a matching solar year, and how thousands of candidate solar and battery sizes get scored against both — which is the method Ingro Sims runs, described closely enough to argue with.

Last checked · Written for solar EPCs, installers and energy managers in India

Why twelve bills are enough

The objection comes up immediately and it is a fair one: a monthly total hides the hour, and the hour is where the money is. So how can twelve numbers produce an hourly answer?

Because on a Time-of-Day tariff, they are not twelve numbers. A C&I bill under a ToD schedule reports consumption split by zone — so much in the peak window, so much in the solar hours, so much off-peak. That is twelve months × four or five zones: fifty to sixty figures describing not just how much the site consumed, but when.

And the zones are not arbitrary. Each one maps to a specific block of hours published in the DISCOM’s tariff order. Knowing that a site drew 180,000 units in a zone that spans 18:00–22:00 across a 30-day month is a strong constraint on what its evening load looks like.

Step one — rebuild the year, hour by hour

Monthly units by zone go into a months × zones grid, either typed in or filled into a downloadable template and uploaded back. On save, that grid becomes 8,760 hourly readings: each month’s zone total is distributed across the hours the tariff assigns to that zone, so the reconstructed year reproduces the bill it came from, zone by zone and month by month.

Two practical cases the method has to handle, because real bill folders are never complete:

  • Partial history. Three or four months is enough to start. Those months can be repeated across the rest of the year, and the grid records how many were real — so a modelled figure is never later mistaken for a measured one. Twelve modelled months beat nine real ones and three zeros, which would read as a site shut for a quarter of the year.
  • Real interval data, where it exists. A site with hourly or 15-minute meter data can supply it directly, and the reconstruction step is skipped entirely.

Step two — build the matching solar year

The consumption year is only half of it. The other half is what an array on that site would have generated, in the same 8,760 hours.

  1. The site is dropped on a map, giving a latitude and longitude — not a district, not a state, the actual roof.
  2. NASA POWER satellite irradiance and weather for those exact coordinates is fetched when the project saves.
  3. That becomes a reference 1 MWp year — the hourly output of one megawatt-peak at that location.
  4. Every candidate array size scales from that reference, so all of them are being compared against the same weather rather than against differently-derived curves.

A site already running a plant can upload a year of its real metered generation instead, and the study runs on measured output. That is strictly better where it exists: it carries the site’s actual soiling, shading and downtime rather than a clear-sky model of them.

For how much this varies across the country, and why the seasonal shape matters more than the annual total, see the solar guide.

Step three — score every size, not a shortlist

With a consumption year and a generation year on the same hourly clock, a candidate configuration can be evaluated properly: run the full hourly dispatch — solar to load, surplus to battery, battery to evening peak, the rest from the grid — and price the result against the DISCOM’s zones.

The dispatch respects the physical limits described in the storage guide: charge and discharge C-rates, round-trip efficiency, depth of discharge, and a state of charge carried from each hour into the next.

Then it does that for every sensible combination of solar capacity and battery capacity — a sweep of 3,171 configurations, each one a complete simulated year.

8,760

hours simulated per configuration

3,171

solar × battery combinations swept

4

optimisation goals on offer

~8 s

to run the whole sweep, once, server-side

The sweep runs once per configuration change and the result is stored, so opening a report is a read rather than a recomputation. That is an implementation detail with one consequence worth knowing: every option you are shown was actually simulated. None of them is interpolated from its neighbours.

SOLAR CAPACITY (MWp)0.61.21.82.43.03.6BESS (MWh)0.66.85.54.64.25.16.71.26.24.94.03.64.56.11.85.84.53.63.24.15.72.46.14.83.93.54.46.03.07.05.74.84.45.36.9RINGED · 2.4 MWp + 1.8 MWh, the fastest return on this boardEACH CELL IS ONE COMPLETE SIMULATED YEAR · YEARS TO PAY BACK THE BATTERY
A slice of the board, with illustrative figures. Every cell is one complete simulated year, including the ones that return badly — the good sizes form a basin in the middle rather than a corner, which is why the search is a sweep and not a formula.

What “best” means — the goal

Ranking 3,171 configurations requires a criterion, and there is more than one defensible answer. The goal is the customer’s to choose, not the model’s to assume:

GoalWhat it ranks for
Lowest billsThe default, and the right one for most commercial conversations: the build with the largest rupee reduction against the current bill.
Least grid useFor a site chasing independence from the grid rather than the cheapest bill — the two answers are not the same build.
No solar wastedSizes for the array whose output is almost entirely consumed. Picks a smaller, tighter plant where export earns nothing.
Most solar usedMaximises solar landing on live load, rather than routed through the battery and its round-trip losses.

These genuinely diverge. The build with the lowest bill is often not the build that wastes the least solar, and a customer who says “I want to be off the grid” is asking for a different plant from one who says “I want the best return”. Naming the goal makes the difference explicit rather than burying it in a default.

What comes back

Not a number. A set of builds, each fully simulated, so a conversation can happen across them:

OptionWhat it isWho it is for
TodayThe grid-only baseline — what the site pays with nothing built.The comparison every other column is read against. Without it a saving is a number with no anchor.
RecommendedThe best configuration by the chosen goal.The default proposal.
LeanThe cheapest battery still keeping ≥98% of the best savings.A constrained budget, or a customer optimising return per rupee.
HeadroomThe knee-point build, where further capacity stops paying for itself.A customer buying for growth, or one who wants the site’s full useful capacity.
YoursAny size you enter, run through the same engine.The customer who arrives with a number already in mind — answer it on the same basis rather than arguing with it.

That last one matters more than it looks. A customer who has been quoted “2 MW and 2 MWh” by somebody else is not persuaded by a different recommendation; they are persuaded by seeing their own number simulated on the same page, against the same year, next to the alternative.

The numbers, and which one to quote

A sizing report produces several figures that all sound like “the return” and are not interchangeable.

MetricWhat it saysWatch for
Capex paybackYears for the savings to repay the capital cost.The most quoted and the most ambiguous — it depends entirely on how the capital was priced.
Break evenThe second payback framing, pricing solar differently from capex payback.Not a discrepancy. Quoting one and labelling it as the other is where credibility is lost.
IRRThe return treated as an investment rather than a bill reduction.The right frame for a CFO; the wrong one for a plant manager.
Lifetime benefitCumulative saving over the modelled life.Sensitive to the tariff escalation assumed. Say what was assumed.
Effective tariffTotal cost ÷ total units after the build.The most intuitive figure available — directly comparable to the rate on the bill.
Grid dependence · green shareHow much still comes from the grid, and how much from solar.Non-financial, and often what actually closes an ESG-driven deal.

What this method cannot do

Worth being explicit about, since every limit here is one a competent reviewer will find anyway.

  • It models a year; it does not predict one. Irradiance varies between years, and the modelled solar year carries no site-specific soiling, shading or downtime unless real generation data was supplied.
  • Reconstructed load is zone-accurate, not minute-accurate. Sharp sub-hour spikes inside a zone are invisible, which limits how far demand-charge results should be pushed without interval data.
  • The tariff is a snapshot. A study is priced against one tariff order. Orders are revised annually, and a revision that moves zone boundaries invalidates the dispatch that was optimised against them — see the tariff guide.
  • Commercial assumptions are inputs, not facts. Capex per MWp, cost per kWh of storage, battery life and any tariff escalation are parameters. The simulation is only as sound as the prices fed into it, and those come from your own procurement, not from a model.
  • It does not do the engineering. Structural capacity, shadow analysis, transformer and switchgear ratings, evacuation approvals, fire and siting requirements for the battery — none of that is sizing, and all of it can change what is buildable.

What it does do is remove the part that is genuinely hard to do by hand and genuinely easy to get wrong: an hour-by-hour year, priced against the right zones, evaluated across every size rather than the three somebody thought of.

Keep reading