One millimetre of rain falling on one square metre is exactly one litre. That identity makes rainwater harvesting one of the tidier calculations in building work, and it is why rainfall is reported as a depth rather than a volume.
The two places it goes wrong are both about what you multiply that depth by.
Use the footprint, not the roof surface
Rain falls vertically. A steep roof and a flat roof covering the same patch of ground intercept exactly the same rain, because they present the same area to the sky.
This is counterintuitive, because a pitched roof plainly has more surface than its footprint. A 30 degree roof over a 120 square metre footprint has 138.6 square metres of actual surface, a slope factor of 1.155. That extra surface is real, and it matters enormously when you are ordering tiles. It does not catch a single extra drop of rain.
Using the sloped area overstates the yield by the slope factor, which on a steep roof is 15 per cent or more. The roof pitch calculator gives the slope factor if you need it for materials, and the rainwater harvesting calculator deliberately asks for the plan area instead.
The runoff coefficient is the second haircut
Not all the rain that lands reaches the tank. Some wets the roof surface and evaporates before it runs anywhere, particularly at the start of a light fall after dry weather. Some overshoots the gutter in heavy rain. Some splashes out at valleys and corners.
What survives is the runoff coefficient, and for a typical pitched tile or metal roof with decent guttering it is about 0.85. Smooth well-guttered metal reaches 0.9. A flat roof where water ponds and evaporates can drop to 0.6.
So a 120 square metre roof in 25 millimetres of rain does not yield 3,000 litres. It yields about 2,550.
Yield arrives in bursts, which is the sizing problem
Averages mislead here. A tank sized to the average monthly rainfall will spend most of the year part empty and will overflow whenever a real storm arrives.
On that same 120 square metre roof, a 25 millimetre fall half fills a 5,000 litre tank. A 50 millimetre fall fills it completely and starts overflowing. Anything above the tank capacity is gone down the overflow pipe, and no amount of subsequent dry weather gets it back.
That is the argument for a larger tank than the monthly average suggests. The constraint is not how much rain falls over a year; it is how much falls between the days you use it.
Divert the first flush
The first few litres off a roof carry whatever has accumulated since the last rain: dust, leaf fragments, bird droppings. A first-flush diverter sends that to waste before the tank valve opens.
It costs a little yield, and it makes a substantial difference to what ends up stored, particularly after a dry spell. On the arithmetic above it is a rounding error; on water quality it is not.
For the tank itself, see the water tank volume calculator. For the separate question of how much a roof weighs in materials, see the piece on roof pitch.