A method for collecting and processing interaction data used as an input for one or more of a machine learning algorithm and a predictive analytic algorithm, the method comprising: recording, by a processing device, one or more electronic interactions between a user and a software program via a user interface to obtain recorded session data; estimating, by the processing device in real-time, a satisfaction of the user with the software program based on one or more metrics determined from at least one of the one or more interactions between the user and the software program; measuring, by the processing device, the one or more electronic interactions between the user and the software program based on the one or more metrics to obtain metric data; providing, by the processing device, the recorded session data and the metric data as an input for the one or more of the machine learning algorithm and the predictive analytic algorithm, wherein the one or more of the machine learning algorithm and the predictive analytic algorithm scores the individual interaction session to determine a nature of the one or more electronic interactions between the user and the software program and the satisfaction of the user; combining the scored individual interaction session with a plurality of other scored individual interaction sessions to obtain a combined score; and predicting one or more improvements to the software program that results in a maximum improvement in the satisfaction of the user based on the combined score, the one or more improvements comprising updates to the software to replace old software, updates to revise an interface of the software, updates to remove features of the software or updates to add new features to the software. recording, by a processing device, one or more electronic interactions between a user and a software program via a user interface to obtain recorded session data; estimating, by the processing device in real-time, a satisfaction of the user with the software program based on one or more metrics determined from at least one of the one or more interactions between the user and the software program; measuring, by the processing device, the one or more electronic interactions between the user and the software program based on the one or more metrics to obtain metric data; providing, by the processing device, the recorded session data and the metric data as an input for the one or more of the machine learning algorithm and the predictive analytic algorithm, wherein the one or more of the machine learning algorithm and the predictive analytic algorithm scores the individual interaction session to determine a nature of the one or more electronic interactions between the user and the software program and the satisfaction of the user; combining the scored individual interaction session with a plurality of other scored individual interaction sessions to obtain a combined score; and predicting one or more improvements to the software program that results in a maximum improvement in the satisfaction of the user based on the combined score, the one or more improvements comprising updates to the software to replace old software, updates to revise an interface of the software, updates to remove features of the software or updates to add new features to the software.