ExcessEnergy.au

Methodology · how we calculate every number

How the calculators actually work

Most online solar calculators don't tell you what data they use, what they assume, or what they leave out. We do the opposite: every source named, every assumption explicit, every limitation acknowledged. If you can't reproduce our numbers from the information on this page, that's a bug. Let us know.

The data layer

Every locality default you see in the calculators comes from a public, named, dated dataset. We don't make up "typical household" numbers; we pull from the best public AU source we can find for each state and tell you which one was used.

NSW

lga_hws_calibrated

Ausgrid LGA-level annual data (FY16–FY25)

32 NSW LGAs covering Sydney metro + Hunter region. Includes residential consumption, hot water consumption, customer counts, and rooftop solar adoption. Calibration is real: our calculator's HWS energy estimate is within ±15% of Ausgrid LGA medians for 60% of LGAs (n=32, FY25). Median bias: +5.6%.

Source ↗

VIC

lga_consumption_solar

CitiPower/Powercor VPN data (2025)

50 LGAs across the Powercor + CitiPower networks. Includes residential consumption + solar adoption by LGA. Important caveat: VIC's published data has no HWS / off-peak breakdown, so we can't HWS-calibrate VIC directly. Our HWS estimate falls back to the same physical model used for NSW, with a VIC climate-zone adjustment. Cross-check: VIC residential consumption is +2.4% vs NSW median — well within tolerance, so the household-size formula generalises.

Source ↗

WA

state_solar_density

AEMO DER Register (2026 snapshot) + AEMO SWIS DPV (2020–2026)

Per-postcode census of solar + battery + EV + CL installs across all 314 real WA postcodes. Includes total PV installs (458,779), median system size (4.16 kVA/install), and battery adoption rate (0.31% of PV installs). Important: WA's Controlled Load column is uniformly zero in the AEMO data because Western Power's L1 hot-water program is administered outside the AEMO DER framework. Our HWS estimate uses the NSW-calibrated formula with WA climate-zone adjustment — explicit caveat shown in the UI when this applies.

Source ↗

QLD, SA, TAS, NT, ACT

national_default

National first-principles defaults

No state-specific dataset is integrated yet. The calculators use a national first-principles model based on AS/NZS 3500.4 cold-water inlet temperatures and household-size HWS demand. Per-state tariff defaults are rough averages from public retailer comparisons — override them with your actual bill for an accurate answer.

The calibration tier system

Every result you see is tagged with a calibration tier (the small italicised line under each calculator's output). The tier tells you how solid the locality data behind that result is.

lga_hws_calibratedLGA-level hot water energy calibration available. The ±15% / +5.6% accuracy claim applies. Currently: NSW.
lga_consumption_solarLGA-level residential consumption + solar adoption defaults. HWS estimated from first principles with climate-zone adjustment; no LGA-specific HWS calibration. Currently: VIC.
state_solar_densityNo LGA aggregates available; state-level solar density / DER data only. HWS + consumption modelled from first principles. Currently: WA.
national_defaultPure first-principles physical model, no localisation. Bottom of the fallback chain. Currently: QLD, SA, TAS, NT, ACT.

The HWS Diverter calculator

The ten-stage pipeline:

  1. Eligibility gate. Gas HWS, heat pump HWS, no HWS, non-homeowner, or no tank access — any of these returns a friendly rejection card instead of a calculation.
  2. Annual HWS energy need = household_size × 50 L × ΔT × specific_heat / heater_efficiency × 365. ΔT comes from your postcode's climate zone.
  3. Available solar surplus = daily_export × 365 × 0.85 (seasonal overlap factor — solar peaks summer, HWS demand peaks winter, the factor captures the mismatch).
  4. Tank absorption ceiling = tank_litres × 45°C ×specific_heat × 365. A small tank limits how much surplus you can store.
  5. Divertible = min of the three. The smallest number is the binding constraint.
  6. Battery interaction. If you have a battery, it consumes surplus before the diverter can.
  7. Capture factor = 0.75. Real-world inefficiency — you don't capture every theoretical kWh.
  8. Grid boost = HWS need − actual diverted. What you still pay for from the grid.
  9. Cost before/after, FiT income lost, net savings.
  10. Capex ($1,300 default), payback, lifetime savings, suitability score, warnings.

The exact Python source-of-truth lives in our open repo at excessenergy-validation/src/calculator.py. The TypeScript implementation that runs in production is parity-tested against it on every change: 8 hand-curated reference cases + 500 randomised scenarios must match within ±1 kWh on integers and ±0.05 yr on payback. CI rejects any drift.

The Export Worth calculator

First-principles arithmetic: annual_export × FiT vs annual_export × retail. The headline gap is what most AU solar households are effectively giving the grid for free every year at 2c FiT vs 33c retail. No calibration involved — just multiplication.

The Battery model

Deliberately conservative. We model solar self-consumption arbitrage only: the battery charges from your solar surplus (energy you'd otherwise export at FiT) and discharges later when you'd otherwise be importing at retail. Per-kWh value = retail − FiT. Net savings = cycled × value, after round-trip efficiency (0.9).

What we don't model (and why):

  • Time-of-use arbitrage on non-solar days. Varies by retailer plan, and modelling it honestly requires per-plan assumptions we can't make for you.
  • Backup power valuation. Subjective and household-specific. If backup matters to you, factor it in separately.
  • VPP enrolment revenue. Programme-specific and changes constantly.
  • Battery degradation. Modest impact (~5% over 10 years for LFP). We'll add it when the model gets more sophisticated.

Net effect: our battery savings number is a lower bound. A real installation may do better via the deferred items. We'd rather understate than overstate.

The 2025 federal Cheaper Home Batteries rebate is applied at $372/kWh of usable capacity (≈30% subsidy), capped at 50 kWh per household, per the ARENA-published guidance. Update annually as the STC value drifts.

What every calculator gets wrong some of the time

The honest list of known weaknesses:

  • Single-occupant households are under-predicted by our HWS model by 20–33%, because the formula doesn't capture fixed standing tank losses that apply regardless of household size. If you live alone, treat the result as a lower bound.
  • Apartment dwellers are usually wrong-targeted. Most apartments have central building HWS the diverter can't reach. The eligibility gate catches this, but you may see a result that overstates feasibility if you have an unusual setup.
  • Real-world performance depends on weather, real solar generation, real export patterns, real HWS usage. We model the central case; your year will differ.
  • The "ground truth" is itself a model. Our HWS estimate is validated against Ausgrid LGA aggregates, which are themselves model-derived. We are not validating against real diverter installations, because that data doesn't exist publicly. The empirical claim has bounds.

The open-source side

The calculation engine is open source: Python validation, TS production, and the parity test suite that keeps them in sync. If you want to audit our maths line-by-line, the code is at github.com/levitatingletteropener/excessenergy. Bug reports and methodology PRs welcome.