IP Library › Granted Patent US 12,271,833
Granted Patent B2
US 12,271,833 · App. 16/371,107 · Granted Apr 8, 2025

Multi-model based account/product sequence recommender

Inventors: Jere Armas Michael Helenius (Cupertino, CA); Nandan Gautam Thor (Mountain View, CA); Gorkem Kilic (Amsterdam, NL); Juho Pekanpoika Parviainen (Sunnyvale, CA); Erik Michael Bower (San Francisco, CA)
Assignee: Palo Alto Networks, Inc.
G06N5/048G06N3/044G06N3/08G06Q30/0202G06N20/20
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 12,271,833
App. No.
16/371,107
Granted
Apr 8, 2025
Kind
B2
Abstract

To automatically identify a sequence of recommended account/product pairs with highest likelihood of becoming a realized opportunity, an account/product sequence recommender uses an account propensity (AP) model and a reinforcement learning (RL) model and target engagement sequence generators trained on historical time series data, firmographic data, and product data. The trained AP model assigns propensity values to each product corresponding to received account characteristics. The trained RL model generates an optimal sequence of products that maximizes the reward over future realized opportunities. The target engagement sequence generators create target engagement sequences corresponding to the optimal sequence of products. The recommender prunes the optimal sequence of products based on the propensity values from the trained AP model, the completeness of these target engagement sequences, and a desired product sequence length. The recommender uses the remaining products, validated on three models, for account/product recommendations.

Claims (50)

1. A method comprising:

generating a first plurality of product propensity values with a trained propensity model that has been trained with first training data corresponding to a first account, wherein the first plurality of product propensity values generated for a first plurality of product identifiers;

generating a first product path with a trained reinforcement learning model, wherein the first product path comprises a second plurality of product identifiers and wherein the trained reinforcement learning model was trained with the first training data and wherein the first plurality of product identifiers includes the second plurality of product identifiers;

determining that a first subset of the first plurality of product propensity values satisfies a propensity threshold for the first account;

identifying a first subset of the second plurality of product identifiers that corresponds to the first subset of product propensity values; and

indicating the first subset of the second plurality of product identifiers in a sequence according to the first product path.

2. The method of claim 1 further comprising:

detecting account characteristic values corresponding to the first account; and

selecting the trained propensity model from a plurality of trained propensity models and the trained reinforcement learning model from a plurality of trained reinforcement learning models, based, at least in part, on the detected account characteristic values.

3. The method of claim 2 , wherein each of the plurality of trained propensity models and each of the plurality of trained reinforcement learning models were trained with data corresponding to different accounts.

4. The method of claim 1 further comprising determining, for each product identifier in the first subset of the second plurality of product identifiers, a sequence of contacts to engage about a product identified by the product identifier.

5. The method of claim 4 , wherein determining, for each product identifier in the first subset of the second plurality of product identifiers, a sequence of contacts to engage comprises:

for each product identifier in the first subset of the second plurality of product identifiers, retrieving a trained artificial recurrent neural network from a plurality of artificial recurrent neural networks based, at least in part, on product characteristic values of a product identified by the product identifier and account characteristic values for the first account;

generating a sequence of organizational classifications with each of the retrieved artificial recurrent neural networks; and

identifying a contact for each of the sequence organizational classifications.

6. The method of claim 5 further comprising determining that each of the first subset of the second plurality of product identifiers corresponds to a sequence of organizational classifications with a sequence completeness above a threshold sequence completeness value.

7. The method of claim 1 further comprising determining that each of the first subset of the second plurality of product identifiers is within a threshold distance of the first product path.

8. The method of claim 1 , wherein the trained propensity model is a random forest based model.

9. The method of claim 1 , wherein the trained reinforcement learning model is trained with Q-learning.

10. A non-transitory, machine-readable medium having program code stored thereon that is executable by a machine, the program code comprising instructions to:

invoke a first trained propensity model to generate a first plurality of propensity values for a first plurality of products a first account;

invoke a first trained reinforcement learning model to generate a first product path for a first product of the first plurality of products that corresponds to a maximal of the first plurality of propensity values, wherein the first product path identifies a first set of products from the first plurality of products in a particular order to present to the first account for a highest likelihood of a successful outcome for the first product; and

associate contacts of the first account for at least a first subset of the first set of products.

11. The non-transitory, machine-readable medium of claim 10 , wherein the program code further comprises instructions to prune the first product path based, at least in part, on a propensity threshold.

12. The non-transitory, machine-readable medium of claim 11 , wherein the instructions to associate contacts comprise instructions to associate contacts of the first account for those of the first set of products remaining after the pruning.

13. The non-transitory, machine-readable medium of claim 11 , wherein the propensity threshold corresponds to the first account.

14. The non-transitory, machine-readable medium of claim 10 , wherein the instructions to invoke the first trained propensity model comprise instructions to invoke the first trained propensity model with first input comprising characteristics of the first account and product features of the first plurality of products.

15. The non-transitory, machine-readable medium of claim 10 , wherein the program code comprises instructions to:

