A computer-implemented method of analyzing and recalibrating parameters associated with an electrical submersible pump, hereinafter abbreviated ESP, the method comprising the steps of: providing an ESP application model; providing a set of ESP output parameters including actual measured output parameters of the ESP; generating a data set to include a plurality of sets of ESP application model input parameters and associated theoretical output parameters for the ESP application model substantially matching the set of measured ESP output parameters from the ESP so as to define a plurality of winning data sets or rows, the generating a data set further comprising the following steps for each of a plurality of training data sets: performing a cluster analysis on the training data set in order to segregate the training data set into a plurality of clusters, each cluster containing a plurality of data rows from the training data set, each data row in the same one of the plurality of clusters having at least similar characteristics, mapping the set of measured ESP output parameters to one of the plurality of clusters responsive to a similarity analysis performed on the theoretical output parameter within each cluster to identify a winning cluster, the winning cluster being the one cluster of at least several data rows collectively having a set of output parameters most closely matching the corresponding set of measured ESP output parameters, and identifying a winning data row within the winning cluster that yields outputs parameters which are the most closest to the corresponding set of measured ESP output parameters to define one of the plurality of winning data rows; and performing an averaging analysis on the plurality of winning data sets or rows to obtain a set of ESP application model input parameters usable to recalibrate the ESP application model. providing an ESP application model; providing a set of ESP output parameters including actual measured output parameters of the ESP; generating a data set to include a plurality of sets of ESP application model input parameters and associated theoretical output parameters for the ESP application model substantially matching the set of measured ESP output parameters from the ESP so as to define a plurality of winning data sets or rows, the generating a data set further comprising the following steps for each of a plurality of training data sets: performing a cluster analysis on the training data set in order to segregate the training data set into a plurality of clusters, each cluster containing a plurality of data rows from the training data set, each data row in the same one of the plurality of clusters having at least similar characteristics, mapping the set of measured ESP output parameters to one of the plurality of clusters responsive to a similarity analysis performed on the theoretical output parameter within each cluster to identify a winning cluster, the winning cluster being the one cluster of at least several data rows collectively having a set of output parameters most closely matching the corresponding set of measured ESP output parameters, and identifying a winning data row within the winning cluster that yields outputs parameters which are the most closest to the corresponding set of measured ESP output parameters to define one of the plurality of winning data rows; and performing a cluster analysis on the training data set in order to segregate the training data set into a plurality of clusters, each cluster containing a plurality of data rows from the training data set, each data row in the same one of the plurality of clusters having at least similar characteristics, mapping the set of measured ESP output parameters to one of the plurality of clusters responsive to a similarity analysis performed on the theoretical output parameter within each cluster to identify a winning cluster, the winning cluster being the one cluster of at least several data rows collectively having a set of output parameters most closely matching the corresponding set of measured ESP output parameters, and identifying a winning data row within the winning cluster that yields outputs parameters which are the most closest to the corresponding set of measured ESP output parameters to define one of the plurality of winning data rows; and performing an averaging analysis on the plurality of winning data sets or rows to obtain a set of ESP application model input parameters usable to recalibrate the ESP application model.