A method, performed by a computing device, comprising: extracting, by the computing device, one or more features from messages received by a mobile communication device; obtaining, by the computer device, information about a user context associated with a user of the mobile communication device; obtaining, by the computer device, information about one or more user actions associated with the messages, wherein the information includes information about a response time associated with a particular message, wherein the response time corresponds to an amount of time between when the user received the particular message and when the user responded to the particular message; determining a mean response time for the messages; generating, by the computer device, a priority function that relates a particular response time to a particular priority level by associating a medium priority level, for the priority function, with response times within a standard deviation of the mean response time; associating a high priority level, for the priority function, with response times lower than the response times within the standard deviation of the mean response time; and associating a low priority level, for the priority function, with response times more than the response times within the standard deviation of the mean response time; generating, by the computer device, a model associated with the user, wherein the model relates the extracted one or more features to a priority level based on the obtained information about the one or more user actions, based on the obtained information about the user context, and based on the generated priority function; and using, by the computer device, the generated model to determine a priority level for a message received by the mobile communication device. extracting, by the computing device, one or more features from messages received by a mobile communication device; obtaining, by the computer device, information about a user context associated with a user of the mobile communication device; obtaining, by the computer device, information about one or more user actions associated with the messages, wherein the information includes information about a response time associated with a particular message, wherein the response time corresponds to an amount of time between when the user received the particular message and when the user responded to the particular message; determining a mean response time for the messages; generating, by the computer device, a priority function that relates a particular response time to a particular priority level by associating a medium priority level, for the priority function, with response times within a standard deviation of the mean response time; associating a high priority level, for the priority function, with response times lower than the response times within the standard deviation of the mean response time; and associating a low priority level, for the priority function, with response times more than the response times within the standard deviation of the mean response time; associating a medium priority level, for the priority function, with response times within a standard deviation of the mean response time; associating a high priority level, for the priority function, with response times lower than the response times within the standard deviation of the mean response time; and associating a low priority level, for the priority function, with response times more than the response times within the standard deviation of the mean response time; generating, by the computer device, a model associated with the user, wherein the model relates the extracted one or more features to a priority level based on the obtained information about the one or more user actions, based on the obtained information about the user context, and based on the generated priority function; and using, by the computer device, the generated model to determine a priority level for a message received by the mobile communication device.