Dispatch

State-of-Charge Management: Why Target SOC Is Not a Simple Number

State of charge management and target SOC strategy

Every BESS control engineer has set a target SOC for a battery before a critical dispatch window. The question is not whether to set one. It is how to derive the right number given all the variables at play at a specific site, on a specific day, ahead of a specific market interval.

State-of-charge targeting is, in practice, a problem with at least four interacting dimensions: forecast confidence, cell degradation, market penalty structure, and the expected dispatch profile over the next operating horizon. Treating it as a single setpoint, such as "hold at 70% before the morning solar ramp," ignores most of the actual decision content.

Why Forecast Confidence Changes the Required Buffer

A day-ahead solar forecast with a narrow prediction interval means you can position the battery more precisely. If the forecast says irradiance will peak at 850 W/m2 between 10:00 and 14:00 with low variance, you can plan to discharge into the morning peak and recharge precisely when solar output rises. The SOC floor before the morning discharge can be lower because you have confidence about when recharge will begin.

A forecast with high uncertainty, typical on days with broken cloud cover or frontal passage, changes the calculus. The appropriate SOC floor rises because the battery may need to cover generation shortfall for longer than the nominal forecast suggests. The extra SOC held in reserve is not idle capacity. It is option value against the tails of the forecast distribution.

Quantifying this requires a probabilistic forecast output, not just a point estimate. When dispatch decisions are made using day-ahead forecasts, the optimizer can use the P10/P90 interval around the expected irradiance curve to set the SOC floor dynamically. A narrow P10-P90 band allows the floor to drop; a wide band raises it. The logic is straightforward, but it cannot be implemented if the forecast system only outputs a single number.

Cell Degradation and the Nominal vs. Usable Capacity Gap

A BESS nominally rated at 10 MWh does not always have 10 MWh of usable capacity. Lithium iron phosphate (LFP) cells are relatively tolerant of high and low SOC stress compared to NMC chemistry, but they still degrade. After two to three years of cycling, a system originally delivering 10 MWh might deliver noticeably less within its operating SOC window, and the control system may not have been updated to reflect this.

The consequence is that a target SOC of 80% on a degraded system represents less stored energy than the same SOC on a new system. If the dispatch schedule was built against the original capacity assumption, the battery will exhaust its charge earlier than planned. This is not a rare edge case. It is a systematic drift that accelerates as the fleet ages.

A correct SOC target calculation needs to work against current usable capacity, not nameplate capacity. This means feeding real cycle-count data and measured capacity test results into the dispatch optimizer on a periodic basis. Quarterly capacity tests at a fixed discharge rate give a reliable usable-capacity number; the optimizer uses this to translate MWh dispatch requirements back into SOC percentages. Without this update cycle, the SOC targets slowly become optimistic.

Market Penalty Structure in Japan

Japan's electricity market under JEPX operates with an imbalance settlement mechanism. When a generator or storage operator bids a dispatch profile and then deviates from it, the deviation is settled at the imbalance price, which is typically higher than the spot price during high-demand periods.

This penalty structure creates an asymmetric cost profile for SOC decisions. Being at 40% SOC when you committed to deliver 5 MW for two hours carries a financial consequence if you exhaust the battery before the commitment window closes. The cost of that shortfall, settled at imbalance rather than spot, can be several times the revenue earned from arbitrage earlier in the day.

Target SOC should therefore be set with the penalty structure in mind. The pre-dispatch SOC floor is not just an operational safety margin. It is a hedge against the imbalance exposure that comes from being caught short during a committed delivery window. A system that optimizes for maximum arbitrage revenue without modelling the imbalance exposure will set SOC floors too low, and the cost will show up in the settlement statement.

Time-of-Day Dependency and the Morning Positioning Problem

In a solar-heavy grid region like Kyushu or Shikoku, the dispatch day has a characteristic shape. Solar generation rises steeply through the morning, peaks around midday, then falls through the afternoon. Evening demand picks up again after 17:00. The battery needs to be positioned differently for each of these phases.

The morning positioning decision, specifically what SOC to hold overnight so the battery is ready to discharge into the morning peak before solar fully ramps, is probably the most consequential SOC decision of the day. A battery that discharged too aggressively the previous evening, chasing a price signal, may arrive at 06:00 with 20% SOC when it needed 55% to cover the early morning supply gap.

Managing this requires the optimizer to look not just at the current interval's price, but at the full dispatch horizon through the next operational day. This is where forward-looking dispatch planning, anchored on a day-ahead forecast, matters: the overnight SOC target is derived from what the battery will need to do between 06:00 and 10:00 the following morning, not from what prices looked like at 20:00 the evening before.

What Static SOC Bands Miss

We are not arguing that static SOC bands are useless. For simple dispatch environments, such as a single battery with a predictable daily demand profile and no market participation, a fixed target like "hold at 60% before morning" is a reasonable operational rule. It is easy to implement, easy to explain to operators, and tolerates a degree of forecast error without causing problems.

The limitation appears when dispatch complexity increases: multiple revenue streams covering spot arbitrage, frequency regulation, and curtailment absorption; variable generation from co-located solar; changing degradation state; and market penalty exposure that shifts with forward price curves. At that level of complexity, a static SOC band does not capture enough of the decision space to be optimal, and the cost of sub-optimality compounds across hundreds of dispatch decisions per month.

The right answer is not to eliminate SOC targets but to derive them dynamically from the inputs that actually determine whether the battery will fulfill its commitments: forecast confidence, current usable capacity, market penalty structure, and the forward dispatch plan. Treating SOC as a single scalar when it is a function of at least four variables is what leads to dispatch shortfalls at the worst possible moments.

Related posts