The system, exactly as engineered
The detailed design fixes the sizing against 368 days of half-hourly metering data. Each scenario uses two PV arrays — one to displace Standard energy and one to self-fund the battery — paired with a BESS sized either for the full Peak period (Scenario B) or the Evening Peak only (Scenario C).
Phase 1 — what we have already achieved
The first phase is live. Commissioned under Schedule 2 of the Electricity Regulation Act, it already delivers real, measurable monthly savings.
First generation online — saving R765,000 every month
By leveraging the Surplus and Pure Generation options under Schedule 2 of the Electricity Regulation Act, the programme has commissioned 2 MWp of PV for Standard-time displacement plus a 4 MWh BESS targeting the Evening Peak — proving the model before scaling.

How the monthly saving is calculated
Using the verified Eskom MunicFlex tariffs and the same algorithms as the engineering design — PV displaces Standard energy at the Standard tariff, while the BESS captures the Peak-to-Off-Peak arbitrage spread across both the High- and Low-Demand Seasons.
PV · Standard displacement
2 MWp solar array
S_PV = E_Std × R_Std (per design eq. 10)
- Standard energy displaced (2 MWp)
- 3.31 GWh/yr
- High-Demand share · 0.782 GWh × R1.6186
- R1.27M
- Low-Demand share · 2.531 GWh × R1.5107
- R3.82M
Annual saving
R5.09M/yr
R424K/mo
BESS · Evening Peak arbitrage
4 MWh battery
S_BESS = E_Peak × (R_Peak − R_OffPeak) (eq. 11)
- Usable storage (4 MWh × 80% DoD)
- 3.2 MWh/day
- High-Demand · 0.586 GWh × R5.3953 spread
- R3.16M
- Low-Demand · 0.582 GWh × R1.6078 spread
- R0.94M
Annual saving
R4.10M/yr
R341K/mo
Combined Phase 1 saving
PV R5.09M + BESS R4.10M, at current tariff rates
R9.19M/yr
≈ R765K per month
Figures use current Eskom MunicFlex rates (Standard R1.5107–R1.6186/kWh, Peak R2.6868–R6.4743/kWh, Off-Peak R1.0790/kWh) and a 90% round-trip efficiency / 80% depth-of-discharge battery. Annual tariff escalation of 12–15% p.a. increases these savings materially over time.
As-designed sizing — Scenarios A, B & C
Two PV arrays (Displacement + Extra), the BESS capacity, and the resulting bill reduction for each scenario.
Baseline — Full Eskom
No PV, no BESS. All bulk energy bought from Eskom under MunicFlex.
- Displacement PV (Standard)
- 0 MWp
- Extra PV (self-funds BESS)
- 0 MWp
- Total PV
- 0 MWp
- Annual bulk cost
- R 212.83M/yr
- PV saving
- —
- BESS saving
- —
The status quo the design replaces.
PV (All Std) + BESS (All Peak)
PV displaces all Standard energy; BESS displaces the entire Peak period.
- Displacement PV (Standard)
- 28.8 MWp
- Extra PV (self-funds BESS)
- 683.1 MWp
- Total PV
- 711.9 MWp
- Annual bulk cost
- R 156.19M/yr
- PV saving
- R 14.71M/yr
- BESS saving
- R 41.93M/yr
Recommended — maximum financial benefit.
PV (All Std) + BESS (Evening Peak)
Same PV; a smaller BESS displaces only the 18:00–20:00 Evening Peak.
- Displacement PV (Standard)
- 28.8 MWp
- Extra PV (self-funds BESS)
- 291.6 MWp
- Total PV
- 320.4 MWp
- Annual bulk cost
- R 184.37M/yr
- PV saving
- R 14.71M/yr
- BESS saving
- R 13.75M/yr
Lower-capital phased entry point.
In both Scenario B and C the BESS lease (R155,000/MWh/month) is ring-fenced and fully settled by the dedicated Extra PV array — so every Rand of arbitrage saving stays with the municipality.
Reading the design
Scenario A · Baseline
The municipality buys all bulk energy from Eskom under MunicFlex at R212.83M/yr. This is the status quo every scenario is measured against — no PV, no storage.
Scenario B · Full Peak BESS
28.8 MWp Displacement PV + 683.1 MWp Extra PV (711.9 MWp total) and a 126.5 MWh / 18.5 MW BESS displace all Peak energy — a R56.65M/yr saving (26.6%). The recommended design.
Scenario C · Evening Peak BESS
Identical PV for Standard displacement with 291.6 MWp Extra PV (320.4 MWp total) and a smaller 54.0 MWh BESS covering only 18:00–20:00 — a R28.46M/yr saving (13.4%) at under half the storage.

