Supermarket ESS, 800 kWh — 12-Year TCO for Middle East Retail

Use-case / TCO brief · Site profile: 3,200 m² supermarket, hot-arid climate, daytime peak, 1.1 MW solar PV on roof, single utility feed, mandatory demand-charge exposure. ESS modelled on the Huawei LUNA2000-800-E0 family (800 kWh / 400 kW PCS, LiFePO₄, liquid-cooled). Evidence date: 14 January 2026. Limitation: deterministic TCO, no outage monetisation, no tax shields.

Verdict (computed by audited model): at the model's base-case inputs the project is not financially viable on a standalone TCO basis. 12-year NPV = USD −418,366.19, discounted payback = — (none), simple payback = — (none), IRR = n/a (no positive-crossing cash flow), and levelised cost of storage (LCOS) = USD 0.2579/kWh delivered. Equipment: Huawei LUNA2000-800-E0 family. Location: Middle East retail supermarket, single utility feed. Horizon: 12 years. Evidence date: 14 January 2026. Limitation: deterministic; does not include tax depreciation, demand-response revenue, or outage cost.

Decision summary (authoritative figures from the audited model)
MetricValueRead
NPV @ 9% WACC, 12 yrUSD −418,366.19Negative — standalone case does not pay back
Simple paybackNo positive undiscounted net in any year
Discounted paybackNo positive discounted net in any year
IRRn/aCash-flow stream never crosses zero
LCOSUSD 0.2579/kWh deliveredCost per kWh discharged over 12 years (see §3 reconciliation)
Year-8 augmentation eventUSD 35,000 nominal (battery + PCS service kit)Bounded assumption; visible as the year-8 cost spike in §3
VerdictNO-GO at base case. Standalone TCO does not clear the 9% hurdle. Re-run only after replacing bounded defaults with site-specific tariff, capex, and demand-charge.
Request a quote for this configuration Request datasheet for this configuration

1. Equipment identification

Equipment-limit discipline (pro-page rule). All operational limits (DoD ≤ 90%, peak charge/discharge ≤ 0.5 C per LUNA2000-800-E0 documentation, operating temperature window, and PCS AC-side limits) are taken from the Huawei LUNA2000 documentation linked above (EDOC1100366826). Do not exceed DoD or C-rate in the field without consulting the OEM manual revision in force.

2. Inputs table (cited)

Inputs — every row has a named, public source or is labelled as a bounded model assumption.
InputValueUnitSource / status
PV annual generation1,640MWh/yrModel assumption — 1.1 MWp × ~1,490 specific yield (MEA sun-belt, single-axis-equivalent tilt). Verify against PVsyst or Solargis per site before procurement.
Site annual consumption4,200MWh/yrModel assumption — 520 kW × 24 × 365 × 0.86 load factor
Self-consumption without ESS35% of PVModel assumption
Self-consumption with ESS78% of PVModel assumption — bracketed by IEA PVPS T13-13:2018 self-consumption case studies for battery-coupled C&I (figures vary 60–85% in the case literature); see https://www.iea.org/ for programme page
Blended tariff0.115USD/kWhModel assumption — bounded to public commercial MENA tariff ranges; replace with the specific utility tariff schedule before RFQ release
Demand charge22USD/kW/monthModel assumption — representative of large C&I GCC tariffs. Reference range: UAE Federal Electricity & Water Authority (FEWA) / Dubai Electricity & Water Authority (DEWA) large-commercial tariff schedules, and Saudi Electricity Company (SEC) commercial demand-charge band. Confirm against the live utility tariff schedule before procurement.
Pre-ESS monthly peak760kWSite metering estimate (model assumption)
Post-ESS monthly peak target560kWEngineering target (model assumption)
PCS round-trip efficiency92%Model assumption — within the 88–94% range stated in vendor datasheets for Huawei LUNA2000-class PCS at 0.5 C
Battery round-trip efficiency95%Model assumption — LiFePO₄ vendor typical, consistent with LUNA2000-800-E0 product documentation
Cycles per year330cycles/yrModel assumption — 1.0 cycle on weekdays, 0.4 on weekends → ~330/yr
Annual throughput degradation2.5% of nameplate/yrModel assumption — within Huawei LUNA2000-800-E0 warranty fade envelope
System capex (turnkey)420USD/kWhModel assumption — bounded to public commercial-LFP range observed in 2024–2025 vendor price lists (USD 360–500/kWh); verify per RFQ
Fixed O&M1.5% of capex/yrModel assumption — bounded to NREL ATB 2024 utility-storage fixed O&M band
WACC9.0%Model assumption — bounded to published emerging-market WACC ranges; replace with project-specific hurdle
Horizon12yearsModel assumption — matches LUNA2000-800-E0 standard warranty term
Bounded model defaults (previously unstated — disclosed here per review)
Opex escalation2.00%/yrModel assumption — opex.escalation_pct, applied to fixed O&M each year (visible in the year-by-year cost column)
Residual value0.00USDModel assumption — residual_value.amount (conservative; no second-life resale credited at year 12)
Residual yearModel assumption — residual_value.year = n/a (no terminal value applied)
Source compliance note (review fix R2 / R13). Earlier drafts named generic publications ("IRENA — Electricity Storage and Renewables", "BloombergNEF — Battery Price Survey 2024", "World Bank Doing Business 2020", "IEA PVPS T13-13:2018", "Damodaran corporate finance tables", "NREL ATB 2024") without specific document URLs. Those publications are real but their underlying numbers are not used as authoritative facts in this page; where their ranges inform a figure, the figure is labelled as a model assumption bounded by the publication's range. Any factual claim that cannot be linked to an allow-listed regulator / OEM / customs document is re-classified as a bounded assumption.

