IP Library › Granted Patent US 12,321,942
Granted Patent B2
US 12,321,942 · App. 18/773,655 · Granted Jun 3, 2025

System, method, and computer program product for predicting a specified geographic area of a user

Inventors: Mahashweta Das (Campbell, CA); Hao Yang (San Jose, CA)
Assignee: Visa International Service Association
G06Q20/4015G06N20/00G06Q20/4093G06Q30/0211H04W4/029
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,942
App. No.
18/773,655
Granted
Jun 3, 2025
Kind
B2
Abstract

Systems, methods, and computer program products are provided for predicting a specified geographic area of a user. An example system includes a processor configured to determine a verified geographic area associated with each user, and determine a feature vector associated with an account of each user. The processor is also configured to receive transaction data and determine a value of each parameter of the feature vector for each user based on the transaction data to produce a training matrix. The processor is further configured to train and validate a geographic area prediction model based on the training matrix. The processor is further configured to repeatedly generate a prediction that a user will conduct a transaction in a geographic area, communicate an offer to the user based on the prediction, receive new training data, and update the geographic area prediction model based on the new training data.

Claims (72)

1. A system comprising:

at least one processor configured to:

determine, for each user of a plurality of users, a verified geographic area associated with the user;

determine, for each user of the plurality of users, a feature vector associated with an account of the user, each parameter of the feature vector associated with a value based on a maximum number of transactions conducted by the user with the account in a geographic area of a plurality of geographic areas;

receive transaction data associated with a plurality of transactions involving each user of the plurality of users;

determine a value of each parameter of the feature vector for each user of the plurality of users based on the transaction data to produce a training matrix, wherein each row of the training matrix comprises values of a feature vector associated with a user of the plurality of users;

train a geographic area prediction model based on the training matrix;

validate the geographic area prediction model based on the training matrix;

repeatedly generate a prediction that a user will conduct a transaction in a geographic area based on the geographic area prediction model;

repeatedly communicate an offer to the user based on the prediction;

repeatedly receive new training data by processing a transaction conducted by the user in the geographic area within a predetermined amount of time from the offer being communicated to the user; and

repeatedly update the geographic area prediction model based on the new training data.

2. The system of claim 1 , wherein, when determining the feature vector for each user of the plurality of users, the at least one processor is configured to:

identify a plurality of feature vector parameters associated with the verified geographic area for the user; and

exclude a plurality of feature vector parameters associated with each geographic area of the plurality of geographic areas that does not correspond to the verified geographic area.

3. The system of claim 1 , wherein the at least one processor is further configured to:

receive first transaction data associated with a plurality of first transactions involving a first user of the plurality of users;

determine a plurality of feature vector parameters for each geographic area of the plurality of geographic areas based on the first transaction data associated with the plurality of first transactions; and

based on the geographic area prediction model and the plurality of feature vector parameters for the verified geographic area of the first user, assign a predicted geographic area to the first user.

4. The system of claim 3 , wherein the at least one processor is further configured to assign the predicted geographic area of the first user to a debit account associated with the first user.

5. The system of claim 3 , wherein the at least one processor is further configured to:

determine second transaction data associated with a second plurality of transactions involving the first user and a plurality of merchants in the predicted geographic area of the first user; and

determine a geographic location of the first user in the predicted geographic area of the first user associated with a position of the plurality of merchants, based on the second transaction data associated with the second plurality of transactions.

6. The system of claim 5 , wherein the geographic location of the first user in the predicted geographic area of the first user is associated with at least one geographic coordinate, and wherein the at least one geographic coordinate comprises a latitude coordinate, a longitude coordinate, or any combination thereof.

7. The system of claim 5 , wherein the at least one processor is further configured to determine a geographic location of each of the plurality of merchants, and wherein the geographic location of the user in the predicted geographic area of the user corresponds to a central position associated with the position of the plurality of merchants.

8. A method, comprising:

determining, with at least one processor, for each user of a plurality of users, a verified geographic area associated with the user;

