Finding the Real Onset
Ninth entry in this series. The previous post traced zero violations at every customer count back to the real explanation: 2012–2013 capacity data is too small relative to today's typical installs, not too few customers. This post is where capacity, not count, actually got swept — and where the located onset landed almost exactly on a number nobody chose in advance.
The right lever
With N=25 customers fixed at their real bus locations, each customer's real PV capacity and export shape was scaled by a transparent multiplier — starting at five points, later extended to ten to precisely locate the onset rather than just bracket it. Every point: the full real 17,520-event year, exhaustive audit, zero solver failures across all 175,200 solves in the extended sweep.
| Scale | Capacity | Max V | Violations | Recall | Precision | |---|---|---|---|---|---| | 1.0× (2012–13 actual) | 1.5 kW | 1.00001 | 0 | — | 0.0% | | 2.0× | 3.0 kW | 1.02395 | 0 | — | 0.0% | | 3.0× | 4.5 kW | 1.04779 | 0 | — | 0.0% | | 4.31× (real growth factor) | 6.5 kW | 1.07830 | 0 | — | 0.0% | | 4.5× | 6.8 kW | 1.08277 | 0 | — | 0.0% | | 5.0× | 7.5 kW | 1.09461 | 0 | — | 0.0% | | 5.0×–5.5× | 7.5–8.2 kW | — onset crosses 1.10 p.u. here — | | | | 5.5× | 8.2 kW | 1.10665 | 7 | 100.0% | 0.2% | | 6.0× (≈today's install size) | 9.0 kW | 1.11869 | 58 | 100.0% | 1.3% | | 6.5× | 9.8 kW | 1.13071 | 155 | 100.0% | 3.4% | | 7.0× | 10.5 kW | 1.14272 | 308 | 100.0% | 6.7% |
Clean, monotonic dose-response. The onset sits precisely between 5.0× (zero violations) and 5.5× (seven violations) — and that band sits almost exactly at the independently-measured real national growth factor of 4.31×, confirmed separately from the AEMO decade-series data, not chosen to make this table look tidy. Today's typical new-install capacity, around 6×, is already comfortably past onset.
The other half of the story: recall is perfect, precision collapses
Every severity past onset shows 100% recall — the magnitude-based selector catches every real violation, at every scale tested. That's the opposite failure mode from the German series: there, magnitude screening missed most violations (15.5% recall). Here, it never misses one.
But precision falls apart: 0.2% at 5.5×, only 6.7% even at 7.0×. Same class of screening rule, same audit methodology, applied to two real problems — and it fails in opposite directions depending on context. That's not a contradiction to explain away; it's a real, mechanistic difference this comparison was built to surface, and the explanation is where this series goes next.
Reproducibility: 10-point capacity-scale sweep, full census at each point
# Network R, N=25 fixed at real bus locations, real export shape scaled
for scale in [1.0, 2.0, 3.0, 4.31, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0]:
# full 17,520-event year, exhaustive audit, zero solver failures
# onset located between 5.0x (0 violations) and 5.5x (7 violations)
pass
# Cross-check: 4.31x is the real, independently-measured AEMO decade
# growth factor (2017-2025), not selected after seeing this table.
Full script: au_capacity_sweep.py in the Australia repository.


