In a method of for generating a crop recommendation, a plurality of data sets are received by a computer system from a plurality of disparate data sources, wherein each of said plurality of data sets describes a factor affecting a crop. A benchmark is created by the computer system for each of the data sets which describes how the factor affects the market value of the crop. A model is generated by the computer system which describes the crop based upon each of said benchmarks from the plurality of data sets. A report is then generated by the computer system comprising at least one recommendation to increase the market value of the crop.