Peak demand shaving (included for Pro and Enterprise users) is a battery dispatch strategy in which a battery energy storage system discharges stored energy during periods of high electrical demand at a facility, thereby reducing the peak power (measured in kW) drawn from the grid. Because many commercial and industrial electricity tariffs include demand charges based on a customer's highest recorded power draw within a billing period (often measured over 15-, 30-, or 60-minute intervals), lowering this peak kW value directly reduces the demand charge portion of the utility bill.
Peak Demand Shaving Simulations
To model Peak Demand Shaving in HelioScope, on the Storage tab, enter your battery specs
On the right-hand side, you can toggle the Storage Simulation on and off
Peak Shaving Configuration
When you model battery storage for peak demand shaving, HelioScope gives you two ways to tell the simulation how the battery should respond to peaks: Specify Peak Targets Off (the default) and Specify Peak Targets On. Here's what each one does, and how to decide which fits your project.
Specify Peak Targets Off (Default)
With this setting, the simulation watches your net load (consumption minus PV production) over a rolling 24-hour window. If the current peak looks like the highest one so far this month, the battery discharges to knock it down as much as its power and energy capacity allow.
Why this is the default: it mirrors how most real battery controllers behave. In the real world, a controller doesn't know in advance which day will bring the month's highest peak — so it plays it safe and responds to every peak that could turn out to be the big one.
The tradeoff: because the battery can't see into the future, it may end up discharging for peaks early in the month that turn out not to be the actual monthly peak. That's not necessarily wasted effort, but it does mean some cycling on peaks that don't end up driving your demand charge. This matters most if grid charging isn't enabled — a string of low-production days could leave the battery without enough charge for a real peak later on.
Specify Peak Targets On
With this setting, you set a target peak power value for each month. Whenever net load rises above that target, the battery discharges to try to hold net load at that level.
Why you might use this: if your monthly load pattern is steady and predictable, a well-chosen target can actually get you a lower demand charge than the default mode, since the battery isn't "guessing" — it's working toward a known number.
The risk to know about: this mode doesn't check itself against your battery's actual specs. If you set a target that's more aggressive than your battery can support, the dispatch can fail to shave the peak — and because demand charges are typically based on your single highest usage interval in the month, there's no partial credit. Missing the target by a little can cost you the same as missing it by a lot. This is why HelioScope shows a warning when a target looks too aggressive for the modeled battery.
The target percentage is applied per month, based on that month's own peak demand (not a single value applied uniformly across the year).
- We calculate the peak demand (kW) for each of the 12 months individually.
- When a target percentage is entered — e.g. 50% — we apply it to each month's peak separately.
- January's peak demand is 100 kW → target = 50% × 100 kW = 50 kW
- July's peak demand is 150 kW → target = 50% × 150 kW = 75 kW
Which One Should You Use?
Ask: how predictable is this site's load?
- Unpredictable or weather-sensitive loads (offices, buildings with heavy HVAC use, anything where usage swings with temperature): stick with Specify Peak Targets Off. These are exactly the sites where an aggressive target could fail right when it matters most — during a heat wave or cold snap, when both your load and your peak-shaving value are highest.
- Stable, well-characterized loads (facilities with fixed equipment schedules or consistent operating patterns): Specify Peak Targets On can be worth exploring, since a well-chosen target may outperform the default.
If you're unsure, the default setting is the lower-risk choice — it's built to behave the way most real-world battery controllers do, and it won't leave you exposed to an all-or-nothing miss on your demand charge.
Support grid charging the battery: When on, this allows grid power to charge the battery. Before selecting, verify if this is supported by the utility.
Financial Configuration
You can select the Financial Configuration for your project. For instructions on how to create a Financial Model, click here.
Consumtpion
You can upload a consumption file (recommended 15 min interval data upload for accuracy). Or you can enter monthly consumption values (For US-based projects, the default consumption data is sourced from NREL. Typical data is used from a nearby location and a residential base building type, pro-rated to 1,500 kWh monthly. Edit this or upload your own for more accurate storage simulation results)
Utility Rate
Select the utility rate that will be used for the storage simulation. For accurate simulation results, verify the rate includes all relevant charges, including energy and demand.
Running the simulation: Once a utility rate and consumption file are set, users can calculate peak shaving.
Peak Shaving Calculations
Once calculated, financial results populate automatically in the metrics bar at the top of the screen.
Under Peak Shaving Calculations, you will see the original peak, the new shaved peak after storage, and the annualized savings.
Scenario comparison: You can toggle settings like grid-charging the battery on/off, or compare system-generated vs. custom peak targets, by copying designs and rerunning simulations — then compare outcomes via reports/proposals/financials.
One-click simulate: After initial setup, hitting the "Simulate" button (on the design or reports page) reruns production, peak shaving, and financial calculations together — no need to jump back into the storage tab separately.
Iteration: Design changes (e.g., swapping inverters, removing modules) invalidate the prior peak shaving results, but re-simulating recalculates everything in one step. HelioScope's unlimited designs per project let users build and compare multiple storage configurations for client options.
HelioScope's Peak Demand Shaving Algorithm
HelioScope's Peak Demand Shaving algorithm is based on the automated dispatch controller model developed by NREL for the System Advisor Model (SAM). The model computes a target grid power level based on load and PV production, then dispatches the battery to charge from excess PV or the grid and discharge during peak periods — flattening demand and reducing demand charges, while respecting battery state-of-charge and monthly peak constraints. For full details on the underlying algorithm, see the NREL report here: https://docs.nlr.gov/docs/fy18osti/68614.pdf.