Blog

Battery Energy Storage for Peak Shaving in Malaysia

BESS can shave the peak demand that drives your TNB Capacity and Network charges, but only accurate dispatch and monitoring decide whether it pays back.

Tan Kok XinTan Kok Xin
Grid-scale battery energy storage system

Under the RP4 tariff structure that took effect on 1 July 2025, a single peak half-hour can set the per-kW Capacity and Network charges on your TNB bill for the whole month. That is exactly the cost battery energy storage is built to attack. For Malaysian commercial and industrial sites, BESS has shifted from novelty to a practical option because it goes after two things at once: the monthly demand charges that punish short spikes, and rooftop solar that would otherwise be exported or curtailed.

The catch is that a battery only earns its keep when it discharges at the right minute, in the right size, against your actual load. Get the dispatch wrong and you have an expensive asset that misses the peak it was bought to flatten.

What is peak shaving with battery energy storage?

Peak shaving means discharging a battery during your highest-demand intervals so the grid never sees your full peak. Your site keeps running normally; the battery quietly supplies the difference between your load and a target ceiling, then recharges when demand is low.

This matters under RP4 because demand is now billed through two separate per-kW charges, both set by your monthly maximum demand:

- Capacity Charge — RM29.43/kW for General tariffs (C1/E1), RM30.19/kW for Time-of-Use tariffs (C2/E2).
- Network Charge — RM59.84/kW (General) or RM66.87/kW (ToU).

Combined, that is RM89.27/kW per month on General (C1/E1) and RM97.06/kW per month on ToU (C2/E2) (TNB tariff schedule, effective 1 July 2025). Shave 100 kW off your monthly peak and you avoid roughly RM8,900 to RM9,700 every month, around RM107,000 to RM116,000 a year, before counting any energy savings. That recurring avoided cost is the core of a BESS business case.

The rest of the RP4 bill has three more components you should keep in view: the Energy Charge in sen/kWh, a fixed Retail Charge in RM/month, and the Automatic Fuel Adjustment (AFA), which replaced the old ICPT mechanism.

How much peak can a battery actually shave?

The answer depends on power (kW) and duration (kWh), and the binding constraint is usually how long your peaks last, not how high they are. Capacity Charge and Network Charge respond only to the single highest demand interval in the month, so to protect that figure the battery must hold its discharge across every peak event, not just the worst one.

A worked example for a General-tariff (C1) factory:

- Normal running load sits around 800 kW. A morning startup and an afternoon production overlap push demand to 1,000 kW for roughly 45 minutes at a time, a few times a month.
- Those 200 kW spikes set the maximum demand for the entire billing period.
- A 250 kW / 250 kWh battery (one hour at full power) can hold the site under a 800 kW ceiling through a 45-minute event with margin to spare.
- Avoided demand cost: 200 kW x RM89.27/kW = about RM17,854 per month, roughly RM214,000 a year.

Undersize the energy (kWh) and the battery empties mid-peak, demand rebounds, and the month's maximum is set anyway. Undersize the power (kW) and it can never pull the peak down far enough. Sizing has to come from your real interval data, which is why the demand profile in how to calculate maximum demand is the starting point for any BESS specification.

Using BESS to store your own solar

For sites with rooftop solar, a battery captures the midday surplus that NEM net-metering caps or that you would otherwise export at a lower offset value, then releases it in the late afternoon and evening when production drops but load stays high. That raises self-consumption and shortens solar payback.

Under RP4 ToU tariffs (C2/E2), the value compounds. The peak window runs 2:00pm to 10:00pm on weekdays; off-peak covers 10:00pm to 2:00pm on weekdays plus all weekends and public holidays. Solar generation tails off through the ToU peak window, so a battery charged on cheap midday and off-peak energy and discharged into the 2pm-10pm peak does double duty: it shaves demand and arbitrages the energy rate at the same time. Pairing storage analysis with rooftop solar monitoring and payback is where the combined economics become visible.

Why monitoring decides the return on BESS

A battery is only as good as its control logic and the data feeding it. Two failure modes wipe out the business case:

- Dispatching against the wrong target. If the controller chases a fixed clock instead of live demand, it discharges before the real peak and sits empty when it arrives. The peak is set regardless and you paid for nothing.
- Silent degradation. Lithium cells lose capacity over years. A battery rated for one hour of discharge that quietly drops to 45 minutes will stop protecting your demand ceiling, and you will only find out on the bill.

This is where CobiNeural does the work. Its Insights to Energy module tracks demand, the Max Demand KPI, power factor and consumption at site and equipment level, so the discharge target is set against your real load curve rather than a guess. The Actions module issues the dispatch and recharge triggers, working standalone or as an overlay on your existing BMS, PLC or SCADA through Cobler's automation layer. Plan and Verify runs the measurement and verification so you can prove, month by month, that the battery delivered the kW it promised. Alerts flag in real time, by WhatsApp or email, when a peak is approaching or when the battery's available capacity falls short.

The monitoring data also feeds compliance. If your facility is a registered energy consumer, demand-management actions and their verified savings belong in your EECA reporting, and the same dataset supports an ISO 50001 energy baseline.

Building the BESS business case

The avoided demand charge is recurring and predictable, which is what makes BESS financeable. To size and justify a system, work from real numbers in this order:

- Pull at least 12 months of interval demand data and identify your monthly maximum demand and how long each peak event lasts.
- Multiply the shaveable kW by your RP4 demand rate (RM89.27/kW General or RM97.06/kW ToU) to get the monthly avoided charge.
- Add ToU energy arbitrage and solar self-consumption gains if you are on C2/E2 with rooftop PV.
- Subtract round-trip efficiency losses (typical lithium systems lose roughly 10-15% per cycle) and check the numbers against your real load, not a vendor's ideal curve.
- Layer in available incentives such as GITA for qualifying green assets before finalising payback.

Do that with verified interval data and the BESS case stops being a brochure number and becomes a line you can defend. Cobler's case studies show how the same monitoring stack underpins demand reduction across Malaysian plants and buildings.

If you are weighing a battery for peak shaving and want to size it against your own demand profile, request a demo and we will model the avoided RP4 charges on your real data.

FAQ

Frequently asked questions

Keep Reading

Related articles