Skip to main content

Battery Arbitrage Economic Case (Sezibwa)

[!info] Conservative basis: UEDCL Code 10.22, effective Q3 2026: Q3Peak 2026 tariff (666.5 / Shoulder 562.1 / Off-Peak 429.7 UGX/kWh)kWh, realusing measured site load. The complete tariff schedule and effective dates are configurable model inputs so later ERA/UEDCL revisions can be substituted without changing model logic. No solar andor nonew capex,capex is included, so weather and PV price do not affect this case.

Headline

The battery NFE already owns can earncreate aincremental littlevalue moneyfrom sunk hardware with no solar at all,solar, by charging during the cheap off-peak window and dischargingreducing throughgrid 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 of 410 UGX/kWh (753 vs 343). The current Q3 2026 spread is only 237 UGX/kWh (666.5 vs 429.7). After the battery's 90 percent round-trip efficiency, gross arbitrage value falls from roughly 372 to about 189 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. Tariff is a configurable input (Q3 2026 used here).

Results

Reserve held for backup SavingGross bill saving per month Percent of energy bill
0 percent (max saving) about 39,600 about 11 percent
30 percent about 29,900 about 8 percent
50 percent (safereserve backup)scenario about 21,700 about 6 percent

Saving versus backup reserve

How the numbers are built (auditable working)

Consumption used:and meter_100,phase reconciliation

The tariff-band series used by the 3-phasearbitrage aggregatecalculation (~averages 22.3 kWh/day)day:

BandkWh/dayAverage kW
Off-peak (00:00–06:00)3.60.60
Shoulder (06:00–18:00)10.50.88
Peak (18:00–24:00)8.21.36

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.

[!warning] Reconciliation required
The three summaries do not currently reconcile. The banded series is 1.0 kWh/day above the per-phase aggregate, while the listed customer meters are about 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, but the source extracts must be aligned before attributing the gaps. The published arbitrage result uses the 22.3 kWh/day tariff-band series; retain this as a scoped estimate until the interval coverage is reconciled.

Indicative customer-to-phase mapping

Phasemeter_100 (kWh/day)BandListed customer meters (kWh/day)kWh/dayavg kW
Off-peak (00-06)3.60.60
Shoulder (06-18)10.50.88
Peak (18-24)8.21.36

Per phase (daily): L1 10.3 kWh (46 percent), L2 5.2 (23 percent), L3 5.8 (26 percent).

Which customer is on which phase (inferred by voltage match, all high-confidence)

PhaseLoad (kWh/day)Customer meters (kWh/day)
L110.3 (46 percent)002 (5.7), 003 (4.5), 008 (0.1), 011 (0.1): total ~10.4
L25.1 (23 percent)2009 (2.3), 007 (1.6), 010 (1.2): total ~5.1
L35.3 (26 percent)8006 (2.7), 005 (2.1), 004 (0.5): total ~5.3

Voltage matching suggests the mapping above, but it should remain labelled indicative until validated against wiring records or a controlled load test. The twoconcentration biggestof consumerscustomers (002 and 003) both sit003 on L1, so L1 carries about half the site. This isindicates a possible phase-balancing /and power-quality issueissue.

