A churn prediction model is presented that uses both behavioral data as well as user characteristics to predict whether a given user will churn (i.e., stop using) an application. Initially a training set of user interactions can be correlated to a churn probability value for various sequences of user activity. Then, as regards a real time user, user actions in navigating through the app may be recorded, and this information can be used, in addition to user characteristics, to predict the probability that this user will churn, thus implementing in a “nip churn in the bud” approach (or, the inverse, remain loyal and continue to use the app). In some embodiments, a partial set of user actions can be identified as subsequences of known churn sequences. To users performing those subsequences of activity, a real time message, offer or promotion may be sent so as to influence them not to churn. In exemplary embodiments of the present invention, user data may be uploaded from a user's device to proprietary or cloud servers. Churn analysis, or a more detailed churn analysis, using up to the minute collective data for the given app, may, for example, be performed on those servers.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A processor-implemented method for predicting user churn, the method comprising: collecting, using one or more data processors: user data corresponding to a user of an application program running on a user device, the user data including user basic attribute information, and user interaction data associated with the application program, including at least one of (i) which user interface screens were visited, (ii) in which sequence, and (iii) which events were engaged in at each screen; determining, using the data processors, a similar user group for the user based on the user data; determining, using the data processors, one or more discriminating patterns from the user interaction data; selecting at least one of said discriminating patterns according to a defined set of rules, calculating a probability that the user will churn or be loyal to the application program; and at least one of: storing the probability on the user device, and transmitting the probability for the user to a server. 2. The method of claim 1, wherein the similar user group is assigned based on either (i) clustering done on one of a training set or (ii) updated clustering performed by a back-end server. 3. The method of claim 1, wherein the similar user group is assigned based on initial clustering done on a training set, as periodically updated using all then available user data, 4. The method of claim 1, wherein the discriminating patterns comprise one of: a sequence of user interface screens visited by the user, or a sequence of user interface screens visited by the user and the actions taken at each user interface screen. 5. The method of claim 1, wherein the selected discriminating pattern is chosen based on length, being the longest pattern. 6. The method of claim 1, wherein of multiple discriminating patterns the longest is chosen, and wherein if there exist multiple discriminating patterns of equal length, the one with the highest churn probability is chosen. 7. The method of claim 1, wherein a probability that a user will churn is calculated after each user interaction with a user interface screen. 8. The method of claim 7, wherein in response to a probability above a defined level indicating churn, messages are sent to the user to direct the user to visit one or more specific user interface screens to diminish the probability of churning. 9. A non-transitory computer-readable medium including one or more sequences of instructions that, when executed by one or more processors, cause: collecting: user data corresponding to a user of an application program running on a user device, the user data including user basic attribute information, and user interaction data associated with the application program, including at least one of: (i) which user interface screens were visited, (ii) in which sequence, and (iii) which events were engaged in at each screen; determining of a similar user group for the user based on the user data; determining of one or more discriminating patterns from the user interaction data; selecting at least one of said discriminating patterns according to a defined set of rules; and calculating a probability that the user will churn or be loyal to the application program. 10. A computer system comprising: one or more processors; and a memory accessible to the one or more processors, the memory storing instructions executable by the one or more processors to: collect: (i) user data corresponding to a user of an application program running on a user device, the user data including user basic attribute information, and (ii) user interaction data associated with the application program, determine a similar user group for the user based on the user data; determine one or more discriminating patterns from the user interaction data; select at least one of said discriminating patterns according to a defined set of rules, calculate a probability that the user will churn or be loyal to the application program; and at least one of: store the probability on the user device, and transmit the probability for the user to a server. 11. The computer system of claim 10, wherein the similar user group is assigned based on either (i) clustering done on one of a training set or (ii) updated clustering performed by a back-end server. 12. The computer system of claim 10, wherein the similar user group is assigned based on initial clustering done on a training set, as periodically updated using all then available user data, 13. The computer system of claim 10, wherein the discriminating patterns comprise one of: a sequence of user interface screens visited by the user, or a sequence of user interface screens visited by the user and the actions taken at each user interface screen. 14. The computer system of claim 10, wherein the selected discriminating pattern is chosen based on length. 15. The computer system of claim 10, wherein of multiple discriminating patterns the longest is chosen, and wherein if there exist multiple discriminating patterns of equal length, the one with the highest churn probability is chosen. 16. The computer system of claim 10, wherein a probability that a user will churn is calculated after each user interaction with a user interface screen. 17. The computer system of claim 16, wherein in response to a churn probability above a defined level, messages are sent to the user to direct the user to visit one or more specific user interface screens to diminish the probability of churning. 18. The computer system of claim 10, further comprising at least one of: storing the probability on the user device, and transmitting the probability for the user to a server. 19. The computer system of claim 10, wherein said calculating a probability is performed on a server, and in response to a churn probability above a defined level, messages are sent to a user device to direct the user to visit one or more specific user interface screens to diminish the probability of churning. 20. The method of claim 1, wherein said calculating a probability is performed on a user device, and user data is uploaded from the user device to proprietary or cloud servers. 21. The method of claim 20, wherein a more detailed churn analysis, using up to the minute collective data for the given app, is performed on the servers.