In nutrition programs across rural Madhya Pradesh and Odisha, the goal was ambitious: identify children at risk of malnutrition early enough to intervene before decline set in. Working at Dimagi and with the American India Foundation, I trained a machine learning model designed to aid that — predicting nutritional decline before it occurred. Through extensive collaboration, our team co-designed an ML model objective and program that identified and provided early resources for children priority-ranked by their risk of four types of nutritional transition: transitioning from normal to stunting, wasting, becoming underweight, or underweight and worsening.
Using data from 22,767 children tracked over 18 months, the model used 120 days of past growth trajectories to predict nutritional decline transitions 60 days into the future. A random forest classifier, trained on 26 engineered features, identified the children most at risk in each village. When ranking the four highest-risk children per village, the model correctly flagged 48% of those who would actually develop malnutrition. This represented a 3.4x improvement over random selection, and a meaningful gain for workers managing overwhelming caseloads with limited time.
The full write-up is available on Dimagi's blog.
The lesson I carry from this project: solving the right problem matters more than building the best model. Other ML work in this space had focused on detecting current malnutrition status — a cleaner problem, but not the one frontline workers needed solved. Getting to the right problem required sustained collaboration between technical and nutrition program teams. That's the difference between a model that performs well on paper and one that actually changes what happens in the field.