MESSAGING SELECTION SYSTEMS IN NETWORKED ENVIRONMENTS
Users of personalized messaging systems can encounter message fatigue, thereby reducing the efficacy of a message on its intended recipient. Message fatigue can result in wasted computational resources and bandwidth as messages transmitted over a network to the user's client device are not acted upon at the client device. For applications involving desired user interactions and responses, personalized messaging can be a tool to achieve user engagement targets. The systems and methods presented herein may address several of the technical challenges with personalized messaging.
1 . A method of selecting messages to transmit across networked environments, comprising:
identifying, by at least one server having one or more processors, a plurality of message objects, each message object of the plurality of message objects associated with one or more of a plurality of endpoints to be achieved;
determining, by the at least one server for each message object of the plurality of message objects, a number of users associated with a plurality of remote computing devices to which a corresponding message is presented that satisfied at least one of one or more of the plurality of endpoints of the message object;
determining, by the at least one server for each message object of the plurality of message objects, a performance score for the message object based on the number of users that were presented with the corresponding message and that satisfied at least one of one or more of the plurality of behavior endpoints of the message object;
ranking, by the at least one server, the plurality of message objects based on a corresponding plurality of performance scores; and
restricting, by the at least one server, based on the ranking of the plurality of message objects, at least a subset of the plurality of message objects from being used to generate messages for transmission to the plurality of remote computing devices.
2 . The method of claim 1 , wherein identifying the plurality of message objects further comprises identifying the plurality of message objects of a first message type, each message object of the plurality of message objects of the first message type defining a message template for generating a corresponding message, the corresponding message having one or more input elements when presented on the plurality of remote computing devices.
3 . The method of claim 1 , further comprising:
identifying, by the at least one server, a second plurality of message objects, each message object of the second plurality of message objects associated with the one or more endpoints to be achieved, and
selecting, by the at least one server, for transmission, a subset of the second plurality of message objects based on one or more of the plurality of endpoints to be achieved associated with a remaining subset of the plurality of message objects of the first message type subsequent to removal of at least the subset.
4 . The method of claim 3 , wherein each message object of the second plurality of message objects is of a second message type different from a first message type for the plurality of message objects, each message object of the second plurality of message objects of the second message type defining a message template for generating a corresponding message, the corresponding message lacking any input elements when presented on the plurality of remote computing devices.
5 . The method of claim 1 , further comprising:
for each message object of the plurality of message objects:
identifying, by the at least one server, in each response to a message corresponding to the message object when presented on one of the plurality of remote computing devices, an input on one or more input elements of the corresponding message; and
determining, by the at least one server, for each response to the corresponding message, that at least one of one or more of the plurality of endpoints of the message object is satisfied based on the input on the one or more input elements of the message, and
wherein determining the number of users further comprises determining the number of users based on the determination, for each message object of the plurality of message, that at least one of one or more of the plurality of endpoints of the message object is satisfied.
6 . The method of claim 1 , further comprising establishing, by the at least one server, a performance model for determining performance scores using a training dataset, the training dataset including historical response data from users for one or more of the plurality of candidate message objects, and
wherein determining the performance score further comprises applying the performance model to responses received from the plurality of remote computing devices responsive to the presentation of the corresponding message.
7 . The method of claim 1 , further comprising:
determining, by the at least one server, for each message object of the plurality of message objects, that at least one of one or more of the plurality of endpoints of the message object is satisfied based on an input on the one or more input elements of a message corresponding to the message object; and
updating, by the at least one server, a performance model for determining performance scores using the determination, for each message object of the plurality of message objects, that at least one of one or more of the plurality of endpoints of the message object is satisfied.
8 . The method of claim 1 , further comprising attributing, by the at least one server, one or more of the plurality of endpoints to each message object of the plurality of message objects based on responses received from the plurality of remote computing devices responsive to the presentation of the corresponding message.
9 . The method of claim 1 , wherein restricting at least the subset further comprises restricting at least the subset of the plurality of message objects based on a comparison between the performance scores and a threshold value, the threshold value defined by a message selection policy.
10 . The method of claim 1 , further comprising permitting, by the at least one server, transmission of a plurality of messages corresponding to a remaining subset of the plurality of message objects across the plurality of remote computing devices.
11 . A system for selecting messages to transmit across networked environments, comprising:
at least one server having one or more processors coupled with memory, configured to:
identify a plurality of message objects, each message object of the plurality of message objects associated with one or more of a plurality of endpoints to be achieved;
determine, for each message object of the plurality of message objects, a number of users associated with a plurality of remote computing devices to which a corresponding message is presented that satisfied at least one of one or more of the plurality of endpoints of the message object;
determine, for each message object of the plurality of message objects, a performance score for the message object based on the number of users that were presented with the corresponding message and that satisfied at least one of one or more of the plurality of behavior endpoints of the message object;
rank the plurality of message objects based on a corresponding plurality of performance scores; and
restrict, based on the ranking of the plurality of message objects, at least a subset of the plurality of message objects from being used to generate messages for transmission to the plurality of remote computing devices.
12 . The system of claim 11 , wherein the at least one server is further configured to identify the plurality of message objects of a first message type, each message object of the plurality of message objects of the first message type defining a message template for generating a corresponding message, the corresponding message having one or more input elements when presented on the plurality of remote computing devices.
13 . The system of claim 11 , wherein the at least one server is further configured to:
identify a second plurality of message objects, each message object of the second plurality of message objects associated with the one or more endpoints to be achieved, and
select a subset of the second plurality of message objects based on one or more of the plurality of endpoints to be achieved associated with a remaining subset of the plurality of message objects of the first message type subsequent to removal of at least the subset.
14 . The system of claim 11 , wherein each message object of the second plurality of message objects is of a second message type different from a first message type for the plurality of message objects, each message object of the second plurality of message objects of the second message type defining a message template for generating a corresponding message, the corresponding message lacking any input elements when presented on the plurality of remote computing devices.
15 . The system of claim 11 , wherein the at least one server is further configured to:
for each message object of the plurality of message objects:
identify, in each response to a message corresponding to the message object when presented on one of the plurality of remote computing devices, an input on one or more input elements of the corresponding message; and
determine, for each response to the corresponding message, that at least one of one or more of the plurality of endpoints of the message object is satisfied based on the input on the one or more input elements of the message, and
determine the number of users based on the determination, for each message object of the plurality of message, that at least one of one or more of the plurality of endpoints of the message object is satisfied.
16 . The system of claim 11 , wherein the at least one server is further configured to
establish a performance model for determining performance scores using a training dataset, the training dataset including historical response data from users for one or more of the plurality of candidate message objects, and
determine the performance score by applying the performance model to responses received from the plurality of remote computing devices responsive to the presentation of the corresponding message.
17 . The system of claim 11 , wherein the at least one server is further configured to
determine, for each message object of the plurality of message objects, that at least one of one or more of the plurality of endpoints of the message object is satisfied based on an input on the one or more input elements of a message corresponding to the message object; and
update a performance model for determining performance scores using the determination, for each message object of the plurality of message objects, that at least one of one or more of the plurality of endpoints of the message object is satisfied.
18 . The system of claim 11 , wherein the at least one server is further configured to attribute one or more of the plurality of endpoints to each message object of the plurality of message objects based on responses received from the plurality of remote computing devices responsive to the presentation of the corresponding message.
19 . The system of claim 11 , wherein the at least one server is further configured to restrict at least the subset of the plurality of message objects based on a comparison between the performance scores and a threshold value, the threshold value defined by a message selection policy.
20 . The system of claim 11 , wherein the at least one server is further configured to permit transmission of a plurality of messages corresponding to a remaining subset of the plurality of message objects across the plurality of remote computing devices.