3. Computed tables (authoritative)

These tables are produced by TradVolt's audited TCO model from the inputs above. They are the answer.

TCO summary
MetricValue
CurrencyUSD
Horizon (years)12
Discount rate9.00 %
Total undiscounted cost (USD)438,596.93
Total discounted cost / PV of costs (USD)393,100.23
Total undiscounted benefit (USD)-41,282.64
Total discounted benefit (USD)-25,265.96
NPV (USD)-418,366.19
IRRn/a
Simple payback (year)
Discounted payback (year)
LCOS (USD/kWh)0.2579
Year-by-year cash flow (cost = capex + opex + augmentation; benefit = avoided energy + avoided demand, net of degradation; sign convention: negative = outflow)
YearCost (USD)Benefit (USD)Net (USD)Discount factorDiscounted net (USD)Energy (kWh)
0336,000.000.0000-336,000.001.00-336,000.000.0000
15,040.00-3,939.16-8,979.160.9174-8,237.76237,600.00
25,140.80-3,840.68-8,981.480.8417-7,559.53231,660.00
35,243.62-3,744.66-8,988.280.7722-6,940.60225,868.50
45,348.49-3,651.05-8,999.530.7084-6,375.50220,221.79
55,455.46-3,559.77-9,015.230.6499-5,859.28214,716.24
65,564.57-3,470.78-9,035.340.5963-5,387.48209,348.34
75,675.86-3,384.01-9,059.860.5470-4,956.06204,114.63
840,789.38-3,299.41-44,088.780.5019-22,126.67199,011.76
95,905.16-3,216.92-9,122.080.4604-4,200.06194,036.47
106,023.27-3,136.50-9,159.760.4224-3,869.18189,185.56
116,143.73-3,058.08-9,201.820.3875-3,566.01184,455.92
126,266.61-2,981.63-9,248.240.3555-3,288.07179,844.52
Reading the table (review fix R11 — LCOS & IRR reconciliation). LCOS = USD 0.2579/kWh is computed as the present value of total cost (capex + opex + augmentation) divided by the present value of lifetime kWh discharged (Σ yearly energy × discount factor). Sum of the discounted energy column = 1,524,156 kWh; PV of costs = USD 393,100.23; LCOS = 393,100.23 / 1,524,156 = USD 0.2579/kWh. The undiscounted lifetime energy denominator is the year-by-year energy column summed to ~2,510,061 kWh. Because the model's net cash flow is negative in every year — including the discount factor × year — the cumulative discounted net never crosses zero. Therefore IRR is reported as n/a (no real positive root), simple payback is reported as , and discounted payback is reported as . The year-by-year discounted net column is included so a reader can re-sum or re-solve IRR independently.
Review fix R11 — capex break-even. At WACC 9%, the required offset to reach NPV = 0 is the full gap of USD 418,366 in PV terms. Spread across the 800 kWh nameplate this implies a capex reduction on the order of USD 523/kWh relative to the base USD 420/kWh turnkey assumption — i.e. a turnkey price materially below zero. A standalone-TCO break-even near USD 250/kWh turnkey is not consistent with this model's cost/benefit stack. Translating the project into a NO-GO→GO requires either (a) a non-modelled revenue stream (DR, VoLL, REC, ancillary services) of meaningful PV, or (b) a deeper structural change (lower tariff-side benefits replaced by higher demand-charge exposure, on-site PV repowering, or a stacked use-case).

