Battery Arbitrage Economic Case (Sezibwa)
Data provenance
[!info]UnderlyingConservativedata:basis:theUEDCLaggregateCodemeter10.2,meter_100effectiveplusQ3the2026:10 customer sub-meters, overPeak2026-03-19666.5to/ Shoulder 562.1 / Off-Peak 429.7 UGX/kWh2026-08-10,usingfrommeasuredthesitemodbusload.energy-loggerThearchivecomplete(sources:tariff schedulepi-direct andeffectivenextcloud-import),datesi.e.aretheconfigurable model inputs so later ERA/UEDCL revisions can be substituted without changing model logic. No solar or new capex is included, so weatherpre- andPVearly-OpenEMSpriceperiod.doLoadnot affect this case.
Headline
The battery NFE already owns can create incremental value from sunk hardware with no solar, by charging during the cheap off-peak window and reducing grid purchases during the expensive evening peak. On the real load and the current tariff this saves about 22,000 to 40,000 UGX per month (about 6 to 11 percent of the bill) depending on how much reserve is held for backup. Modest, and smaller than it used to be, because the tariff spread has compressed. Solar is the real story (see Solar Plus Battery Economic Case).
[!warning] The arbitrage margin has roughly halved on the current tariff The old Sept-2025 tariff had a peak-to-off-peak spread of410 UGX/kWh(753 vs 343). The current Q3 2026 spread is only237 UGX/kWh(666.5 vs 429.7). After the battery's 90 percent round-trip efficiency, gross arbitrage value falls from roughly 372 to about189 UGX/kWh— so these numbers are about half the earlier draft's. Do not quote an older 43k-79k figure.
Method
Transparent scoping model on the real load. Battery 8.9 kWh usable, 90 percent round-trip, 12 kW inverter cap (never binding at these levels). Charge off-peak toward full, discharge to cover the evening peak down to a reserve floor. Tariffbasis is a configurableconservative input (Q3 2026 used here).
Results

