A method comprising: Receiving, by a processor of a server, user data from one or more devices of a user comprising at least one of: i) a medical health record; ii) measurable physical activity data; iii) social networking and/or online usage data; and iv) contextual cues data, determining, by the processor of the server, a satisfaction level of the user with a wellness plan based on a learned statistical model which is a trained machine learning model; and selectively sending, by the processor of the server, a communication to a different user based on the satisfaction level, wherein the determining a satisfaction level of the user with a wellness plan based on a learned statistical model comprises: extracting one or more features from the user data; and mapping the one or more features extracted to a predicted satisfaction level based on the learned statistical model which is trained based on extracted features of training data corresponding to the one or more features extracted from the user data, wherein the learned statistical model is trained based on extracted features from the training data comprising at least one of performance-related data and social/context-related data for the plurality of users and a ground-truth user satisfaction data indicative of one or more satisfaction levels of the plurality of users with the wellness plan. Receiving, by a processor of a server, user data from one or more devices of a user comprising at least one of: i) a medical health record; ii) measurable physical activity data; iii) social networking and/or online usage data; and iv) contextual cues data, i) a medical health record; ii) measurable physical activity data; iii) social networking and/or online usage data; and iv) contextual cues data, determining, by the processor of the server, a satisfaction level of the user with a wellness plan based on a learned statistical model which is a trained machine learning model; and selectively sending, by the processor of the server, a communication to a different user based on the satisfaction level, wherein the determining a satisfaction level of the user with a wellness plan based on a learned statistical model comprises: extracting one or more features from the user data; and mapping the one or more features extracted to a predicted satisfaction level based on the learned statistical model which is trained based on extracted features of training data corresponding to the one or more features extracted from the user data, wherein the learned statistical model is trained based on extracted features from the training data comprising at least one of performance-related data and social/context-related data for the plurality of users and a ground-truth user satisfaction data indicative of one or more satisfaction levels of the plurality of users with the wellness plan. extracting one or more features from the user data; and mapping the one or more features extracted to a predicted satisfaction level based on the learned statistical model which is trained based on extracted features of training data corresponding to the one or more features extracted from the user data, wherein the learned statistical model is trained based on extracted features from the training data comprising at least one of performance-related data and social/context-related data for the plurality of users and a ground-truth user satisfaction data indicative of one or more satisfaction levels of the plurality of users with the wellness plan.