  Small and marginal farmers, who account for over 80% of India's agricultural
population, often sell their harvest at low, unfavorable prices before
spoilage. These farmers often lack access to either cold storage or market
forecasts. In particular, by having access to cold storage, farmers can store
their produce for longer and thus have more flexibility as to when they should
sell their harvest by. Meanwhile, by having access to market forecasts, farmers
can more easily identify which markets to sell at and when. While affordable
cold storage solutions have become more widely available, there has been less
work on produce price forecasting. A key challenge is that in many regions of
India, predominantly in rural and remote areas, we have either very limited or
no produce pricing data available from public online sources.
  In this paper, we present a produce price forecasting system that pulls data
from the Indian Ministry of Agriculture and Farmers Welfare's website
Agmarknet, trains a model of prices using over a thousand markets, and displays
interpretable price forecasts in a web application viewable from a mobile
phone. Due to the pricing data being extremely sparse, our method first imputes
missing entries using collaborative filtering to obtain a dense dataset. Using
this imputed dense dataset, we then train a decision-tree-based classifier to
predict produce prices at different markets. In terms of interpretability, we
display the most relevant historical pricing data that drive each forecasted
price, where we take advantage of the fact that a wide family of
decision-tree-based ensemble learning methods are adaptive nearest neighbor
methods. We show how to construct heuristic price uncertainty intervals based
on nearest neighbors. We validate forecast accuracy on data from Agmarknet and
a small field survey of a few markets in Odisha.
