Predicting Groundwater with 93% ML Accuracy

Contents
Why forecast groundwater at all
If a community knows a well is trending toward failure months ahead, it can ration, recharge, or plan a shared source. A number after the well runs dry helps no one. Bhujal's model exists to move that warning earlier.
The data
Our first model was trained on Bilaspur:
- Historical piezometer water-level readings
- Rainfall and temperature series
- Borewell depth, geology and land-use context
Ground truth comes from real piezometer wells, which is what keeps the model honest as seasons change.
Features that mattered
Not everything helped. The signal concentrated in a handful of features:
- Lagged water levels (the recent past predicts the near future)
- Cumulative seasonal rainfall
- Distance to recharge zones and surface water
The model
We kept it deliberately boring — gradient-boosted trees over engineered features — because it's interpretable and cheap to retrain. On held-out months it reached roughly 93% accuracy against measured levels.
Keeping it honest
A model that isn't retrained rots. We fold in fresh piezometer readings continuously, watch for drift, and treat any single prediction as a range, not a promise.
What's next
Expanding beyond Bilaspur means more piezometer coverage. The method travels; the data has to be earned district by district.