invoke a second trained reinforcement learning model to generate a second product path for a second product of the first plurality of products that corresponds to the maximal or a second maximal of the first plurality of propensity values, wherein the second product path identifies a second set from the first plurality of products in a particular order to present to the first account for a highest likelihood of a successful outcome for the second product; and

associate contacts of the first account for at least a first subset of the second set of the first plurality of products.

16. The non-transitory, machine-readable medium of claim 10 , wherein the program code further comprises instructions to:

for each product of at least the first subset of the first set of the first plurality of products, generate a sequence of organizational classifications with a trained artificial recurrent neural network retrieved based, at least in part, on the first product,

wherein the contacts are determined from the sequence of organizational classifications.

17. An apparatus comprising:

a processor; and

a machine-readable medium having instructions stored thereon that are executable by the processor to cause the apparatus to,

detect account characteristic values corresponding to a first account;

retrieve a trained propensity model from a plurality of trained propensity models and a trained reinforcement learning model from a plurality of trained reinforcement learning models, based, at least in part, on the detected account characteristic values;

generate a first plurality of product propensity values with the trained propensity model based, at least in part, on the detected account characteristic values and product features of a first plurality of products;

generate a first product path for a first product of the first plurality of products with the trained reinforcement learning model, wherein the first product corresponds to a maximal one of the first plurality of product propensity values and the first product path identifies a first set of products of the first plurality of products including the first product;

prune the first product path based on a propensity threshold for the first account and those of the first plurality of product propensity values corresponding to the first set of products; and

indicate the pruned first product path.

18. The apparatus of claim 17 , wherein the machine-readable medium further comprises instructions executable by the processor to cause the apparatus to:

determine, for each product identified in the pruned first product path, a sequence of contacts to engage about the product.

19. The apparatus of claim 18 , wherein the instructions to determine, for each product identified in the pruned first product path, a sequence of contacts to engage comprise instructions to:

for each product identified in the pruned first product path, retrieve a trained artificial recurrent neural network from a plurality of artificial recurrent neural networks based, at least in part, on product characteristic values of the identified product and account characteristic values for the first account;

generate a sequence of organizational classifications with each of the retrieved artificial recurrent neural networks; and

identify a contact for each of the sequence of organizational classifications.

20. The apparatus of claim 17 , wherein the machine-readable medium further comprises instructions executable by the processor to cause the apparatus to:

determine whether each of the first set of products is within a threshold distance of the first product path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2019
From: HELENIUS, JERE ARMAS MICHAEL; THOR, NANDAN GAUTAM; KILIC, GORKEM; PARVIAINEN, JUHO PEKANPOIKA; BOWER, ERIK MICHAEL
To: PALO ALTO NETWORKS, INC.
Reel/Frame 048750/0483 →
Continuity (1)
Related Publication 20200311585A1 · Oct 1, 2020
References Cited (17)
US 7403904B2 · Abe et al. · 2008 [cited by applicant]
US 7945473B2 · Fano et al. · 2011 [cited by applicant]
US 11017038B2 · Botea · 2021 [cited by examiner]
US 20020138285A1 · Decotiis et al. · 2002 [cited by applicant]
US 20070112615A1 · Maga et al. · 2007 [cited by applicant]
US 20170255945A1 · McCord · 2017 [cited by examiner]
US 20200065863A1 · Hong · 2020 [cited by examiner]
CN 108921624A · 2018 [cited by applicant]
GB 2427043A · 2006 [cited by applicant]
Paul E. Black, “greedy algorithm”, in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. Feb. 2, 2005. Available from: https://www.nist.gov/dads/HTML/greedyalgo.html. [cited by examiner]
Mirylenka, Katsiaryna et al. “Recurrent neural networks for modeling company-product time series.” Proceedings of AALTD (Year: 2016). [cited by examiner]
Jiao, Jianxin et al. “Product portfolio identification based on association rule mining.” Computer-Aided Design 37.2 (Year: 2005). [cited by examiner]
Dogan, Ibrahim, and Ali R. Güner. “A reinforcement learning approach to competitive ordering and pricing problem.” Expert Systems 32.1 (Year: 2015). [cited by examiner]
Chandra, et al., “Evolutionary Training of Hybrid Systems of Recurrent Neural Networks and Hidden Markov Models”, International Journal of Applied Mathematics and Computer Sciences vol. 3 No. 3, 2006, 6 pages. [cited by applicant]
Krakovna, et al., “Increasing the Interpretability of Recurrent Neural Networks Using Hidden Markov Models”, 2016 CML Workshop on Human Interpretability in Machine Learning (WHI 2016), New York, NY, USA., Sep. 30, 2016,… [cited by applicant]
Lang, et al., “Understanding Consumer Behavior with Recurrent Neural Networks”, Proceedings of the International Workshop on Machine Learning Methods for Recommender Systems. 2017., 8 pages. [cited by applicant]
Wessels, et al., “Refining Hidden Markov Models with Recurrent Neural Networks”, Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks. IJCNN 2000. Neural Computing: New Challenges and Pers… [cited by applicant]