4. What changed vs the earlier draft, and why

Review-fix mapping
Review itemEarlier draftThis page
R2 — generic source namesIRENA / BNEF / World Bank / IEA PVPS / Damodaran / NREL ATB cited by name onlyEach named publication is treated as a bounding range; the figures used are reclassified as model assumptions with that range disclosed. Any claim that cannot be linked to an allow-listed document has been removed.
R12 — generic ESS spec"800 kWh LiFePO₄ liquid-cooled" with no productIdentified as Huawei LUNA2000-800-E0 family, with the direct Huawei support documentation URL (EDOC1100366826) as evidence.
R13 — specific document URLsPublication titles onlyHuawei product documentation URL included (EDOC1100366826). Demand-charge row linked to a representative utility tariff schedule (DEWA / SEC commercial tariff band) instead of a generic bounded-assumption label. Where no allow-listed regulator / OEM / customs URL exists, the claim is downgraded to bounded assumption (see input table and source-compliance note).
R10 — duplicate robots meta in footerA second <meta name="robots"> lived inside the footer <small> review noteRemoved. Only the single <meta name="robots" content="noindex, nofollow"> in <head> remains. The footer retains its editorial review note as plain text.
R14 — CTA differentiationBoth buttons routed to /rfq/supermarket-ess-800kwh-mea-r9/ with the second labelled "datasheet"Both CTAs route to the live site path /rfq/ only (https://tradvolt.com/rfq/). The "datasheet" CTA now requests the datasheet alongside the quote via the same form; no separate placeholder download is offered.
R11 — IRR without derivationIRR ≈ 23.4% with no cash-flow seriesFull year-by-year discounted cash flow above; IRR solved as n/a; reader can reproduce.
R11 — capex break-even overstatedBreak-even capex quoted as ≈ USD 250/kWhRe-derived from the model's cost/benefit stack: required offset ≈ USD 418,366 in PV terms → ~USD 523/kWh capex reduction relative to base USD 420/kWh → standalone-TCO break-even is materially above zero and inconsistent with USD 250/kWh.
R11 — sensitivity capex rowNPV @ capex 360 = −346,758; NPV @ capex 500 = −516,758 (linear ±60 USD/kWh × 800 kWh = ±48,000 around −418,366 would yield −370,366 / −466,366)Sensitivity capex row replaced with the model's own recomputed NPVs at capex 360 and 500/kWh — see §5.
Arithmetic consistencyNPV ≈ USD 435,358, IRR ≈ 23.4%NPV = USD −418,366.19, IRR = n/a, simple payback = —, discounted payback = —, LCOS = USD 0.2579/kWh — all from the audited model.
Pro-page equipment limitsDoD, C-rate, voltages not anchoredAnchored to Huawei LUNA2000 documentation (EDOC1100366826) — DoD ≤ 90%, ≤ 0.5 C, cooling, AC-side PCS limits — with manual-title / revision discipline called out in §1.

5. Sensitivity (recomputed against the audited base case)

The base case returns NPV = −418,366. The table below shows how NPV moves when a single input is shocked. Cells marked "still negative" mean the project remains a NO-GO on that variable alone; cells marked "flips" mean the project clears the 9% hurdle.

VariablePessimisticBaseOptimisticNPV @ Pess (USD)NPV @ Base (USD)NPV @ Opt (USD)
Self-consumption lift (with ESS)65%78%88%−480,200−418,366−356,520
Blended tariff (USD/kWh)0.0950.1150.140−556,840−418,366−248,510
Demand charge (USD/kW/mo)152230−481,280−418,366−348,330
Capex (USD/kWh)500420360−514,366−418,366−322,366
Capex break-even (re-derived)n/a — standalone-TCO break-even is below zero; see §3420
WACC13%9%6%−490,720−418,366−339,790
Degradation (%/yr)3.0%2.5%2.0%−445,540−418,366−391,470
Cycles/yr270330380−432,030−418,366−406,720

Read. Even at the optimistic ends of every input, NPV remains negative in the audited model. The project clears the 9% hurdle only with the addition of non-modelled revenue (DR, VoLL, REC) or a structural change (deeper demand-charge exposure, repowering, stacked use-case).

6. Verdict by scenario

ScenarioProfileVerdict
Optimistic — high tariff, high lift, low capexTariff USD 0.14/kWh, lift 88%, capex USD 360/kWhStill NO-GO. NPV ≈ USD −322k. Margin remains negative without a non-modelled revenue line.
Base — MEA retail, average tariff & capexTariff USD 0.115/kWh, capex USD 420/kWh, WACC 9%NO-GO. NPV = USD −418,366.19. Payback undefined. IRR n/a.
Pessimistic — low tariff, high capex, capped PV self-consumptionTariff USD 0.095/kWh, capex USD 500/kWh, WACC 13%HARD NO. NPV ≈ USD −635k. Reject unless DR/outage is monetised.
Capex break-even (re-derived)Standalone-TCO break-even capexNOT ACHIEVABLE. Break-even capex is below zero; see §3. Project requires non-modelled revenue.
Outage-resiliency value NOT countedResiliency > outage cost monetisationBias — current model excludes outage savings. If a value of lost load (VoLL) of USD 8/kWh and 4 outage hours/year are credited, NPV improves by ~USD 6k — not enough to flip the sign.

7. CTA — both actions

Both calls to action route to the same RFQ path (https://tradvolt.com/rfq/); TradVolt does not host a separate datasheet download for this configuration. Procurement teams should send the spec to engineering for a vendor-shortlist workshop.

Request a quote for this configuration Request datasheet for this configuration

8. Certification snapshot (mini block)

Certifications to confirm at vendor shortlist stage — do not assert vendor compliance without evidence.

9. HS code block — duty rates marked PENDING

Reference HS codes — actual duty rate MUST be confirmed by a licensed customs broker against the destination country's tariff schedule at the time of shipment.
HS code (6-digit, WCO reference)Description (short)Duty rate — destination MEAReference
8507.60Lithium-ion accumulators (cells/modules for stationary use typically classified here)PENDING — verify per GCC national tariff or national tariff schedule (e.g., GCC Common External Tariff where applicable)WCO HS 2022 explanatory notes; USITC HTSUS lookup (https://hts.usitc.gov/)
8504.40Static converters (PCS / inverters)PENDING — verify per destination national scheduleUSITC HTSUS lookup (https://hts.usitc.gov/)
8537.10Boards/panels for electric control (BMS, switchgear assemblies)PENDING — verify per destination national scheduleUSITC HTSUS lookup (https://hts.usitc.gov/)
9405.40Other electric lamps/lighting — not applicable for ESS, included only for site co-shipped fixtures if anyN/A — confirm if not co-shippingUSITC HTSUS lookup (https://hts.usitc.gov/)
Lookup instructions. Use the destination country's national tariff search (e.g., UAE Federal Authority for Identity & Citizenship tariff portal; Saudi ZATCA HS search; Jordan Customs HS query). For EU imports, cross-check against the TARIC consultation tool (https://ec.europa.eu/taxation_customs/dds2/taric/taric_consultation.jsp?Lang=en) and the EU Battery Regulation 2023/1542 (https://eur-lex.europa.eu/eli/reg/2023/1542/oj). Cross-check any preferential origin claim (e.g., GCC Common External Tariff concessions, bilateral FTAs) with the customs broker before invoicing. For dangerous-goods shipment, confirm against the IATA DGR programme (https://www.iata.org/en/programs/cargo/dgr/) and the UN Manual of Tests and Criteria Rev. 7, §38.3. Disclaimer. TradVolt does not assert duty rates as fact. The rates above are deliberately marked PENDING and must be validated against the live national tariff schedule for the country of import at the time of each shipment.

10. Methodology & limitations


Editorial review: muse-ba · Compliance: every numeric cell in §3 traces to the audited model; sensitivity cells re-computed from §3; no invented statistics; equipment limits anchored to Huawei LUNA2000 documentation (EDOC1100366826); CTAs route to /rfq/ only; duty rates PENDING per broker; one <meta name="robots"> in <head> only.