A computer implemented method for dynamically modelling personal characteristics of a user based on observed behaviors and activities of the user, the method comprising: a) receiving, by a computing system, first data regarding different personal characteristics of a user, providing a first vector of personal characteristics of said user based on said received first data; b) receiving, by the computing system, second data regarding behavior and activity characteristics of the user, providing a second vector of behavior and activity characteristics of the user based on said received second data; c) receiving, by the computing system, third data regarding one or more subjective wellbeing measures of the user, providing a third vector of wellbeing measures of the user based on said received third data; d) calculating, by the computing system, exhibited personal characteristics of the user using the first and second vectors of the user by means of: - calculating a behavior and activity distribution matrix LDM of the user by concatenating the second vector of the user with second vectors of other users stored in a database; - calculating a correlation matrix C by correlating the first vector with the second vector; - calculating a weight matrix by implementing the following equation: W = LDM × C, where × is the matrix multiplication operator; and - calculating the exhibited personal characteristics by implementing the following equation: PC → exhibited j = PC → med + PC → med. w ( j) = PC med (1 + w ( j)), where PC med is the median of the first vector and (·) is the Hadamard product of the weights of the user with said median of the first vector; e) calculating, by the computing system, a miss-alignment parameter between the calculated exhibited personal characteristics and the first vector of the user; f) creating, by the computing system, a reference group for the user, said reference group comprising a plurality of users having a higher third vector and lower miss-alignment parameter than the user; g) implementing, by the computing system, a similarity measure between the user and the reference group to identify which of said plurality of users within the reference group has more characteristics in common with the user; h) determining, by the computing system, from the most similar users of said reference group, an optimal behavior and activity distribution vector for the user, and using the optimal behavior and activity distribution vector to recommend behavior and activity modifications to the user to improve the user's wellbeing. a) receiving, by a computing system, first data regarding different personal characteristics of a user, providing a first vector of personal characteristics of said user based on said received first data; b) receiving, by the computing system, second data regarding behavior and activity characteristics of the user, providing a second vector of behavior and activity characteristics of the user based on said received second data; c) receiving, by the computing system, third data regarding one or more subjective wellbeing measures of the user, providing a third vector of wellbeing measures of the user based on said received third data; d) calculating, by the computing system, exhibited personal characteristics of the user using the first and second vectors of the user by means of: - calculating a behavior and activity distribution matrix LDM of the user by concatenating the second vector of the user with second vectors of other users stored in a database; - calculating a correlation matrix C by correlating the first vector with the second vector; - calculating a weight matrix by implementing the following equation: W = LDM × C, where × is the matrix multiplication operator; and - calculating the exhibited personal characteristics by implementing the following equation: PC → exhibited j = PC → med + PC → med. w ( j) = PC med (1 + w ( j)), where PC med is the median of the first vector and (·) is the Hadamard product of the weights of the user with said median of the first vector; - calculating a behavior and activity distribution matrix LDM of the user by concatenating the second vector of the user with second vectors of other users stored in a database; - calculating a correlation matrix C by correlating the first vector with the second vector; - calculating a weight matrix by implementing the following equation: W = LDM × C, where × is the matrix multiplication operator; and - calculating the exhibited personal characteristics by implementing the following equation: PC → exhibited j = PC → med + PC → med. w ( j) = PC med (1 + w ( j)), where PC med is the median of the first vector and (·) is the Hadamard product of the weights of the user with said median of the first vector; e) calculating, by the computing system, a miss-alignment parameter between the calculated exhibited personal characteristics and the first vector of the user; f) creating, by the computing system, a reference group for the user, said reference group comprising a plurality of users having a higher third vector and lower miss-alignment parameter than the user; g) implementing, by the computing system, a similarity measure between the user and the reference group to identify which of said plurality of users within the reference group has more characteristics in common with the user; h) determining, by the computing system, from the most similar users of said reference group, an optimal behavior and activity distribution vector for the user, and using the optimal behavior and activity distribution vector to recommend behavior and activity modifications to the user to improve the user's wellbeing.