(voltage
sag

[!warning] onThree-phase L1;operating assumption
The economic model currently treats the fixbattery isas able to moveoffset 002aggregate orthree-phase 003imports. toBefore anotheroperational phase),deployment, notconfirm anboth arbitrage(a) issue:whether the SRNE is a three-phase inverter andsupports shiftssufficiently the total energy across all phases, which is what the arbitrage uses. (Customer-sum per phase 10.3/5.1/5.3 matches meter_100's ownasymmetric per-phase 10.3/5.2/5.8,discharge aand clean(b) cross-check.)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

  1. Tag every 15-minute interval as off-peak / shoulder / peak.
  2. Baseline (no battery): each kWh costs its band price.
  3. 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.
  4. Peak (18-24): discharge to cover load instead of buying at 666.5 UGX/kWh, down to the reserve floor.
  5. Shoulder: idle.
  6. 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 = about 477 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 eatsconsumes about 48 of that,UGX/kWh, leaving aboutapproximately 189 usableUGX per delivered kWh. "Gross"This is a gross margin before marginal battery wear. The daily theoretical energy cap is the per-cyclesmaller batteryof wearpeak cost,demand which on this thin margin is no longer negligible (see the "not free money" note below). The battery cycles once a day, so it can shift at mostand 8.9 x (1 - reserve) kWh,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:

Reserve scenarioTheoretical daily capReported gross saving/monthImplied delivered shift
0 percentmin(8.2 peak load, 8.9 battery) = 8.2 kWh/day39,600 UGX~6.9 kWh/day
30 percentmin(8.2, 6.23) = 6.23 kWh/day29,900 UGX~5.2 kWh/day
50 percentmin(8.2, 4.45) = 4.45 kWh/day21,700 UGX~3.8 kWh/day

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 onlypresent. 8.2These kWhfigures anyway,should whichbe isregenerated whyafter the monthlyload-series figuresreconciliation and three-phase constraints are modest.resolved.

Investment metrics

No money is invested (the battery is owned), so there is no IRR or payback. The 20-yearGross value of the arbitrageexisting stream,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 atgross 15bill-saving percent,value before monetized battery wear is about 1.9M UGX at 15 percent (2.6M at 10 percent,percent and 1.3M at 25 percent). ItCapacity 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 upside on owned hardware that declines as the battery ages.estimated.

ItIncremental isvalue notfrom quitesunk "free money"hardware

EvenAlthough withthere is no incremental capex, cycling the battery consumes a slice of itsthe battery's finite life, so there iscreating a real degradation/marginal degradation and opportunity cost per kWh cycled.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

  1. Arbitrage alone savesproduces about 22,000 to 40,000 UGX/month in gross bill savings before monetized wear (6 to 11 percent of the bill). onNet ownedeconomic hardware,value andwill thebe margin shrinks further net of degradation.lower.
  2. The reliability dial is cheap on wear:A 50 percent reserve scenario roughly halves thegross savingsavings versus 0zero percent,reserve. butNo atservice-life underguarantee onefollows from cycle perfrequency dayalone: thecalendar batteryaging, laststemperature, 15depth yearsof ordischarge, more.charge rate, warranty terms, and operating conditions also determine life.
  3. Strategic read: arbitrage is a minor ancillary benefit, not the money story. Solar is (see the Solar 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.

Battery aging erodes savings

See also Optimal Solar and Battery Allocation and Battery Price Break-Even.

Assumptions and exclusions

ItemTreatment in this scoping case
TariffQ3 2026 Code 10.2 time-of-use energy rates; configurable with effective dates
Fixed monthly service chargeExcluded because battery dispatch cannot avoid it
Taxes and tariff ridersNot separately modeled; confirm whether quoted rates are the complete avoidable energy charge
Round-trip lossesIncluded through a 90 percent round-trip-efficiency assumption
Other inverter and auxiliary consumptionNot separately itemized beyond the round-trip assumption
Capacity fadeIncluded in the long-horizon stream by fading usable capacity to 50 percent by year 20
Marginal degradation costAcknowledged but not monetized or deducted from reported gross savings
Forecast and control errorNot modeled; the current policy is greedy rather than forecast-optimized
Backup valueNot monetized; represented only through reserve scenarios
Three-phase constraintsAggregate netting assumed; inverter asymmetry and meter netting require validation

Caveats

GreedyThis policy;is a scoping result, not a dispatch guarantee. A forecast-driven, degradation-aware controller wouldmay arbitragecycle less often but moreshould profitably.target Ignoreshigher thenet value. The fixed monthly service charge (is not offsettable).avoidable. TreatsThe the battery as arbitrage-dedicated, whereas its realbattery's primary role is backup, whichso isreserve whyshould be selected from critical-load and outage-duration requirements rather than described as inherently “safe.” Re-run the reservecase tradeoffafter matters.reconciling the source series, validating three-phase behavior, and assigning a defensible marginal wear cost.