Start from the profile, not the bill
The invoice shows one maximum per month. The 15-minute profile shows what a battery needs to know: how far above the rest of the load the peaks rise, how long they last, how often they come and how much room there is to recharge between them.
Step 1: choose a target peak
The target is the highest load you want the meter to record after the battery. Every kW of target lower is worth the kW rate of the tariff (see below), but costs more battery for each kW, because the load profile gets wider the lower you cut.
Step 2: power = the largest excess
For every quarter-hour of the year, compute load minus target. The largest positive value is the minimum discharge power. Shaving 60 kW needs at least 60 kW of discharge power, whatever the energy.
Step 3: energy = the worst day's area above the target
For each day, add up the energy above the target: the excess kW of each quarter-hour × 0.25 h. Take the worst day, divide by the discharge efficiency and add a margin (for example 10%, an assumption).
- Illustrative: a 60 kW excess for 2 hours is 60 × 2 = 120 kWh above the target. At 95% discharge efficiency (assumption; use the datasheet value), the battery must hold 120 ÷ 0.95 ≈ 126 kWh usable. With a 10% margin: about 139 kWh.
- Use usable capacity, not nominal: datasheets often quote both.
Step 4: check that the battery can recharge
The battery must recharge without creating a new peak, so it can only charge in the room below the target. In Zorowatt's simulation the battery starts the year empty and may not end it emptier, so a peak can only be shaved as far as the energy recharged before it allows.
Illustrative: to deliver 120 kWh at 90% round trip, the battery must draw 120 ÷ 0.9 ≈ 133 kWh from the grid. If the site runs 150 kW below the target at night, that takes 133 ÷ 150 ≈ 0.9 hours. If two peaks come three hours apart with the load only 20 kW below the target in between, at most 20 × 3 = 60 kWh can go back in — and the second peak gets only what was recharged.
Step 5: the closed-form limits
For a simple rectangular peak — base load B, peak B + H for τ hours — the result is easy to check by hand (Zorowatt's engine is tested against these):
- Power-limited (battery power P below H): new peak = B + H − P.
- Energy-limited (usable energy E too small): the cut is E × discharge efficiency ÷ τ, so new peak = B + H − E × η ÷ τ.
- Illustrative: base 300 kW, peak 400 kW for 2 hours. A 60 kW / 250 kWh battery is power-limited: new peak 400 − 60 = 340 kW. A 150 kW / 100 kWh battery is energy-limited: 100 × 0.95 ÷ 2 = 47.5 kW, new peak 352.5 kW. A 100 kW / 220 kWh battery reaches the base: 220 × 0.95 = 209 kWh covers the 200 kWh above it, new peak 300 kW.
Step 6: run the year and read the curve
Real peaks are not rectangles and not all the same. Test a grid of sizes — for example 8 energy sizes × 5 power ratings — through the whole year, bill each one under the site's tariff and plot the net present value against size. The best size is usually where the next kWh of battery buys less than it costs, not where the peak is lowest.
Power, energy and C-rate
The C-rate is power divided by energy: 60 kW on 126 kWh is about 0.48 C, roughly a 2-hour battery. Short, sharp peaks need power; long peaks need energy.
- Real case: Bäckerei Miedl in Bavaria cut its maximum grid demand by just over 70 kW with a 131 kWh battery and an 88 kW inverter, a ratio of about 1.5 hours, saving about €9,000 a year (Solarserver, 17 Feb 2021).
- The reverse warning: on a dairy farm, small batteries discharging about 4 kW each could not cover a milking peak of about 25 kW (Teagasc). Power, not only kWh, decides whether a peak is covered.
What a kW shaved is worth
- Netherlands, Liander medium voltage: €3.57 per kW per month on the kWmax, plus €2.29 if the contract can be lowered: up to €70.32 per kW a year (Liander 2026). One missed month costs that month.
- Germany, NEW Netz medium voltage above 2,500 hours: €118.34 per kW a year on the annual peak (NEW Netz 2026). One missed day costs the year.
- Romania: no kW charge on the regulated network tariffs (MET notice), so peak shaving has nothing to cut there.
Expected case vs perfect foresight
A sizing run that knows the whole year in advance cuts every peak exactly. A real energy management system does not know tomorrow's peak, so it sets its threshold from earlier data and keeps a reserve. Size on the rule-based case, and show the perfect-foresight result only as the upper bound.
Upload a load profile to the free peak-shaving calculator: it runs the rule-based dispatch on your data in the browser and returns the size and payback for a plain peak tariff. The Workspace does the same under the site's real tariff, checked against its invoices.
Frequently asked questions
- Why divide by the efficiency?
- Because some energy is lost on the way out. To deliver 120 kWh at 95% discharge efficiency the battery must hold about 126 kWh; to put it back at about 95% charge efficiency it draws about 133 kWh from the grid.
- Should I size for the worst day of the year?
- In Germany, where one annual peak sets the price, yes. In the Netherlands, a missed day costs that month's kWmax, so a slightly smaller battery that misses one rare day may still be the better buy — the year's simulation tells you.
- Can I size from monthly bills only?
- Only roughly. The bills give the monthly peak but not its duration, and the duration decides the energy. The calculator's quick mode assumes every peak is a rectangle and says so.
- How much margin should I keep?
- Enough for the controller not knowing the future: a reserve kept for the risky hours and a threshold set from past data. 10% is a common starting assumption; the simulation shows how many breaches a size produces.
Related guides
- Sizing for a connection limit
- The ten data problems that size a battery for you
- NPV, IRR and payback for a C&I battery
Sources
- Solarserver, Bäckerei Miedl, 17 Feb 2021
- Teagasc, future-proofing the farm with solar panels
- Liander, tariffs for connection and transport, large consumers 2026
- NEW Netz, Preisblatt Strom 2026
- MET Romania, regulated tariffs from 1 Jan 2026
Last checked: 2026-10-30. Every figure in this guide comes from the source linked next to it, with the retrieval date Zorowatt's research recorded (28–30 October 2026), or from arithmetic shown step by step.
Stuck on something else? Ask the community.
Užduoti klausimąNauji gidai tavo el. pašte
Maždaug vienas el. laiškas per mėnesį: nauji gidai ir vaizdo įrašai, sprendimai problemoms, apie kurias klausia žmonės, ir Zorowatt naujienos.
