New tool, for anyone booking something outdoors months ahead or trying to work out when to paint.
Pick a town and a month and it tells you how many days in a hundred actually see rain. Second tab: pick a job and it tells you the odds of getting enough dry days in a row to finish it.
The reason it works in rain days rather than millimetres is that millimetres are the wrong number for planning. A month can carry a big total in two downpours and still be mostly dry. Every page I could find ranking for “driest month in Johannesburg” answers in millimetres, and none of them is a South African site.
Three things that came out of the data and are worth knowing even if you never open the tool.
The country runs two opposite calendars, and the DIY advice ignores it. Mica Hardware has a page saying June is the best month to paint. Handyman Homes has one titled “Why Summer is Ideal”. Both are national, and both are half right. Starting a five day job in Johannesburg in July works out about 93 percent of the time and in December about 11 percent. In Cape Town it flips: about 77 percent in January against about 29 percent in June. Same country, opposite answers, and neither article mentions the other half.
The southern Cape has no season at all. George, Mossel Bay, Oudtshoorn and Plettenberg Bay drizzle at much the same rate in every month of the year. For those towns the tool refuses to name a best month, because all twelve are statistically indistinguishable. That felt like a bug until I checked it against the rainfall normals and realised it is just what an all year rainfall regime looks like.
It will not tell you which Saturday to pick, and that was deliberate. The original plan was exactly that, the driest weekend in November for your wedding. So I tested it: split 46 years into odd and even years, compute each half separately, and ask whether they agree on which day of a month is driest. They agreed 4 percent of the time, which is what random noise gives you. Five day blocks got it to 21 percent, still chance. So anything telling you the 8th is drier than the 22nd is reading noise, and this tool ranks months only and says so on the page.
On the data itself, since someone always asks. 46 years of daily rainfall, 1979 to 2024. Only 29 towns, which is fewer than I wanted, because a town only ships if there is a published Weather Service or NOAA rainfall normal to check it against. The underlying model runs on a grid about 25km across and it cannot tell a mountain from the flats next to it, so in one metro the answer moved by nearly half depending on which point in the city I sampled. Adding towns I could not verify would have meant adding wrong answers exactly where the grid struggles most, which is the Winelands, the Garden Route and the Midlands.
It is historical odds, not a forecast. Use it to choose between months, then use a real forecast in the last week.
Happy to add towns if anyone knows of a published rain day normal for somewhere I have missed.