Systems and methods for merging networks of heterogeneous data
AssigneeMastercard International Incorporated
InventorChristopher John Merz
Life of this patent
Estimating the term…
Abstract
A method and system for merging heterogeneous data types are provided. The method includes receiving a first corpus of first data, the first data includes an indicator of an interaction between a first element of the first corpus of first data and a second element of the first corpus of first data, receiving a second corpus of second data, the second data includes an indication of an interaction between a third element of the second corpus of second data and a fourth element of the second corpus of data, and generating a third matrix using correlations of the first and second elements with correlations of the third and fourth elements.
Claims20
A computer system for predicting outcomes, the computer system in communication with a user computing device and a server system via a computer network, the computer system comprising:
- a first matrix generator;
- a second matrix generator;
- a matrix calculator;
- a list generator;
- and at least one processor in communication with at least one database, the at least one processor configured to:
- receive, at the first matrix generator from a server system, a first corpus of first data including a first set of data elements including at least transaction data associated with a first plurality of transactions initiated by a first plurality of users, and a second set of data elements including at least an identification of a plurality of merchants where the first plurality of transactions were initiated;
- generate, using the first matrix generator and the first corpus of first data, a first matrix within the at least one database, the first matrix being a data structure stored within the at least one database;
- determine, using the first matrix generator, a degree of interaction between each merchant of the plurality of merchants based on the first set of data elements, wherein an interaction between each merchant of the plurality of merchants is determined by correlating transactions initiated by a user of the first plurality of users at two or more merchants of the plurality of merchants;
- receive, at the second matrix generator from the server system, a second corpus of second data including a third set of data elements including at least second transaction data associated with a second plurality of transactions initiated by a second plurality of users, and a fourth set of data elements including at least an identification of a plurality of items associated with the second plurality of transactions;
- generate, using the second matrix generator- and the second corpus of second data, a second matrix within the at least one database, the second matrix being another data structure stored within the at least one database;
- determine, using the second matrix generator, a degree of interaction between each item of the plurality of items based on the third set of data elements, wherein an interaction between each item of the plurality of items is determined by correlating two or more items of the plurality of items with second transactions initiated by a user of the second plurality of users, wherein the correlated second transactions include each of the two or more items;
- combine, using the matrix calculator and a key common to the first matrix and the second matrix, the first matrix and the second matrix to generate a third matrix within the at least one database, the third matrix being an additional data structure including a plurality of data cells, each of the plurality of data cells including a value and being an intersection between one of the first and second set of data elements and one of the third and fourth set of data elements;
- update, in near real-time and using additional transaction data received from the server system and without using the key, the third matrix separate from the first database and the second database, within the at least one database with respect to receipt of the additional transaction data, wherein updating the third matrix separate from the first database and the second database improves the performance of the at least one processor by processing the large size of the first matrix and the second matrix separate from the third matrix and allowing the third matrix to be updated in near real-time;
- in response to updating the third matrix, generate, in near real-time and using the list generator and the updated third matrix, a list including one or more predictions for a user of one of the first or second plurality of users, the one or more predictions associated with an item of the plurality of items of a merchant of the one or more of the plurality of merchants at a location of the merchant having the item;
- and cause display, on a user interface of the user computing device via one of an online website and a client application in communication with the computer network, the one or more predictions.
A computer-implemented method implemented by a computer for predicting outcomes, the computer system in communication with a user computing device and a server system via a computer network, the computer system including a first matrix generator, a second matrix generator, a matrix calculator, a list generator, and at least one processor in communication with at least one database, the method comprising:
- receiving, at the first matrix generator from a server system, a first corpus of first data including a first set of data elements including at least transaction data associated with a first plurality of transactions initiated by a first plurality of users, and a second set of data elements including at least an identification of a plurality of merchants where the first plurality of transactions were initiated;
- generating, using the first matrix generator and the first corpus of first data, a first matrix within the at least one database, the first matrix being a data structure stored within the at least one database;
- determining, using the first matrix generator, a degree of interaction between each merchant of the plurality of merchants based on the first set of data elements, wherein an interaction between each merchant of the plurality of merchants is determined by correlating transactions initiated by a user of the first plurality of users at two or more merchants of the plurality of merchants;
- receiving, at the second matrix generator from the server system, a second corpus of second data including a third set of data elements including at least second transaction data associated with a second plurality of transactions initiated by a second plurality of users, and a fourth set of data elements including at least an identification of a plurality of items associated with the second plurality of transactions;
- generating, using the second matrix generator and the second corpus of second data, a second matrix within the at least one database, the second matrix being another data structure stored within the at least one database;
- determining, using the second matrix generator, a degree of interaction between each item of the plurality of items based on the third set of data elements, wherein an interaction between each item and the plurality of items is determined by correlating two or more items of the plurality of items with second transactions initiated by a user of the second plurality of users, wherein the correlated second transactions include each of the two or more items;
- combining, using the matrix calculator and a key common to the first matrix and the second matrix, the first matrix and the second matrix to generate a third matrix within the at least one database, the third matrix being an additional data structure including a plurality of data cells, each of the plurality of data cells including a value and being an intersection between one of the first and second set of data elements and one of the third and fourth set of data elements;
- updating, in near real-time and using additional transaction data received from the server system and without using the key, the third matrix separate from the first database and the second database, within the at least one database with respect to receipt of the additional transaction data, wherein updating the third matrix separate from the first database and the second database improves the performance of the at least one processor by processing the large size of the first matrix and the second matrix separate from the third matrix and allowing the third matrix to be updated in near real-time;
- in response to updating the third matrix, generating, in near real-time and using the list generator and the updated third matrix, a list including one or more predictions for a user of one of the first or second plurality of users, the one or more predictions associated with—an item of the plurality of items of a merchant of the one or more of the plurality of merchants—at a location of the merchant having the item;
- and
- causing display, on a user interface of the user computing device via one of an online web site and a client application in communication with the computer network, the one or more predictions.
At least one non-transitory computer-readable storage medium having computer-executable instructions embodied thereon, wherein when executed by at least one processor of a computer system for predicting outcomes, the computer system in communication with a user computing device and a server system via a computer network, the computer system including a first matrix generator, a second matrix generator, a matrix calculator, and a list generator, the at least one processor in communication with at least one database, the computer-executable instructions cause the at least one processor to:
- receive, at the first matrix generator from a server system, a first corpus of first data including a first set of data elements including at least transaction data associated with a first plurality of transactions initiated by a first plurality of users, and a second set of data elements including at least an identification of a plurality of merchants where the first plurality of transactions were initiated;
- generate, using the first matrix generator and first corpus of first data, a first matrix within the at least one database, the first matrix being a data structure stored within the at least one database;
- generate, using the first matrix generator, a degree of interaction between each merchant of the plurality of merchants based on the first set of data elements, wherein an interaction between each merchant of the plurality of merchants is determined by correlating transactions initiated by a user of the first plurality of users at two or more merchants of the plurality of merchants;
- receive, at the second matrix generator from the server system, a second corpus of second data including a third set of data elements including at least second transaction data associated with a second plurality of transactions initiated by a second plurality of users, and a fourth set of data elements including at least an identification of a plurality of items associated with the second plurality of transactions;
- generate, using the second matrix generator and the second corpus of second data, a second matrix within the at least one database, the second matrix being another data structure stored within the at least one database;
- determine, using the second matrix generator, a degree of interaction between each item of the plurality of items based on the third set of data elements, wherein an interaction between each item of the plurality of items is determined by correlating two or more items of the plurality of items with second transactions initiated by a user of the second plurality of users, wherein the correlated second transactions include each of the two or more items;
- combine, using the matrix calculator and a key common to the first matrix and the second matrix, the first matrix and the second matrix to generate a third matrix within the at least one database, the third matrix being an additional data structure including a plurality of data cells, each of the plurality of data cells including a value and being an intersection between one of the first and second set of data elements and one of the third and fourth set of data elements;
- update, in near real-time and using additional transaction data received from the server system and without using the key, the third matrix separate from the first database and the second database, within the at least one database with respect to receipt of the additional transaction data, wherein updating the third matrix separate from the first database and the second database improves the performance of the at least one processor by processing the large size of the first matrix and the second matrix separate from the third matrix and allowing the third matrix to be updated in near real-time;
- in response to updating the third matrix, generate, in near real-time and using the list generator and the third matrix, a list including one or more predictions for a user of one of the first or second plurality of users, the one or more predictions associated with an item of the plurality of items of a merchant of the one or more of the plurality of merchants at a location of the merchant having the item;
- and
- cause display, on a user interface of the user computing device via one of an online web site and a client application in communication with the computer network, the one or more predictions.
Dependencies are inferred from the claim text.