determining, with at least one processor, for each user of the plurality of users, a feature vector associated with an account of the user, each parameter of the feature vector associated with a value based on a maximum number of transactions conducted by the user with the account in a geographic area of a plurality of geographic areas;

receiving, with at least one processor, transaction data associated with a plurality of transactions involving each user of the plurality of users;

determining, with at least one processor, a value of each parameter of the feature vector for each user of the plurality of users based on the transaction data to produce a training matrix, wherein each row of the training matrix comprises values of a feature vector associated with a user of the plurality of users;

training, with at least one processor, a geographic area prediction model based on the training matrix;

validating, with at least one processor, the geographic area prediction model based on the training matrix;

repeatedly generating, with at least one processor, a prediction that a user will conduct a transaction in a geographic area based on the geographic area prediction model;

repeatedly communicating, with at least one processor, an offer to the user based on the prediction;

repeatedly receiving, with at least one processor, new training data by processing a transaction conducted by the user in the geographic area within a predetermined amount of time from the offer being communicated to the user; and

repeatedly updating, with at least one processor, the geographic area prediction model based on the new training data.

9. The method of claim 8 , wherein determining the feature vector for each user of the plurality of users comprises:

identifying a plurality of feature vector parameters associated with the verified geographic area for the user; and

excluding a plurality of feature vector parameters associated with each geographic area of the plurality of geographic areas that does not correspond to the verified geographic area.

10. The method of claim 8 , further comprising:

receiving, with at least one processor, first transaction data associated with a plurality of first transactions involving a first user of the plurality of users;

determining, with at least one processor, a plurality of feature vector parameters for each geographic area of the plurality of geographic areas based on the first transaction data associated with the plurality of first transactions; and

based on the geographic area prediction model and the plurality of feature vector parameters for the verified geographic area of the first user, assigning, with at least one processor, a predicted geographic area to the first user.

11. The method of claim 10 , further comprising assigning, with at least one processor, the predicted geographic area of the first user to a debit account associated with the first user.

12. The method of claim 11 , further comprising:

determining, with at least one processor, second transaction data associated with a second plurality of transactions involving the first user and a plurality of merchants in the predicted geographic area of the first user; and

determining, with at least one processor, a geographic location of the first user in the predicted geographic area of the first user associated with a position of the plurality of merchants, based on the second transaction data associated with the second plurality of transactions.

13. The method of claim 12 , wherein the geographic location of the first user in the predicted geographic area of the first user is associated with at least one geographic coordinate, and wherein the at least one geographic coordinate comprises a latitude coordinate, a longitude coordinate, or any combination thereof.

14. The method of claim 12 , further comprising determining, with at least one processor, a geographic location of each of the plurality of merchants, wherein the geographic location of the user in the predicted geographic area of the user corresponds to a central position associated with the position of the plurality of merchants.

15. A computer program product comprising at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to:

determine, for each user of a plurality of users, a verified geographic area associated with the user;

determine, for each user of the plurality of users, a feature vector associated with an account of the user, each parameter of the feature vector associated with a value based on a maximum number of transactions conducted by the user with the account in a geographic area of a plurality of geographic areas;

receive transaction data associated with a plurality of transactions involving each user of the plurality of users;

determine a value of each parameter of the feature vector for each user of the plurality of users based on the transaction data to produce a training matrix, wherein each row of the training matrix comprises values of a feature vector associated with a user of the plurality of users;

train a geographic area prediction model based on the training matrix;

validate the geographic area prediction model based on the training matrix;

repeatedly generate a prediction that a user will conduct a transaction in a geographic area based on the geographic area prediction model;

repeatedly communicate an offer to the user based on the prediction;

repeatedly receive new training data by processing a transaction conducted by the user in the geographic area within a predetermined amount of time from the offer being communicated to the user; and

repeatedly update the geographic area prediction model based on the new training data.

16. The computer program product of claim 15 , wherein the program instructions that cause the at least one processor to determine the feature vector for each user of the plurality of users cause the at least one processor to:

