IP Library › Granted Patent US 12,321,832
Granted Patent B2
US 12,321,832 · App. 18/400,156 · Granted Jun 3, 2025

Systems and methods for behavior based messaging

Inventors: Vahid Jalalibarsari (Sunnyvale, CA); Wei Shen (Danville, CA)
Assignee: WALMART APOLLO, LLC
G06N20/00G06F17/18G06N7/00G06Q30/0203
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,321,832
App. No.
18/400,156
Granted
Jun 3, 2025
Kind
B2
Abstract

A system including one or more processors and one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform: calculating a first user propensity score to take first actions and a second user propensity score to take second actions based on at least one feature vector of historical data of a user; using the first user propensity score to place the user into a first segment; using the second user propensity score to place the user into a second segment different than the first segment; and facilitating a display of one or more selectable elements of a GUI for the user based on the first segment and the second segment. Other embodiments are disclosed.

Claims (68)

1. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform functions comprising:

calculating a first user propensity score to take first actions and a second user propensity score to take second actions based on at least one feature vector of historical data of a user;

using the first user propensity score to place the user into a first segment;

using the second user propensity score to place the user into a second segment different than the first segment; and

facilitating a display of one or more selectable elements on a GUI of the user based on the first segment and the second segment.

2. The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform functions comprising:

collecting the historical data of the user;

converting the historical data of the user into the at least one feature vector;

calculating the second user propensity score using the at least one feature vector, wherein the second user propensity score represents a different user propensity than the first user propensity score;

normalizing the first user propensity score; and

normalizing the second user propensity score.

3. The system of claim 2 , wherein normalizing the first user propensity score comprises using a prior correction technique.

4. The system of claim 1 , wherein calculating the first user propensity score comprises:

using a normal model to calculate the first user propensity score for a broader first segment of users than a strict model.

5. The system of claim 4 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform functions comprising:

training the normal model using labeled training data from a plurality of metalabels; and

training the strict model using labeled training data from one metalabel.

6. The system of claim 4 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform functions comprising:

filtering a set of users into a subset of the users of both the first segment and the second segment; and

delivering, using the strict model, messages to the subset of the users, wherein the messages comprise information about a metalabel.

7. The system of claim 1 , wherein calculating the first user propensity score for the user based on the at least one feature vector comprises:

iteratively determining, using a machine learning algorithm, equations for calculating probabilities of the user.

8. The system of claim 7 , wherein the machine learning algorithm comprises a logistic regression model.

9. The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform functions comprising:

converting the at least one feature vector into a sparse representation of the at least one feature vector; and

storing the sparse representation of the at least one feature vector in a database.

10. The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform functions comprising:

determining when the user interacted with a message;

determining when the user ignored the message; and

adding data to the historical data, wherein the data comprises a date and a time when the user interacted with the message or ignored the message.

11. A method being implemented via execution of computing instructions configured to run on one or more processors and stored at non-transitory computer-readable media, the method comprising:

calculating a first user propensity score to take first actions and a second user propensity score to take second actions based on at least one feature vector of historical data of a user;

using the first user propensity score to place the user into a first segment;

using the second user propensity score to place the user into a second segment different than the first segment; and

facilitating a display of one or more selectable elements on a GUI of the user based on the first segment and the second segment.

12. The method of claim 11 further comprising:

collecting the historical data of the user;

converting the historical data of the user into the at least one feature vector;

calculating the second user propensity score using the at least one feature vector, wherein the second user propensity score represents a different user propensity than the first user propensity score;

normalizing the first user propensity score; and

normalizing the second user propensity score.

13. The method of claim 12 , wherein normalizing the first user propensity score comprises using a prior correction technique.

14. The method of claim 11 , wherein calculating the first user propensity score comprises:

using a normal model to calculate the first user propensity score for a broader first segment of users than a strict model.

15. The method of claim 14 further comprising:

training the normal model using labeled training data from a plurality of metalabels; and

training the strict model using labeled training data from one metalabel.

16. The method of claim 14 further comprising:

(a)

filtering a set of users into a subset of the users of both the first segment and the second segment; and

delivering, using the strict model, messages to the subset of the users, wherein the messages comprise information about a metalabel; or

(b)

determining when the user interacted with a message;

determining when the user ignored the message; and

adding data to the historical data, wherein the data comprises a date and a time when the user interacted with the message or ignored the message.

