Since 2024, grid-scale batteries have gone from negligible to price-shaping — charging through the solar-flooded midday and discharging into the evening peak. These views track how the daily price shape, spikes and negative prices are moving as storage and renewables scale.
Hourly-average price (line) against BESS charge/discharge bars — storage buying the trough and selling the peak. Pick a year and month below the chart (months without data are greyed out); axes are fixed across all periods so shapes stay comparable.
How the daily price shape deepens at midday as solar output grows — the duck curve forming year over year. Full history back to 2018: pick a year and month below the chart and step through the duck actually forming.
Price shape against wind output — flatter and less diurnal than solar's signature. Full history back to 2018; pick a year and month below the chart.
Wind, utility solar and rooftop as a share of regional demand, back to 2018 — the volume driver behind everything below: penetration is why capture ratios decay, negatives multiply and the duck deepens. Per-farm performance behind these totals: Wind · Solar dashboards (rooftop has no farms — it appears only here).
7-day average MW, back to 2018 — the renewables/fossil crossover is a decade story. Storage is shown separately below as its % of demand rather than sharing the top axis: in raw MW it is genuinely small next to a fossil/renewable stack an order of magnitude larger, so on one shared axis it would sit flat near zero regardless of how fast it is actually growing. % of demand is the scale that shows the real (and revenue-relevant) trend, and it is the same metric the BESS-penetration charts below use.
Yellow lines: the TB2/TB4 benchmark — the spread a perfectly timed 2-hour / 4-hour battery could earn from daily price shape, shown back to 2018. Teal: what the region's actual BESS fleet realized (energy-weighted discharge price minus charge price); it starts only once a real fleet exists (months under 5% of recent fleet volume are suppressed as noise). The years of benchmark with no teal line ARE the point: the spread was on offer long before storage arrived to capture it — and watch the yellow lines compress as it does.
Generation-weighted price ÷ time-weighted price. Below the 100% line, a technology earns less than the market average because it produces when everyone else does — solar cannibalisation, quantified monthly. The low solar readings are real: AEMO’s Q3 2025 QED puts NEM grid-scale solar VWAP at $26/MWh against an $87 time-weighted average (≈30%). Shown back to 2018 — the decay from near-parity to today's ratios is the whole cannibalisation arc. Months with under a tenth of typical fleet volume are suppressed as unreliable.
Average price in the solar trough (10:00–16:00) against the evening peak (17:00–21:00), back to 2018. The shaded gap between the lines is the duck deepening — and it is exactly the spread storage gets paid to close.
Monthly BESS energy penetration vs average price. Correlation, not causation — but the trend is the story.
Intraday price range (daily max−min, monthly average) vs BESS penetration — storage compresses the spread it feeds on.
The saturation question in one frame: the tradeable top-2h/bottom-2h spread (what a battery can actually earn from daily shape) against how much storage is chasing it. Raw range beside it can stay wild on spike days; TB2 is the revenue-relevant series to watch for compression.
Monthly spike share back to 2018 against BESS discharge — scarcity was always part of this market; the line joining partway through is batteries showing up where it pays.
Monthly negative-price share back to 2018 against BESS charging — negatives multiplied for years before storage arrived to absorb them; the flat-zero years of the charge line are the before picture.