IP Library Granted Patent US 10,528,652
Granted Patent B2
US 10,528,652 · App. 16/049,384 · Granted Jan 7, 2020

Generating predictive models for authoring short messages

Inventors: Tanya Goyal (Mumbai, IN); Kokil Jaidka (Bangalore, IN); Frederic Mary (Maisons-Alfort, FR)
Assignees: Adobe Inc.; Neolane SAS
G06F17/24G06F17/276G06Q30/0202G06Q30/0242G06Q30/0244G06Q30/0251
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,528,652
App. No.
16/049,384
Granted
Jan 7, 2020
Kind
B2
Abstract

A method for generating predictive insights for authoring messages is provided. The method includes receiving a message to be sent as an input. Key performance indicator (KPI) whose value is to be predicted for the message is identified from the input or marketing tool configuration. A plurality of feature vectors of the message are generated. KPI contributions for the plurality of feature vectors are determined using feature vectors of messages sent in past and tracked KPI values of the messages sent in past. The KPI contribution is a measure of contribution of feature vector to value of the KPI. Value of the KPI for the message is predicted by applying determined KPI contributions to the plurality of feature vectors. Apparatus for substantially performing the method as described herein is also provided.

Claims (66)

1. A computer-implemented method for generating predictive models for electronic messages, the method comprising:

accessing a plurality of messages sent in the past with observed key performance indicator (KPI) values;

generating feature vectors for the messages sent in the past;

determining KPI contributions for the feature vectors, wherein the KPI contributions comprise a measure of contribution of a feature vector to a KPI value; and

generating a predictive model based on the feature vectors and the KPI contributions, that when provided a message as input, predicts a KPI value for the message by applying the determined KPI contributions to a plurality of feature vectors for the message.

2. The method as recited in claim 1 , wherein the message is at least one of:

a subject line of a marketing message; or

a push message.

3. The method as recited in claim 1 , wherein generating the feature vectors for the messages sent in the past comprises passing the message to be sent through a language parser.

4. The method as recited in claim 1 , further comprising:

identifying one or more filters associated with the messages sent in the past;

clustering the messages sent in the past based on the one or more filters, wherein messages in a given cluster have common filters; and

for each cluster, determining KPI contributions of feature vectors of messages in that cluster.

5. The method as recited in claim 1 , further comprising:

tracking an actual KPI value for the message after the message is sent; and

using tracked KPI value as feedback to update the KPI contributions for the feature vectors of the message.

6. The method as recited in claim 1 , wherein generating the feature vectors for the messages sent in the past comprises:

identifying words in a message sent in the past;

mapping the identified words in the message sent in the past to one or more concepts; and

associating a feature vector for each of the one or more concepts with the message sent in the past.

7. The method as recited in claim 1 , wherein determining the KPI contributions for the feature vectors comprises solving a function that equates a KPI value for a message sent in the past with a sum of the feature vectors for the messages sent in the past multiplied by a respective KPI contribution.

8. The method as recited in claim 1 , further comprising:

tracking activities for the messages sent in the past, the activities comprising when the messages are sent, if and when the messages are opened, and if and when a link in the messages is accessed; and

using the tracked activities to generate the KPI values for each message sent in the past.

9. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a computer system to:

access a plurality of messages sent in the past with observed key performance indicator (KPI) values;

generate feature vectors for the messages sent in the past;

determine KPI contributions for the feature vectors, wherein the KPI contributions comprise a measure of contribution of a feature vector to a KPI value; and

generate a predictive model based on the feature vectors and the KPI contributions, that when provided a message as input, predicts a KPI value for the message by applying the determined KPI contributions to a plurality of feature vectors for the message.

10. The non-transitory computer readable storage medium as recited in claim 9 , wherein the instructions, when executed by the at least one processor, cause the computer system to generate the feature vectors for the messages sent in the past by:

identifying words in a message sent in the past using a language parser;

mapping the identified words in the message sent in the past to one or more concepts; and

associating a feature vector for each of the one or more concepts with the message sent in the past.

11. The non-transitory computer readable storage medium as recited in claim 9 , wherein the instructions, when executed by the at least one processor, cause the computer system to determine the KPI contributions for the feature vectors by solving a function that equates a KPI value for a message sent in the past with a sum of the feature vectors for the messages sent in the past multiplied by a respective KPI contribution.

12. The non-transitory computer readable storage medium as recited in claim 9 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

track activities for the messages sent in the past, the activities comprising when the messages are sent, if and when the messages are opened, and if and when a link in the messages is accessed; and

use the tracked activities to generate the KPI values for each message sent in the past.

13. A system for generating predictive models for electronic messages, the system comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium storing instructions thereon that, when executed by the at least one processor, cause the system to:

track messages sent in past;

track values of key performance indicators (KPIs) for messages sent in past;

cluster messages based on one or more filters associated with the messages; and

determine, for each cluster, a predictive model for predicting KPI value using the messages in the cluster and tracked KPI values by:

generating feature vectors for the messages sent in the past in the cluster; and

determining KPI contributions for the feature vectors, wherein the KPI contributions comprise a measure of contribution of a feature vector to a KPI value.

14. The system as recited in claim 13 , wherein generating the feature vectors for the messages sent in the past comprises:

identifying words in a message sent in the past;

mapping the identified words in the message sent in the past to one or more concepts; and

associating a feature vector for each of the one or more concepts with the message sent in the past.

15. The system as recited in claim 13 , wherein determining the KPI contributions for the feature vectors comprises solving a function that equates a KPI value for a message sent in the past with a sum of the feature vectors for the messages sent in the past multiplied by a respective KPI contribution.

16. The system as recited in claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to track messages sent in past by tracking activities for the messages sent in the past, the activities comprising when the messages are sent, if and when the messages are opened, and if and when a link in the messages is accessed.

17. The system as recited in claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive a message to be sent as an input,

predict a KPI value for the message to be sent by applying the determined KPI contributions to feature vectors of the message to be sent; and

present the predicted KPI value and the message to be sent.

18. The system as recited in claim 17 , further comprising instructions that, when executed by the at least one processor, cause the system to:

identify words, in the message to be sent, which correspond to feature vectors that positively or negatively impact the KPI value, wherein the impact of a feature vector is determined based on a corresponding KPI contribution; and

indicate the identified words along with the impact.

19. The system as recited in claim 18 , further comprising instructions that, when executed by the at least one processor, cause the system to:

alter the message to be sent based on the impact of the identified words; and

predict a KPI value for the altered message.

20. The system as recited in claim 18 , further comprising instructions that, when executed by the at least one processor, cause the system to:

identify one or more filters associated with the messages sent in the past;

cluster the messages sent in the past based on the one or more filters, wherein messages in a given cluster have common filters; and

determine, for each cluster, KPI contributions of feature vectors of messages in that cluster.

Assignments (3)
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2018
From: GOYAL, TANYA; JAIDKA, KOKIL
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 046504/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2018
From: MARY, FREDERIC
To: NEOLANE SAS
Reel/Frame 046504/0662 →