17. The method of claim 11 , wherein calculating the first user propensity score for the user based on the at least one feature vector comprises:

iteratively determining, using a machine learning algorithm, equations for calculating probabilities of the user.

18. The method of claim 17 , wherein the machine learning algorithm comprises a logistic regression model.

19. The method of claim 11 further comprising:

converting the at least one feature vector into a sparse representation of the at least one feature vector; and

storing the sparse representation of the at least one feature vector in a database.

20. A non-transitory computer-readable medium storing instructions, wherein the instructions, upon execution by a processor, cause the processor to perform operations comprising:

calculating a first user propensity score to take a first action and a second user propensity score to take a second action based on a feature vector of historical data of a user;

using the first user propensity score to place the user into a first segment;

using the second user propensity score to place the user into a second segment different than the first segment; and

facilitating a display of one or more selectable elements on a GUI of the user based on the first segment and the second segment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2024
From: JALALIBARSARI, VAHID; SHEN, WEI
To: WALMART APOLLO, LLC
Reel/Frame 066245/0066 →
Continuity (3)
Continuation 17991463 · Nov 21, 2022
Continuation 16287686 · Feb 27, 2019
Related Publication 20240185128A1 · Jun 6, 2024
References Cited (38)
US 6535855B1 · Cahill et al. · 2003 [cited by applicant]
US 6769009B1 · Reisman · 2004 [cited by applicant]
US 8055596B2 · Bhaskar et al. · 2011 [cited by applicant]
US 8521128B1 · Welsh et al. · 2013 [cited by applicant]
US 9392312B1 · Lewis · 2016 [cited by applicant]
US 10638200B1 · Donoghue · 2020 [cited by applicant]
US 11004135B1 · Sandler · 2021 [cited by examiner]
US 20020013711A1 · Ahuja et al. · 2002 [cited by applicant]
US 20040081183A1 · Monza et al. · 2004 [cited by applicant]
US 20080059314A1 · Kirchoff et al. · 2008 [cited by applicant]
US 20090018996A1 · Hunt et al. · 2009 [cited by applicant]
US 20120054095A1 · Lesandro et al. · 2012 [cited by applicant]
US 20140057610A1 · Olincy et al. · 2014 [cited by applicant]
US 20140143333A1 · Dodge · 2014 [cited by applicant]
US 20150019347A1 · Naghdy · 2015 [cited by applicant]
US 20150036817A1 · Jain et al. · 2015 [cited by applicant]
US 20150193861A1 · Reed et al. · 2015 [cited by applicant]
US 20150220619A1 · Gray · 2015 [cited by examiner]
US 20150278836A1 · Liu · 2015 [cited by applicant]
US 20150348095A1 · Dixon et al. · 2015 [cited by applicant]
US 20160155154A1 · Klawitter · 2016 [cited by applicant]
US 20160357843A1 · Murrett · 2016 [cited by applicant]
US 20170300948A1 · Chauhan et al. · 2017 [cited by applicant]
US 20170316420A1 · Gorny · 2017 [cited by applicant]
US 20180121522A1 · Wang · 2018 [cited by examiner]
US 20180165418A1 · Swartz · 2018 [cited by applicant]
US 20180314761A1 · Lewin-Eytan · 2018 [cited by applicant]
US 20180374126A1 · Patil et al. · 2018 [cited by applicant]
US 20190005515A1 · Higgins et al. · 2019 [cited by applicant]
US 20190158902A1 · Thomas · 2019 [cited by applicant]
US 20190213266A1 · Sathya et al. · 2019 [cited by applicant]
US 20190269354A1 · Forth · 2019 [cited by examiner]
US 20200036667A1 · Talton · 2020 [cited by applicant]
US 20200112755A1 · Seshadri · 2020 [cited by applicant]
US 20200226655A1 · Bermudez et al. · 2020 [cited by applicant]
US 20220138875A1 · Beynel · 2022 [cited by applicant]
G. E. P. Box, D. R. Cox, “An Analysis of Transformations,” Journal of the Royal Statistical Society: Series B (Methodological), vol. 26, Issue 2, pp. 211-252, Jul. 1964, https://doi.org/10.1111/j.2517-6161.1964.tb00553.… [cited by applicant]
Platt, John C., “Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods,” pp. 1-11, http://www.research.microsoft.com/˜jplatt, Mar. 26, 1999. 1999. [cited by applicant]