Scenario predictor · what if rainfall comes in low? what if we use more?

When does Day Zero
arrive — and under what?

As of 15 June 2026 the combined system sits at 73.6%. Cape Town's most recent reported daily use is around 859 ML. Pick a rainfall scenario, drag the consumption fader, and pin a configuration to compare two futures on the same chart.

The shaded band shows the central 50% of 1,000 simulated rainfall outcomes; the solid line is the median. Day Zero arrives when combined storage crosses 13.5% — the City's 2018 operational trigger. Read the methodology for what data feeds the model and what its limits are.

Rainfall scenario
Daily consumption850ML/day
600 · drought-era1200 · unrestricted
about today's usage
Projected combined storageMedian · 25–75 band · 1,000 runs
100%75%50%25%0%JUN 26SEPDECMARJUNTODAY · 74%
What this means

Storage stays comfortable — 51% at the low.

Inflow outruns withdrawal at this scenario; the system finishes the simulation higher than it started.

Monthly storage · median path
Jul 26
83%
Aug
88%
Sep
88%
Oct
84%
Nov
81%
Dec
76%
Jan 27
71%
Feb
64%
Mar
58%
Apr
55%
May
51%
Jun
57%
Jul
65%
Aug
71%
What this isn't
Not a forecast

The City of Cape Town's Bulk Water Branch and the Department of Water and Sanitation publish official forecasts. This page is a visualisation tool that explores trade-offs, not a prediction of what will happen.

Not high-resolution

The model runs at monthly granularity using 4 year columns of history aggregated with 148 weekly storage readings stitched together from City dashboard archives 2017–2026. Real hydrology runs at daily resolution and accounts for evaporation, transfers and inter-basin flows that are not modelled here.

Not a single number

Day Zero is not deterministic. Even at the same starting point, different winter rainfall outcomes produce different Day Zero dates — that's why the headline shows a range, not a single date. The uncertainty is the message.

Open data

All inputs to the model are exposed at /api/scenario.json so anyone can rebuild this independently. Documentation at /predictor/api/.