How the numbers are built (auditable working)
Consumption and phase reconciliation
The tariff-band series used by the arbitrage calculation averages 22.3 kWh/day:
A separate per-phase summary of meter_100 totals 21.3 kWh/day: L1 10.3, L2 5.2, and L3 5.8 kWh/day (approximately 48 / 24 / 27 percent of that series). The listed customer meters total approximately 20.8 kWh/day: L1 10.4, L2 5.1, and L3 5.3 kWh/day.
Note
assignments
[!warning](2026-08-20):ReconciliationtherequiredThesitethreehassummariessincedomigratednottocurrentlyOpenEMS,reconcile. The banded serieswhich is1.0 kWh/day abovenow theper-phaseliveaggregate,source.whileOpenEMS-sourced daily figures from mid-August show inconsistencies (thelistedaggregatecustomerroughlymetersdoubledareexactlyabout 0.5 kWh/day below the per-phase aggregate. The most likely categories are differing timestamps or coverage windows, unmetered common load, technical losses, and rounding, butat the sourceextractsswitchover,mustandbeonalignedsomebefore attributingdays thegaps.customer-meterThesumpublished arbitrage result usesexceeds the22.3aggregate),kWh/daysotariff-bandtheyseries;areretain thistreated as ascopeddata-qualityestimateissueuntilto resolve before use; this analysis stays on theintervalvalidatedcoveragearchive.isPhasereconciled.
Indicative customer-to-phase mapping
Voltage matching suggestsreflect the mapping above, but it should remain labelled indicative until validated against wiring records or a controlled load test. The concentration of customers 002 and 003 on L1 indicates a possible phase-balancing and power-quality issue.
[!warning] Three-phase operating assumptionThe economic model currently treats the batteryasableobserved up tooffsetaboutaggregateMaythree-phase imports. Before operational deployment, confirm both (a) whether the SRNE inverter supports sufficiently asymmetric per-phase discharge2026 and(b) how the utility meter nets simultaneous imports and exports across phases. If output must remain balanced while load is unbalanced, or if billing does not net phases as assumed, realizable savings may be lower. Phase-level power limits should then be added to the dispatch model.
Step by step
Tag every 15-minute interval as off-peak / shoulder / peak.Baseline (no battery): each kWh costs its band price.Off-peak (00-06): charge the battery from the grid at 429.7 UGX/kWh, respecting the reserve floor, the 8.9 kWh usable cap, and 90 percent round-trip.Peak (18-24): discharge to cover load instead of buying at 666.5 UGX/kWh, down to the reserve floor.Shoulder: idle.Saving = baseline cost minus arbitrage cost, annualised.
The margin, and why round-trip efficiency matters
A battery is not a perfect bucket: energy makes a round trip (grid to battery to load) and loses about 10 percent to heat. 90 percent round-trip means to get 1 kWh back out you must put about 1.11 kWh in (1 divided by 0.9).
So, per 1 kWh delivered during peak:
Charging cost: 1.11 kWh x 429.7 = about477 UGX(this is the off-peak price grossed up for the loss, i.e. 429.7 / 0.9).Avoided peak purchase: 1 kWh x 666.5 =666.5 UGX.Gross margin = 666.5 - 429.7/0.9 = about 189 UGX/kWh.
The raw price spread is 666.5 - 429.7 = 237 UGX/kWh; the round-trip loss consumes about 48 UGX/kWh, leaving approximately 189 UGX per delivered kWh. This is a gross margin before marginal battery wear. The daily theoretical energy cap is the smaller of peak demand and 8.9 x (1 - reserve) kWh; actual interval-by-interval dispatch is lower whenever state of charge, timing, load availability, or control constraints prevent use of that full cap.
Reconciliation of the monthly results
At a gross margin of about 189 UGX/kWh and 30.4 days per average month, the reported savings imply the following average delivered shift:
The difference between the theoretical caps and implied shifts reflects interval mismatch and dispatch availability rather than a second tariff adjustment: the battery cannot always discharge its entire allowance exactly when peak load is present. These figures should be regeneratedre-verified after the load-series reconciliation and three-phase constraints are resolved.
Gross value of the existing asset
No new capital is invested because the battery is already owned, so an incremental IRR or payback is not meaningful. The modeled 20-year discounted gross bill-saving value before monetized battery wear is about 1.9M UGX at 15 percent (2.6M at 10 percent and 1.3M at 25 percent). Capacity fade reduces available arbitrage over time, but the stated values do not deduct an explicit UGX-per-kWh marginal degradation cost. They must not be presented as net economic value until that cost is estimated.
Incremental value from sunk hardware
Although there is no incremental capex, cycling consumes a slice of the battery's finite life, creating a real marginal degradation and opportunity cost per kWh delivered. On the compressed current spread that cost is no longer negligible relative to the ~189 UGX/kWh gross margin. The economically correct rule is therefore not "arbitrage whenever there is a price spread" but:
Arbitrage only when the tariff spread is large enough to beat the marginal degradation cost and still leave the required backup reserve.
That makes optimal arbitrage a Microgrid OS control problem (net of losses and degradation, subject to reserve), not a fixed inverter setting.
What it means
Arbitrage alone produces about 22,000 to 40,000 UGX/month ingross bill savings before monetized wear(6 to 11 percent of the bill). Net economic value will be lower.A 50 percent reserve scenario roughly halves gross savings versus zero reserve. No service-life guarantee follows from cycle frequency alone: calendar aging, temperature, depth of discharge, charge rate, warranty terms, and operating conditions also determine life.Strategic read: arbitrage is a minor ancillary benefit, not the money story. Solar is (see theSolar Plus Battery Economic Case, where 4 kWp offsets ~55 percent of the bill at ~48 percent IRR).
Battery aging over 20 years
Because this case is entirely battery-dependent, it is the most exposed to aging: with capacity fading to 50 percent by year 20, the 30-percent-reserve saving roughly halves over the horizon. Pairing the battery with solar makes the income far less sensitive to aging.

See also Optimal Solar and Battery Allocation and Battery Price Break-Even.
Assumptions and exclusions
Caveats
This is a scoping result, not a dispatch guarantee. A forecast-driven, degradation-aware controller may cycle less often but should target higher net value. The fixed monthly service charge is not avoidable. The battery's primary role is backup, so reserve should be selected from critical-load and outage-duration requirements rather than described as inherently “safe.” Re-run the case after reconciling the source series, validating three-phase behavior, and assigning a defensible marginal wear cost.