identify a plurality of feature vector parameters associated with the verified geographic area for the user; and

exclude a plurality of feature vector parameters associated with each geographic area of the plurality of geographic areas that does not correspond to the verified geographic area.

17. The computer program product of claim 15 , wherein the program instructions further cause the at least one processor to:

receive first transaction data associated with a plurality of first transactions involving a first user of the plurality of users;

determine a plurality of feature vector parameters for each geographic area of the plurality of geographic areas based on the first transaction data associated with the plurality of first transactions; and

based on the geographic area prediction model and the plurality of feature vector parameters for the verified geographic area of the first user, assign a predicted geographic area to the first user.

18. The computer program product of claim 17 , wherein the program instructions further cause the at least one processor to:

determine second transaction data associated with a second plurality of transactions involving the first user and a plurality of merchants in the predicted geographic area of the first user; and

determine a geographic location of the first user in the predicted geographic area of the first user associated with a position of the plurality of merchants, based on the second transaction data associated with the second plurality of transactions.

19. The computer program product of claim 18 , wherein the geographic location of the first user in the predicted geographic area of the first user is associated with at least one geographic coordinate, and wherein the at least one geographic coordinate comprises a latitude coordinate, a longitude coordinate, or any combination thereof.

20. The computer program product of claim 18 , wherein the program instructions further cause the at least one processor to determine a geographic location of each of the plurality of merchants, and wherein the geographic location of the user in the predicted geographic area of the user corresponds to a central position associated with the position of the plurality of merchants.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2024
From: DAS, MAHASHWETA; YANG, HAO
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 067993/0701 →
Continuity (2)
Continuation 16971798
Related Publication 20240370871A1 · Nov 7, 2024
References Cited (19)
US 10922712B1 · Langdon · 2021 [cited by applicant]
US 20090024546A1 · Ficcaglia et al. · 2009 [cited by applicant]
US 20140304212A1 · Shim et al. · 2014 [cited by applicant]
US 20140326783A1 · Burrell · 2014 [cited by applicant]
US 20150227934A1 · Chauhan · 2015 [cited by applicant]
US 20150264532A1 · Spears · 2015 [cited by applicant]
US 20160117705A1 · Robinson et al. · 2016 [cited by applicant]
US 20160328610A1 · Thompson et al. · 2016 [cited by applicant]
US 20170116679A1 · Abraham et al. · 2017 [cited by applicant]
US 20170262784A1 · Lowery et al. · 2017 [cited by applicant]
US 20170300948A1 · Chauhan et al. · 2017 [cited by applicant]
US 20190287125A1 · Kumar et al. · 2019 [cited by applicant]
WO 2019083714A1 · 2019 [cited by applicant]
Cadez et al., “Predictive Profiles for Transaction Data using Finite Mixture Models”, Technical Report No. 01-67, Department of Information and Computer Science, University of California, Irvine, CA, 37 pages. [cited by applicant]
Friedman, “Greedy Function Approximation: A Gradient Boosting Machine”, The Annals of Statistics, 2001, 39 pages. [cited by applicant]
Gupta et al., “Training Highly Multiclass Classifiers”, Journal of Machine Learning Research, Apr. 2014, pp. 1461-1492. [cited by applicant]
Li et al., “Predicting Home and Work Locations Using Transport Smart Card Data by Spectral Analysis”, 2015 IEEE 18th International Conference on Intelligent Transportation Systems, 2015, pp. 2788-2793. [cited by applicant]
Mahmud et al., “Home Location Identification of Twitter Users”, ACM Transactions on Intelligent Systems and Technology, Jul. 2014, 21 pages, vol. 5, No. 3. [cited by applicant]
Zheng et al., “Inferring Home Location from User's Photo Collections based on Visual Content and Mobility Patterns”, ACM 3rd Multimedia Workshop on Geotagging and Its Applications in Multimedia, 2014, pp. 21-26. [cited by applicant]