CA2307484A1 - Predictive modeling of consumer financial behavior - Google Patents
Predictive modeling of consumer financial behavior Download PDFInfo
- Publication number
- CA2307484A1 CA2307484A1 CA002307484A CA2307484A CA2307484A1 CA 2307484 A1 CA2307484 A1 CA 2307484A1 CA 002307484 A CA002307484 A CA 002307484A CA 2307484 A CA2307484 A CA 2307484A CA 2307484 A1 CA2307484 A1 CA 2307484A1
- Authority
- CA
- Canada
- Prior art keywords
- merchant
- consumer
- segment
- merchants
- vectors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Abstract
Predictive modeling of consumer financial behavior is provided by application of consumer transaction data to predictive models associated with merchant segments. The merchant segments are derived from the consumer transaction data based on co-occurrences of merchants in sequences of transactions. Merchant vectors represent specific merchants, and are aligned in a vector space as a function of the degree to which the merchants co-occur more or less frequently than expected.
Merchant vectors are clustered to form the merchant segments. Analysis of merchant segments details transaction rates, volumes and amounts for the segment and its individual merchants. For each merchant segment a predictive model is trained using consumer transaction data in selected past time periods to predict spending in subsequent time periods. The merchant segment predictive models provide predictions of spending in each merchant segment for any particular consumer, based on previous spending by the consumer. Consumer profiles describe summary statistics of each consumer's spending in the merchant segments, and across merchant segments. The consumer profiles include consumer vectors derived as summary vectors of selected merchants patronized by the consumer. Membership functions associate each consumer with one or more merchant segments.
Analysis of the consumers associated with a segment allows for identification of selected consumers according to predicted spending in the segment or other criteria, and the targeting of promotional offers specific to the segment and its merchants.
Merchant vectors are clustered to form the merchant segments. Analysis of merchant segments details transaction rates, volumes and amounts for the segment and its individual merchants. For each merchant segment a predictive model is trained using consumer transaction data in selected past time periods to predict spending in subsequent time periods. The merchant segment predictive models provide predictions of spending in each merchant segment for any particular consumer, based on previous spending by the consumer. Consumer profiles describe summary statistics of each consumer's spending in the merchant segments, and across merchant segments. The consumer profiles include consumer vectors derived as summary vectors of selected merchants patronized by the consumer. Membership functions associate each consumer with one or more merchant segments.
Analysis of the consumers associated with a segment allows for identification of selected consumers according to predicted spending in the segment or other criteria, and the targeting of promotional offers specific to the segment and its merchants.
Description
PREDICTIVE MODELING OF CONSUMER FINANCIAL BEHAVIOR
BACKGROUND
Field of Invention The present invention relates generally to analysis of consumer financial behavior, and more particularly to analyzing historical consumer financial behavior to accurately predict future spending behavior, and more particularly, future spending in specifically identified data-driven industry segments.
to Background of Invention Retailers, advertisers, and many other institutions are keenly interested in understanding consumer spending habits. These companies invest tremendous resources to identify and categorize consumer interests, in order to learn how consumers spend money. If the interests of an individual consumer can be determined, then it is believed that advertising and promotions related to these ~5 interests will be more successful in obtaining a positive consumer response, such as purchases of the advertised products or services.
Conventional means of determining consumer interests have generally relied on collecting demographic information about consumers, such as income, age, place of residence, occupation, and so forth, and associating various demographic categories with various categories of interests and Zo merchants. Interest information may be collected from surveys, publication subscription lists, product warranty cards, and myriad other sources. Complex data processing is then applied to the source of data resulting in some demographic and interest description of each of a number of consumers.
This approach to understanding consumer behavior often misses the mark. The ultimate z5 goal of this type of approach, whether acknowledged or not, is to predict consumer spending in the future. The assumption is that consumers will spend money on their interests, as expressed by things like their subscription lists and their demographics. Yet, the data on which the determination of interests is made is typically only indirectly related to the actual spending patterns of the consumer. For example, most publications have developed demographic models of their readership, and offer their subscription lists for sale to others interested in the particular demographics of the publication's readers. But subscription to a particular publication is a relatively poor indicator of what the consumer's spending patterns will be in the future.
Even taking into account multiple different sources of data, such as combining subscription lists, warranty registration cards, and so forth still only yields an incomplete collection of unrelated data about a consumer.
o One of the problems in these conventional approaches is that spending patterns are time based. That is, consumers spend money at merchants which are of interest to them in typically a time related manner. For example, a consumer who is a business traveler spends money on plane tickets, car rentals, hotel accommodations, restaurants, and entertainment all during a single business trip. These purchases together more strongly describe the consumer's true interests and preferences than any single one of the purchases alone. Yet conventional approaches to consumer analysis typically treats these purchases individually and as unrelated in time.
Yet another problem with conventional approaches is that categorization of purchases is often based on standardized industry classifications of merchants and business, such as the SIC
codes. This set of classification is entirely arbitrary, and has little to do with actual consumer 2o behavior. Consumer do not decide which merchants to purchase from based on their SIC code.
Thus, the use of arbitrary classifications to predict financial behavior is doomed to failure, since the classifications have little meaning in the actual data of consumer spending.
A third problem is that different groups of consumers spend money in different ways. For example, consumers who frequent high-end retailers have entirely different spending habits than 15 consumers who are bargain shoppers. To deal with this problem, most systems focus exclusively on very specific, predefined types of consumers, in effect, assuming that the interests or types of consumers are known, and targeting these consumers with what are believed to be advertisements or promotions of interest to them. However, this approach essentially puts the cart before the proverbial horse: it assumes the interests and spending patterns of a particular group of consumers, it does not discover them from actual spending data. It thus begs the questions as to whether the assumed group of consumers in fact even exists, or has the interest that are assumed for it.
Accordingly, what is needed is the ability to model consumer financial behavior based on actual historical spending patterns that reflect the time-related nature of each consumer's purchase.
Further, it is desirable to extract meaningful classifications of merchants based on the actual spending patterns, and from the combination of these, predict future spending of an individual consumer in specific, meaningful merchant groupings.
In the application domain of information, and particularly text retrieval, vector based o representations of documents and words is known. Vector space representations of documents are described in U.S. Pat. No. 5,619,709 issued to Caid et. al, and in U.S. Pat.
No. 5,325,298 issued to Gallant. Generally, vectors are used to represent words or documents. The relationships between words and between documents is learned and encoded in the vectors by a learning law. However, because these uses of vector space representations, including the context vectors of Caid, are ~5 designed for primarily for information retrieval, they are not effective for predictive analysis of behavior when applied to documents such as credit card statements and the like. When the techniques of Caid were applied to the prediction problems, it had numerous shortcomings. First, it had problems dealing with high transaction count merchants. These are merchants whose names appear very frequently in the collections of transaction statements. Because Caid's system 2o downplays the significance of frequently appearing terms, these high transaction frequency merchants were not being accurately represented. Excluding high transaction frequency merchants from the data set however undermines the system's ability to predict transactions in these important merchants. Second, it was discovered that past two iterations of training, Caid's system performance declined, instead of converging. This indicates that the learning law is learning information that is only coincidental to transaction prediction, instead of information that is specifically for transaction prediction. Accordingly, it is desirable to provide a new methodology for learning the relationships between merchants and consumers so as to properly reflect the significance of the frequency with which merchants appears in the transaction data.
BACKGROUND
Field of Invention The present invention relates generally to analysis of consumer financial behavior, and more particularly to analyzing historical consumer financial behavior to accurately predict future spending behavior, and more particularly, future spending in specifically identified data-driven industry segments.
to Background of Invention Retailers, advertisers, and many other institutions are keenly interested in understanding consumer spending habits. These companies invest tremendous resources to identify and categorize consumer interests, in order to learn how consumers spend money. If the interests of an individual consumer can be determined, then it is believed that advertising and promotions related to these ~5 interests will be more successful in obtaining a positive consumer response, such as purchases of the advertised products or services.
Conventional means of determining consumer interests have generally relied on collecting demographic information about consumers, such as income, age, place of residence, occupation, and so forth, and associating various demographic categories with various categories of interests and Zo merchants. Interest information may be collected from surveys, publication subscription lists, product warranty cards, and myriad other sources. Complex data processing is then applied to the source of data resulting in some demographic and interest description of each of a number of consumers.
This approach to understanding consumer behavior often misses the mark. The ultimate z5 goal of this type of approach, whether acknowledged or not, is to predict consumer spending in the future. The assumption is that consumers will spend money on their interests, as expressed by things like their subscription lists and their demographics. Yet, the data on which the determination of interests is made is typically only indirectly related to the actual spending patterns of the consumer. For example, most publications have developed demographic models of their readership, and offer their subscription lists for sale to others interested in the particular demographics of the publication's readers. But subscription to a particular publication is a relatively poor indicator of what the consumer's spending patterns will be in the future.
Even taking into account multiple different sources of data, such as combining subscription lists, warranty registration cards, and so forth still only yields an incomplete collection of unrelated data about a consumer.
o One of the problems in these conventional approaches is that spending patterns are time based. That is, consumers spend money at merchants which are of interest to them in typically a time related manner. For example, a consumer who is a business traveler spends money on plane tickets, car rentals, hotel accommodations, restaurants, and entertainment all during a single business trip. These purchases together more strongly describe the consumer's true interests and preferences than any single one of the purchases alone. Yet conventional approaches to consumer analysis typically treats these purchases individually and as unrelated in time.
Yet another problem with conventional approaches is that categorization of purchases is often based on standardized industry classifications of merchants and business, such as the SIC
codes. This set of classification is entirely arbitrary, and has little to do with actual consumer 2o behavior. Consumer do not decide which merchants to purchase from based on their SIC code.
Thus, the use of arbitrary classifications to predict financial behavior is doomed to failure, since the classifications have little meaning in the actual data of consumer spending.
A third problem is that different groups of consumers spend money in different ways. For example, consumers who frequent high-end retailers have entirely different spending habits than 15 consumers who are bargain shoppers. To deal with this problem, most systems focus exclusively on very specific, predefined types of consumers, in effect, assuming that the interests or types of consumers are known, and targeting these consumers with what are believed to be advertisements or promotions of interest to them. However, this approach essentially puts the cart before the proverbial horse: it assumes the interests and spending patterns of a particular group of consumers, it does not discover them from actual spending data. It thus begs the questions as to whether the assumed group of consumers in fact even exists, or has the interest that are assumed for it.
Accordingly, what is needed is the ability to model consumer financial behavior based on actual historical spending patterns that reflect the time-related nature of each consumer's purchase.
Further, it is desirable to extract meaningful classifications of merchants based on the actual spending patterns, and from the combination of these, predict future spending of an individual consumer in specific, meaningful merchant groupings.
In the application domain of information, and particularly text retrieval, vector based o representations of documents and words is known. Vector space representations of documents are described in U.S. Pat. No. 5,619,709 issued to Caid et. al, and in U.S. Pat.
No. 5,325,298 issued to Gallant. Generally, vectors are used to represent words or documents. The relationships between words and between documents is learned and encoded in the vectors by a learning law. However, because these uses of vector space representations, including the context vectors of Caid, are ~5 designed for primarily for information retrieval, they are not effective for predictive analysis of behavior when applied to documents such as credit card statements and the like. When the techniques of Caid were applied to the prediction problems, it had numerous shortcomings. First, it had problems dealing with high transaction count merchants. These are merchants whose names appear very frequently in the collections of transaction statements. Because Caid's system 2o downplays the significance of frequently appearing terms, these high transaction frequency merchants were not being accurately represented. Excluding high transaction frequency merchants from the data set however undermines the system's ability to predict transactions in these important merchants. Second, it was discovered that past two iterations of training, Caid's system performance declined, instead of converging. This indicates that the learning law is learning information that is only coincidental to transaction prediction, instead of information that is specifically for transaction prediction. Accordingly, it is desirable to provide a new methodology for learning the relationships between merchants and consumers so as to properly reflect the significance of the frequency with which merchants appears in the transaction data.
SUMMARY OF THE INVENTION
The present invention overcomes the limitations of conventional approaches to consumer analysis by providing a system and method of analyzing and predicting consumer financial behavior that uses historical, and time-sensitive, spending patterns of individual consumers to create both meaningful groupings (segments) of merchants which accurately reflect underlying consumer interests, and a predictive model of consumer spending patterns for each of the merchant segment.
Current spending data of an individual consumer or groups of consumers can then be applied to the predictive models to predict future spending of the consumers in each of the merchant clusters.
In one aspect, the present invention includes the creation of data-driven grouping of to merchants, based essentially on the actual spending patterns of a group of consumers. Spending data of each consumer is obtained, which describes the spending patterns of the consumers in a time-related fashion. For example, credit card data demonstrates not merely the merchants and amounts spent, but also the sequence in which purchases were made. One of the features of the invention is its ability to use the co-occurrence of purchases at different merchants to group t5 merchants into meaningful merchant segments. That is, merchants which are frequently shopped at within some number of transactions or time period of each other reflect a meaningful cluster. This data-driven clustering of merchants more accurately describes the interests or preferences of consumers.
In a preferred embodiment, the analysis of consumer spending uses spending data, such as Zo credit card statements, and processes that data to identify co-occurrences of purchases within defined co-occurrence windows, which may be based on either a number of transactions, a time interval, or other sequence related criteria. Each merchant is associated with vector representation;
the initial vectors for all of the merchants are randomized to present a quasi-orthogonal set of vectors in a merchant vector space. Each consumer's transaction data reflecting their purchases z5 (e.g. credit card statements, bank statements, and the like) is chronologically organized to reflect the general order in which purchases were made at the merchants. Analysis of each consumer's transaction data in various co-occurrence windows identifies which merchants co-occur. For each pair of merchants, their respective merchant vectors are updated in the vector space as a function of their frequency of their co-occurrence. After processing of the spending data, the merchant vectors of merchants which are frequented together are generally aligned in the same direction in the merchant vector space. Clustering techniques are then applied to find clusters of merchants based on their merchant vectors. These clusters form the merchant segments, with each merchant segment having a list of merchants in it. Each merchant segment yields useful information about the type of merchants, their average purchase and transaction rates, and other statistical information. (Merchant "segments" and merchant "clusters" are used interchangeably herein.) Preferably, each consumer is also given a profile that includes various demographic data, and summary data on spending habits. In addition, each consumer is preferably given a consumer o vector. From the spending data, the merchants that the consumer has most frequently or recently purchased is determined. The consumer vector is then the summation of these merchant vectors. As new purchases are made, the consumer vector is updated, preferably decaying the influence of older purchases. In essence, like the expression "you are what you eat," the present invention reveals "you are whom you shop at," since the vectors of the merchants are used to construct the vectors of I5 the consumers.
An advantage of this approach is that both consumers and merchants are represented in a common vector space. This means that given a consumer vector, the merchant vectors which are "similar" to this consumer vector can be readily determined (that is they point in generally the same direction in the merchant vector space), for example using dot product analysis. Thus, merchants 2o who are "similar" to the consumer can be easily determined, these being merchants who would likely be of interest to the consumer, even if the consumer has never purchased from these merchants before.
Given the merchant segments, the present invention then creates a predictive model of future spending in each merchant segment, based on transaction statistics of historical spending in Z5 the merchant segment by those consumers who have purchased from merchants in the segments, in other segments, and data on overall purchases. In one embodiment, each predictive model predicts spending in a merchant cluster in a predicted time interval, such as 3 months, based on historical spending in the cluster in a prior time interval, such as the previous 6 months. During model training, the historical transactions in the merchant cluster for consumers who spent in the cluster, is summarized in each consumer's profile in summary statistics, and input into the predictive model along with actual spending in a predicted time interval. Validation of the predicted spending with actual spending is used to confirm model performance. The predictive models may be a neural networks, or other multivariate statistical model.
This modeling approach is advantageous for two reasons. First, the predictive models are specific to merchant clusters that actually appear in the underlying spending data, instead of for arbitrary classifications of merchants such as SIC classes. Second, because the consumer spending data of those consumers who actually purchased at the merchants in the merchant clusters is used, to they most accurately reflect how these consumer have spent and will spend at these merchants.
To predict financial behavior, the consumer profile of a consumer, using preferably the same type of summary statistics for a recent, past time period, is input into the predictive models for the different merchant clusters. The result is a prediction of the amount of money that the consumer is likely to spend in each merchant cluster in a future time interval, for which no actual spending data may yet be available.
For each consumer, a membership function may be defined which describes how strongly the consumer is associated with each merchant segment. (Preferably, the membership function outputs a membership value for each merchant segment.) The membership function may be the predicted future spending in each merchant segment, or it may be a function of the consumer vector 2o for the consumer and a merchant segment vector (e.g. centroid of each merchant segment). The membership function can be weighted by the amount spent by the consumer in each merchant segment, or other factors. Given the membership function, the merchant clusters for which the consumer has the highest membership values are of particular interest: they are the clusters in which the consumer will spend the most money in the future, or whose spending habits are most similar to the merchants in the cluster. This allows very specific and accurate targeting of promotions, advertising and the like to these consumers. A financial institution using the predicted spending information can direct promotional offers to consumers who are predicted to spend heavily in a merchant segment, with the promotional offers associated with merchants in the merchant segment.
Also, given the membership values, changes in the membership values can be readily determined over time, to identify transitions by the consumer between merchants segments of interest. For example, each month (e.g. after a new credit card billing period or bank statement), the membership function is determined for a consumer, resulting in a new membership value for each merchant cluster. The new membership values can be compared with the previous month's membership values to indicate the largest positive and negative increases, revealing the consumer's changing purchasing habits. Positive changes reflect purchasing interests in new merchant clusters;
negative changes reflect the consumer's lack of interest in a merchant cluster in the past month.
Segment transitions such as these further enable a financial institution to target consumers with o promotions for merchants in the segments in which the consumers show significant increases in membership values.
In another aspect, the present invention provides an improved methodology for learning the relationships between merchants in transaction data, and defining vectors which represent the merchants. More particularly, this aspect of the invention accurately identifies and captures the ~5 patterns of spending behavior which result in the co-occurrence of transactions at different merchants. The methodology is generally as follows:
First, the number of times that each pair of merchants co-occur with one another in the transaction data is determined. The underlying intuition here is that merchants whom the consumers' behaviors indicates as being related will occur together often, whereas unrelated 1o merchants do not occur together often. For example, a new mother will likely shop at children's clothes stores, toy stores, and other similar merchants, whereas a single young male will likely not shop at these types of merchants. The identification of merchants is by counting occurrences of merchants' names in the transaction data. The merchants' names may be normalized to reduce variations and equate different versions of a merchant's name to a single common name.
25 Next, a relationship strength between each pair of merchants is determined based on how much the observed co-occurrence of the merchants deviated from an expected co-occurrence of the merchant pair. The expected co-occurrence is based on statistical measures of how frequently the individual merchants appear in the transaction data or in co-occurrence events. Various relationship strength measures may be used, based on for example, standard deviations of predicted co-occurrence, or log-likelihood ratios.
The relationship strength measure has the features that two merchants that co-occur significantly more often than expected are positively related to one another;
two merchants that co-occur significantly less often than expected are negatively related to one another, and two merchants that co-occur about the number of times expected are not related.
The relationship strength between each pair of merchants is then mapped into the vector space. This is done by determining the desired dot product between each pair of merchant vectors as a function of the relationship strength between the pair of merchants. This step has the feature that to merchant vectors for positively related merchants have a positive dot product, the merchant vectors for negatively related merchants have a negative dot product, and the merchant vectors for unrelated merchants have a zero dot product.
Finally, given the determined dot products for merchant vector pairs, the locations of the merchant vectors are updated so that actual dot products between them at least closely approximate t5 the desired dot products previously determined.
The present invention also includes a method for determining whether any two strings represent the same thing, such as variant spellings of a merchant name. This aspect of the invention is beneficially used to identify and normalize merchant names given what is typically a variety of different spellings or forms of a same merchant name in large quantities of transaction data. In this zo aspect of the invention, the frequency of individual trigrams (more generally, n-grams) for a set of strings, such as merchant names in transaction data, is determined. Each trigram is given a weight base on its frequency. Preferably, frequently occurring trigrams are assigned low weights, while rare trigrams are assigned high weights. A high dimensional vector space is defined, with one dimension for each trigram. Orthogonal unit vectors are defined for each trigram. Each string (e.g. merchant 25 name) to be compared is given a vector in the trigram vector space. This vector is defined as the sum of the unit vectors for each trigram in the string, weighted by the trigram weight. Any two strings, such as merchant names, can now be compared by taking their dot product. If the dot product is above a threshold (determined from analysis of the data set), then the strings are deemed to be equivalents of each other. Normalizing the length of the string vectors may be used to make the comparison insensitive to the length of the original strings. With either partial (normalization of one string but not the other) or non-normalization, string length influences the comparison, but may be used to match parts of one string against the entirety of another string.
This methodology provides for an extremely fast and accurate mechanism for string matching. The matching process may be used to determine, for example, whether two merchant names are the same, two company names, two people names, or the like. This is useful in applications needing to reconcile divergent sources or types of data containing strings which reference to a common group of entities (e.g.
transaction records from many transaction sources containing names of merchants).
1o The present invention may be embodied in various forms. As a computer program product, the present invention includes a data preprocessing module that takes consumer spending data and processes it into organized files of account related and time organized purchases. Processing of merchant names in the spending data is provided to normalize variant names of individual merchants. A data post processing module generates consumer profiles of summary statistics in ~s selected time intervals, for use in training the predictive model. A
predictive model generation system creates merchant vectors, and clusters them into merchant clusters, and trains the predictive model of each merchant segment using the consumer profiles and transaction data. Merchant vectors, and consumer profiles are stored in databases. A profiling engine applies consumer profiles and consumer transaction data to the predictive models to provide predicted spending in each 2o merchant segment, and to compute membership functions of the consumers for the merchant segment. A reporting engine outputs reports in various formats regarding the predicted spending and membership information. A segment transition detection engine computes changes in each consumer's membership values to identify significant transitions of the consumer between merchant clusters. The present invention may also be embodied as a system, with the above program product 25 element cooperating with computer hardware components, and as a computer implemented method.
DESCRIPTION OF THE DRAWINGS
Figs. la-lc are illustrations of merchant and consumer vector representations.
Fig. 2 is a sample list of merchant segments.
Fig. 3 is a flowchart of the overall process of the present invention.
Fig. 4a is an illustration of the system architecture of one embodiment of the present invention during operation.
Fig. 4b is an illustration of the system architecture of the present invention during s development and training of merchant vectors, and merchant segment predictive models.
Fig. 5 is an illustration of the functional components of the predictive model generation system.
Figs. 6a and 6b are illustrations of forward and backward co-occurrence windows.
Fig. 7a is an illustration of the master file data prior to stemming and equivalencing, and to Fig. 7b is an illustration of a forward co-occurrence window in this portion of the master file after stemming and equivalencing.
Fig. 8 is an illustration of the various types of observations during model training.
Fig. 9 is an illustration of the application of multiple consumer account data to the multiple segment predictive models.
l5 DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
A. Overview of Consumer and Merchant Vector Representation and the Co-occurrence of Merchant Purchases B. System Overview C. Functional Overview D. Data Preprocessing Module E. Predictive Model Generation System 1. Merchant Vector Generation 2. Training of Merchant Vectors: The UDL Algorithm 1o a) Co-occurrence Counting i) Forward co-occurrence counting ii) Backward co-occurrence counting iii) Bi-directional co-occurrence counting b) Estimating Expected Co-occurrence Counts ~5 c) Desired Dot-Products between Merchant Vectors d) Merchant Vector Training 3. Clustering Module F. Data Postprocessing Module G. Predictive Model Generation zo H. Profiling Engine 1. Membership Function: Predicted Spending In Each Segment 2. Segment Membership Based on Consumer Vectors 3. Updating of Consumer Profiles I. Reporting Engine 25 1. Basic Reporting Functionality 2. General Segment Report a) General Segment Information b) Segment Members Information c) Lift Chart 3o d) Population Statistics Tables i) Segment Statistics ii) Row Descriptions Targeting Engine K. Segment Transition Detection A. OVERVIEW OF CONSUMER AND MERCHANT VECTOR REPRESENTATION AND THE CO-OCCURRENCE OF MERCHANT PURCHASES
One feature of the present invention that enables prediction of consumer spending levels at specific merchants is the ability to represent both consumer and merchants in a same modeling representation. A conventional example is attempting to classify both consumers and merchants with demographic labels (e.g. "baby boomers", or "empty-nesters"). This conventional approach is simply arbitrary, and does not provide any mechanisms for directly quantifying how similar a consumer is to various merchants. The present invention, however, does provide such a quantifiable analysis, based on high-dimensional vector representations of both consumers and merchants, and the co-occurrence of merchants in the spending data of individual consumers.
Referring now to Figs. la and lb, there is shown a simplified model of the vector space representation of merchants and consumers. The vector space 100 is shown here with only three axes, but in practice is a high dimensional hypersphere, typically having 100-300 components. In to this vector space 100, each merchant is assigned a merchant vector.
Preferably, the initial assignment of each merchant's vector contains essentially randomly valued vector components, to provide for a quasi-orthogonal distribution of merchant vectors. This means that initially, the merchant vectors are essentially perpendicular to each other, so that there is no predetermined or assumed association or similarity between merchants.
1s In Fig. la, there is shown merchant vectors for five merchants, A, B, C, D, and E after initialization, and prior to being updated. Merchant A is an upscale clothing store, merchant B is a discount furniture store, merchant C is an upscale furniture store, merchant D
is a discount clothing catalog outlet, and merchant E is a online store for fashion jewelry. As shown in Fig. lc, merchants A and D have the same SIC code because they are both clothing stores, and merchants B and C have 2o the same SIC code because they are both furniture stores. In other words, the SIC codes do not distinguish between the types of consumers who frequent these stores.
In Fig. lb, there is shown the same vector space 100 after consumer spending data has been processed according to the present invention to train the merchant vectors.
The training of merchant vectors is based on co-occurrence of merchants in each consumer's transaction data. Fig. lc 2s illustrates consumer transaction data 104 for two consumers, C 1 and C2.
The transaction data for C1 includes transactions 110 at merchants A, C, and E. In this example, the transaction at merchants A and C co-occur within a co-occurrence window 108; likewise the transactions at merchants C and E co-occur within a separate co-occurrence window 108. The transaction data for C2 includes transactions 110 at merchants B and D, which also form a co-occurrence event.
Merchants for whom transactions co-occur in a consumer's spending data have their vectors updated to point more in the same direction in the vector space, that is making their respective vector component values more similar.
Thus, in Fig. lb, following processing of the consumer transaction data, the merchant vectors for merchants A, C, and E have been updated, based on actual spending data, such as C1's transactions, to point generally in the same direction, as have the merchant vectors for merchants B
and D, based on C2's transactions. Clustering techniques are used then to identify clusters or to segments of merchants based on their merchant vectors 402. In the example of Fig. lb, a merchant segment is defined to include merchants A, C, and E, such as "upscale-technology_savvy." Note that as defined above, the SIC codes of these merchants are entirely unrelated, and so SIC code analysis would not reveal this group of merchants. Further, a different segment with merchants B
and D is identified, even though the merchants share the same SIC codes with the merchants in the 15 first segment, as shown in the transaction data 104.
Each merchant segment is associated with a merchant segment vector 105, preferably the centroid of the merchant cluster. Based on the types of merchants in the merchant segment, and the consumers who have purchased in the segment, a segment name can be defined, and may express the industry, sub-industry, geography, and/or consumer demographics.
2o The merchant segments provide very useful information about the consumers.
In Fig. lb there is shown the consumer vectors 106 for consumers C1 and C2. Each consumer's vector is a summary vector of the merchants at which the consumer shops. This summary is preferably the vector sum of merchant vectors at which the consumer has shopped at in defined recent time interval. The vector sum can be weighted by the recency of the purchases, their dollar amount, or 25 other factors.
Being in the same vector space as the merchant vectors, the consumer vectors 106 reveal the consumer's interests in terms of their actual spending behavior. This information is by far a better base upon which to predict consumer spending at merchants than superficial demographic labels or categories. Thus, consumer C1's vector is very strongly aligned with the merchant vectors of merchants A, C, and E, indicating C1 is likely to be interested in the products and services of these merchants. C1's vector can be aligned with these merchants, even if C1 never purchased at any of them before. Thus, merchants A, C, and E have a clear means for identifying consumers who may be interested in purchasing from them.
Which consumers are associated with which merchant segments can also determined by a membership function. This function can be based entirely on the merchant segment vectors and the consumer vectors (e.g. dot product), or on other quantifiable data, such as amount spent by a consumer in each merchant segment, or a predicted amount to be spent.
to Given the consumers who are members of a segment, useful statistics can be generated for the segment, such as average amount spent, spending rate, ratios of how much these consumers spend in the segment compared with the population average, and so forth. This information enables merchants to finely target and promote their products to the appropriate consumers.
Fig. 2 illustrates portions of a sample index of merchant segments, as may be produced by is the present invention. Segments are named by assigning each segment a unique segment number 200 between 1 and M the total number of segments. In addition, each segment has a description field 210 which describes the merchant segment. A preferred description field is of the form:
Major Categories: Minor Categories: Demographics: Geography Major categories 202 describe how the customers in a merchant segment typically use their 2o accounts. Uses include retail purchases, direct marketing purchases, and where this type cannot be determined, then other major categories, such as travel uses, educational uses, services, and the like.
Minor categories 204 describe both a subtype of the major category (e.g.
subscriptions being a subtype of direct marketing) or the products or services purchased in the transactions (e.g.
housewares, sporting goods, furniture) commonly purchased in the segment.
Demographics 25 information 206 uses account data from the consumers who frequent this segment to describe the most frequent or average demographic features, such as age range or gender, of the consumers.
Geographic information 208 uses the account data to describe the most common geographic location of transactions in the segment. In each portion of the segment description 210 one or more descriptors may be used (i.e. multiple major, minor, demographic, or geographic descriptors). This naming convention is much more powerful and fine-grained than conventional SIC
classifications, and provides insights into not just the industries of different merchants (as in SIC) but more importantly, into the geographic, approximate age or gender, and lifestyle choices of consumers in each segment.
The various types of segment reports are further described in section I.
Reporting Engine, below.
B. SYSTEM OVERVIEW
Turning now to Fig. 4a there is shown an illustration of a system architecture of one o embodiment of the present invention during operation in a mode for predicting consumer spending.
System 400 includes begins with a data preprocessing module 402, a data postprocessing module 410, a profiling engine 412, and a reporting engine 426. Optional elements include a segment transition detection engine 420 and a targeting engine 422. System 400 operates on different types of data as inputs, including consumer summary file 404 and consumer transaction file 406, generates ~5 interim models and data, including the consumer profiles in profile database 414, merchant vectors 416, merchant segment predictive models 418, and produces various useful outputs including various segment reports 428-432.
Fig. 4b illustrates system 400 during operation in a training mode, and here additionally include predictive model generation system 440.
20 C. FUNCTIONAL OVERVIEW
Referring now to Fig. 3, there is shown a functional overview the processes supported by the present invention. The process flow illustrated and described here is exemplary of how the present invention may be used, but does not limit the present invention to this exact process flow, as variants may be easily devised.
25 Generally then, master files 408 are created or updated 300 from account transaction data for a large collection of consumers (account holders) of a financial institution, as may be stored in the consumer summary files 404 and the consumer transaction files 406. The master files 408 collect and organize the transactions of each consumer from different statement periods into a date ordered sequence of transaction data for each consumer. Processing of the master files 408 normalizes merchant names in the transaction data, and generates frequency statistics on the frequency of occurrence of merchant names.
In a training mode, the present invention creates or updates 302 merchant vectors associated with the merchant names. The merchant vectors are based on the co-occurrence of merchants names in defined co-occurrence windows (such as a number of transactions or period of time). Co-occurrence statistics are used to derive measures of how closely related any two merchants are based on their frequencies of co-occurrence with each other, and with other merchants. The relationship o measures in turn influence the positioning of merchant vectors in the vector space so that merchants who frequently co-occur have vectors which are similarly oriented in the vector space, and the degree of similarity of the merchant vectors is a function of their co-occurrence rate.
The merchant vectors are then clustered 304 into merchant segments. The merchant segments generally describe groups of merchants which are naturally (in the data) shopped at t5 "together" based on the transactions of the many consumers. Each merchant segment has a segment vector computed for it, which is a summary (e.g. centroid) of the merchant vectors in the merchant segment. Merchant segments provide very rich information about the merchants that are members of the segments, including statistics on rates and volumes of transactions, purchases, and the like.
With the merchant segments now defined, a predictive model of spending behavior is 2o created 306 for each merchant segment. The predictive model for each segment is derived from observations of consumer transactions in two time periods: an input time window and a subsequent prediction time window. Data from transactions in the input time window for each consumer (including both segment specific and cross-segment) is used to extract independent variables, and actual spending in the prediction window provides the dependent variable. The independent 25 variables typically describe the rate, frequency, and monetary amounts of spending in all segments and in the segment being modeled. A consumer vector derived from the consumer's transactions may also be used. Validation and analysis of the segment predictive models may done to confirm the performance of the models.
In the production phase, the system is used to predict spending, either in future time periods for which there is no actual data as of yet, or in a recent past time period for which data is available and which is used for retrospective analysis. Generally, each account (or consumer) has a profile summarizing the transactional behavior of the account holder. This information is created, or updated 308 with recent transaction data if present, to generate the appropriate variables for input into the predictive models for the segments. (Generation of the independent variables for model generation may also involve updating 308 of account profiles.) Each account further includes a consumer vector which is derived, e.g. as a summary vector, from the merchant vectors of the merchant at which the consumer has purchased in a defined time to period, say the last three months. Each merchant vector's contribution to the consumer vector can be weighted by the consumer's transactions at the merchants, such as by transaction amounts, rates, or recency. 'The consumer vectors, in conjunction with the merchant segment vectors provide an initial level of predictive power. Each consumer can now be associated with the merchant segment having a merchant segment vector closest to the consumer vector for the consumer.
Using the updated account profiles, this data is input into the set of predictive models to generate 310 for each consumer, an amount of predicted spending in each merchant segment in a desired prediction time period. For example, the predictive models may be trained on a six month input window to predict spending in a subsequent three month prediction window. The predicted period may be an actual future period or a current (e.g. recently ended) period for which actual 2o spending is available.
The predicted spending levels and consumer profiles allow for various levels and types of account and segment analysis 312. First, each account may be analyzed to determine which segment (or segments) the account is a member of, based on various membership functions. A
preferred membership function is the predicted spending value, so that each consumer is a member of the segment for which they have the highest predicted spending. Other measures of association between accounts and segments may be based on percentile rankings of each consumer's predicted spending across the various merchant segments. With any of these (or similar) methods of determining which consumers are associated with which segments, an analysis of the rates and volumes of different types of transactions by consumers in each segment can be generated. Further, targeting of accounts in one or more segments may be used to selectively identify populations of consumers with predicted high dollar amount or transaction rates. Account analysis also identifies consumers who have transitioned between segments as indicated by increased or decreased s membership values.
Using targeting criteria, promotions directed 314 to specific consumers in specific segments and the merchants in those segments can be realized. For example, given a merchant segment, the consumers with the highest levels (or rankings) of predicted spending in the segment may be identified, or the consumers having consumer vectors closest to the segment vector may be selected.
to Or, the consumers who have highest levels of increased membership in a segment may be selected.
The merchants which make up the segment are known from the segment clustering 304. One or more promotional offers specific to merchants in the segment can be created, such as discounts, incentives and the like. The merchant-specific promotional offers are then directed to the selected consumers. Since these account holders have been identified as having the greatest likelihood of ~s spending in the segment, the promotional offers beneficially coincide with their predicted spending behavior. This desirably results in an increase success rate at which the promotional offers are redeemed.
These and other uses and applications of the present invention will be apparent to those of skill in the art.
20 D. DATA PREPROCESSING MODULE ' The data preprocessing module 402 (DPM) does initial processing of consumer data received from a source of consumer accounts and transactions, such as a credit card issuer, in preparation for creating the merchant vectors, consumer vectors, and merchant segment predictive models. DPM 402 is used in both production and training modes. (In this disclosure, the terms 2s "consumer," "customer," and "account holder" are used interchangeably).
The inputs for the DPM are the consumer summary file 404 and the consumer transaction file 406. Generally, the consumer summary file 404 provides account data on each consumer who transaction data is to be processed, such as account number and other account identifying and descriptive information. The consumer transaction file 406 provides details of each consumer's transactions. The DPM 402 processes these files to organize both sets of data by account identifiers of the consumer accounts, and merges the data files so that each consumer's summary data is available with their transactions.
Customer summary file 404: The customer summary file 404 contains one record for each customer that is profiled by the system, and includes account information of the customer's account, and optionally includes demographic information about the customer. The consumer summary file 404 is typically one that a financial institution, such as a bank, credit card issuer, department store, to and the like maintains on each consumer. The customer or the financial institution may supply the additional demographic fields which are deemed to be of informational or of predictive value.
Examples of demographic fields include age, gender and income; other demographic fields may be provided, as desired by the financial institution.
Table 1 describes one set of fields for the customer summary file 404 for a preferred ~5 embodiment. Most fields are self explanatory. The only required field is an account identifier that uniquely identifies each consumer account and transactions. This account identifier may be the same as the consumer's account number; however, it is preferable to have a different identifier used, since a consumer may have multiple account relationships with the financial institution (e.g.
multiple credit cards or bank accounts), and all transactions of the consumer should be dealt with 2o together. The account identifier is preferably derived from the account number, such as by a one-way hash or encrypted value, such that each account identifier is uniquely associated with an account number. The pop id field is optionally used to segment the population of customers into arbitrary distinct populations as specified by the financial institution, for example by payment history, account type, geographic region, etc.
25 Table 1: Customer Summary File Description Sample Format Account_id Char[max 24]
Pop id Char (' 1' -'N') Account_numberChar[max 16]
Credit bureau Short int as score string Internal credit Short risk int score as string Ytd purchases Int as string Ytd_cash_adv Int as string Ytd_int~urchasesInt as string Ytd_int_cash Int adv as string State_code Char[max 2]
Zip code Char[max 5]
Demographic 1 Int as string Demographic N Int as string Note the additional, optional demographic fields for containing demographic information about each consumer. In addition to demographic information, various summary statistics of the consumer's account may be included. These include any of the following:
Table 2: Example Demographic Fields for Customer Summary File Description Explanation Cardholder zip code Months on books or open date Number of people on the Equivalent to number of account plastics Credit risk score Cycles delinquent Credit line Open to buy Initial month statement Balance on the account prior balance to the first month of transaction data pull Last month statement Balance on the account at balance the end of the transaction data pulled Monthly payment amount For each month of transaction data contributed or the average over last year.
Monthly cash advance For each month of transaction amount data contributed or the average over last year.
Monthly cash advance For each month of transaction count data contributed or the average over last year.
Monthly purchase amount For each month of transaction data contributed or the average over last year.
Monthly purchase count For each month of transaction data contributed or the average over last year.
Monthly cash advance For each month of transaction interest data contributed or the average over last year.
Monthly purchase interestFor each month of transaction data contributed or the average over last year.
Monthly late charge For each month of transaction data contributed or the average over last year.
Consumer transaction file 406. The consumer transaction file 406 contains transaction level data for the consumers in the consumer summary file. The shared key is the account id. In a preferred embodiment, the transaction file has the following description.
Table 3: Consumer Transaction File Description Sample Format Account_id Quoted char(24) - [0-9]
Account_number Quoted char( 16) - [0-9]
Pop id Quoted char(1)[0-128]
-Transaction_code Integer Transaction_amount Float Transaction_time HH:MM:SS
Transaction_date ~'YYYMMDD
Transaction_type Char(5) SIC_code Char(5) - [0-9]
Merchant_descriptorChar(25) SKU Number Variable length list Merchant zip code Char[max 5]
The SKU and merchant zip code data are optional, and may be used for more fine-grained filtering of which transactions are considered as co-occurnng.
The output for the DPM is the collection of master files 408 containing a merged file of the account information and transaction information for each consumer. The master file is generated as a preprocessing step before inputting data to the profiling engine 412. The master file 408 is o essentially the customer summary file 404 with the consumer's transactions appended to the end of each consumer's account record. Hence the master file has variable length records. The master files 408 are preferably stored in a database format allowing for SQL querying.
There is one record per account identifier.
In a preferred embodiment, the master files 408 have the following information:
I5 Table 4: Master File 408 Description Sample Format Account_id Char[max 24]
Pop id Char (' 1' -'N') Account_number Char[max 16]
Credit bureau scoreShort int as string Ytd purchases Int as string Ytd cash advances Int as string Ytd_interest_on-purchasesInt as string Ytd_interest_on Int as string cash advs State_code Char[max 2]
Demographic 1 Int as string Demographic_N Int as string <transactions>
The transactions included for each consumer include the various data fields described above, and any other per-transaction optional data that the financial institution desires to track.
The master file 408 preferably includes a header that indicates last update and number of updates. The master file may be incrementally updated with new customers and new transactions for existing customers. The master file database is preferably be updated on a monthly basis to capture new transactions by the financial institution's consumers.
The DPM 402 creates the master file 408 from the consumer summary file 404 and consumer transaction file 406 by the following process:
a) Verify minimum data requirements. The DPM 402 determines the number of to data files it is handling (since there maybe many physical media sources), and the length of the files to determine the number of accounts and transactions. Preferably, a minimum of 12 months of transactions for a minimum of 2 million accounts are used to provide fully robust models of merchants and segments. However, there is no formal lower bound to the amount of data on which system 400 may operate.
15 b) Data cleaning. The DPM 402 verifies valid data fields, and discards invalid records. Invalid records are records that are missing the any of the required fields for the customer summary file of the transaction file. The DPM 402 also indicates missing values for fields that have corrupt or missing data and are optional. Duplicate transactions are eliminated using account ID, account number, transaction code, transaction amount, date, 2o and merchant description as a key.
c) Sort and merge files. The consumer summary file 404 and the consumer transaction file 406 are both sorted by account ID; the consumer transaction file 406 is further sorted by transaction date. Additional sorting of the transaction file, for example on time, type of transaction, merchant zip code, may be applied to further influence the determination of merchant co-occurrence. The sorted files are merged into the master file 408, with one record per account, as described above.
Due to the large volume of data involved in this stage, compression of the master files 408 is preferred, where on-the-fly compression and decompression is supported. This often improves system performance due to decreased I/O. In addition, as illustrated in Fig.
4a, the master file 408 may be split into multiple subfiles, such as splitting by population ID, or other variable, again to reduce the amount of data being handled at any one time.
E. PREDICTIVE MODEL GENERATION SYSTEM
1o Referring to Fig. 4b, the predictive model generation system 440 takes as its inputs the master file 408 and creates the consumer profiles and consumer vectors, the merchant vectors and merchant segments, and the segment predictive models. This data is used by the profiling engine to generate predictions of future spending by a consumer in each merchant segment using inputs from the data postprocessing module 410.
~s Fig. 5 illustrates one embodiment of the predictive model generation system 440 that includes three modules: a merchant vector generation module 510, a clustering module 520, and a predictive model generation module 530.
1. Merchant Vector Generation Merchant vector generation is application of a context vector type analysis to the account zo data of the consumers, and more particularly to the master files 408. The operations for merchant vector generation are managed by the merchant vector generation module 510.
In order to obtain the initial merchant vectors, additional processing of the master files 408 precedes the analysis of which merchants co-occur in the master files 408.
There are two, sequential, processes that are used on the merchant descriptions, stemming and equivalencing.
25 These operations normalize variations of individual merchants names to a single common merchant name to allow for consistent identification of transaction at the merchant.
This processing is managed by the vector generation module S 10.
Stemming is the process of removing extraneous characters from the merchant descriptions.
Examples of extraneous characters include punctuation and trailing numbers.
Trailing numbers are removed because they usually indicate the particular store in a large chain (e.g. Wal-Man #12345).
It is preferable to identify all the outlets of a particular chain of stores as a single merchant description. Stemming optionally converts all letters to lower case, and replaces all space characters with a dash. This causes all merchant descriptions to be an unbroken string of non-space characters. The lower case constraint has the advantage of making it easy to distinguish non-stemmed merchant descriptions from stemmed descriptions.
Equivalencing is applied after stemming, and identifies various different spellings of a to particular merchant's description as being associated with a single merchant description. For example, the "Roto-Rooter" company may occur in the transaction data with the following three stemmed merchant descriptions: "ROTO-ROOTER-SEWER-SERV", "ROTO-ROOTER-SERVICE", and "ROTO-ROOTER-SEWER-DR". An equivalence table is set up containing a root name and a list of all equivalent names. In this example, ROTO-ROOTER-SEWER-SERV becomes the root name, and the I5 latter two of these descriptions are listed as equivalents. During operation, such as generation of subsequent master files 408 (e.g. the next monthly update), an identified equivalenced name is replaced with its root name from the equivalence table.
In one embodiment, equivalencing proceeds in two steps, with an optional third step. The first equivalencing step uses a fuzzy trigram matching algorithm that attempts to find merchant zo descriptions with nearly identical spellings. This method collects statistics on all the trigrams (sets of three consecutive letters in a word) in all the merchant descriptions, and maintains a list of the trigrams in each merchant description. The method then determines a closeness score for any two merchant names that are supplied for comparison, based on the number of trigrams the merchant names have in common. If the two merchant names are scored as being sufficiently close, they are z5 equivalenced. Appendix I, below, provides a novel trigram matching algorithm useful for equivalencing merchant names (and other strings). 'This algorithm uses a vector representation of each trigram, based on trigram frequency in data set, to construct trigram vectors, and judges closeness based on vector dot products.
Preferably, equivalencing is applied only to merchants that are assigned the same SIC code.
'This constraint is useful since two merchants may have a similar name, but if they are in different SIC classifications there is a good chance that they are, in fact, different businesses.
The second equivalencing step consists of fixing a group of special cases.
These special s cases are identified as experience is gained with the particular set of transaction data being processed. There are two broad classes that cover most of these special cases:
a place name is used instead of a number to identify specific outlets in a chain of stores, and some department stores append the name of the specific department to the name of the chain. An example of the first case is U-Haul, where stemmed descriptions look like U-HAUL-SAN-DIEGO, U-HAUL-ATLANTA, and the like.
to An example of the second case is Robinsons-May department stores, with stemmed descriptions like ROBINSONMAY-LEE-WOMEN, ROBINSONMAY-LEVI-SHORT, ROBINSONMAY-TRIFARI-CO, and ROBINSONMAY-JANE-ASHLE. In both cases, any merchant description in the correct SIC codes that contain the root name (e.g. U-HAUL or ROBINSONMAY) are equivalenced to the root name.
A third, optional step includes a manual inspection and correction of the descriptions for the 15 highest frequency merchants. The number of merchants subjected to this inspection varies, depending upon the time constraints in the processing stream. This step catches the cases that are not amenable to the two previous steps. An example is Microsoft Network, with merchant descriptions like MICROSOFT-NET and MSN-BILLING. With enough examples from the transaction data, these merchant descriptors can also be added to the special cases in step two, above.
2o Preferably, at least one set of master files 408 is generated before the equivalencing is determined. This is desirable in order to compile statistics on frequencies of each merchant description within each SIC code before the equivalencing is started.
Once the equivalencing table is constructed, the original master files 408 are re-built using the equivalenced merchant descriptions. This steps replaces all equivalenced merchant descriptors zs with their associated root names, thereby ensuring that all transactions for the merchant are associated with the same merchant descriptor. Subsequent incoming transaction data can be equivalenced before it is added to the master files, using the original equivalence table.
Given the equivalence table, a merchant descriptor frequency list can be determined describing the frequency of occurrence of each merchant descriptor (including its equivalents).
Once the equivalence table is defined an initial merchant vector is assigned to each root name. The merchant vector training based on co-occurrence is then performed, processing the master files by account ID and then by date as described above.
2. Training of Merchant Vectors: The UDL Algorithm As noted above, the merchant vectors are based on the co-occurrence of merchants in each consumer's transaction data. The master files 408, which are ordered by account and within account by transaction date, are processed by account, and then in date order to identify groups of to co-occurnng merchants. The co-occurrence of merchant names (once equivalenced) is the basis of updating the values of the merchant vectors.
The training of merchant vectors is based upon the unexpected deviation of co-occurrences of merchants in transactions. More particularly, an expected rate at which any pair of merchants co-occur in the transaction data is estimated based upon the frequency with which each individual ~s merchant appears in co-occurrence with any other merchants, and a total number of co-occurrence events. The actual number of co-occurrences of a pair of merchants is determined. If a pair of merchants co-occur more frequently then expected, then the merchants are positively related, and the strength of that relationship is a function of the "unexpected" amount of co-occurrence. If the pair of merchants co-occur less frequently then expected, then the merchants are negatively related.
20 .If a pair of merchants co-occur in the data about the same as expected, then there is no generally relationship between them. Using the relationship strengths of each pair of merchants as the desired dot product between the merchant vectors, the values of the merchant vectors can be determined in the vector space. This process is the basis of the Unexpected Deviation Learning algorithm or "~L».
zs This approach overcomes the problems associated with conventional vector based models of representation, which tend to be based on overall frequencies of terms relative to the database as a whole. Specifically, in a conventional model, the high frequency merchants, that is merchants for which there are many, many purchases, would co-occur with many other merchants, and either falsely suggest that these other merchants are related to the high frequency merchants, or simply be so heavily down-weighted as to have very little influence at all. That is, a high frequency merchant names would be treated as high frequency English words like "the" and "and", and so forth, which are given very low weights in conventional vector systems specifically because of their high frequency.
However, the present invention takes account of the high frequency presence of individual merchants, and instead analyses the expected rate at which merchants, including high frequency merchants, co-occur with other merchants. High frequency merchants are expected to co-occur o more frequently. If a high frequency merchant and another merchant co-occur even more frequently than expected, then there is a positive correlation between them. The present invention thus accounts for the high frequency merchants in a manner that conventional methodologies cannot.
The overall process of modeling the merchant vectors using unexpected deviation is as follows:
1. First, count the number of times that the merchants co-occur with one another in the transaction data. The intuition is that related merchants occur together often, whereas unrelated merchants do not occur together often.
2. Next, calculate the relationship strength between merchants based on how much the observed co-occurrence deviated from the expected co-occurrence. The relationship strength has the zo following characteristics:
~ Two merchants that co-occur significantly more often than expected are positively related to one another.
~ Two merchants that co-occur significantly less often than expected are negatively related to one another.
~ Two merchants that co-occur about the number of times expected are not related.
3. Map the relationship strength onto vector space; that is, determine the desired dot product between the merchant vectors for all pairs of items given their relationship strength. The mapping results in the following characteristics:
~ The merchant vectors for positively related merchants have a positive dot product.
~ The merchant vectors for negatively related merchants have a negative dot product.
~ The merchant vectors for unrelated merchants have a zero dot product.
4. Update the merchant vectors from their initial assignments, so that the dot products between them at least closely approximate the desired dot products.
The next sections explain this process in further detail.
a) Co-occurrence Counting Co-occurrence counting is the procedure of counting the number of times that two items, here merchant descriptions, co-occur within a fixed size co-occurrence window in some set of data, here the transactions of the consumers. Counting can be done forwards, backwards, or bi-directionally. The best way to illustrate co-occurrence counting is to give an example for each type of co-occurrence count:
Example: Consider the sequence of merchant names:
where M1, M2 and M3 stands for arbitrary merchant names as they might appear in a sequence of transactions by a consumer. For the purposes of this example, intervening data, such dates of 2o transactions, amounts, transaction identifiers, and the like, are ignored.
Further assume a co-occurrence window with a size = 3. Here, the co-occurrence window is based on a simple count of items or transactions, and thus the co-occurrence window represents a group of three transactions in sequence.
i) Forward co-occurrence counting z5 The first step in the counting process is to set up the forward co-occurrence windows. Fig.
6a illustrates the co-occurrence windows 602 for forward co-occurrence counting of this sequence of merchant names. By definition, each merchant name is a target 604, indicated by an arrow, for one and only one co-occurrence window 602. Therefore, in this example there are seven forward co-occurrence windows 602, labeled 1 through 7. The other merchant names within a given co-occurrence window 602 are called the neighbors 606. In forward co-occurrence counting, the neighbors occur after the target. For window size = 3 there can be at most three neighbors 606 s within a given co-occurrence window 602. Obviously, the larger the window size, the more merchants (and transactions) are deemed to co-occur at a time.
The next step is to build a table containing all co-occurrence events. A co-occurrence event is simply a pairing of a target 604 with a neighbor 606. For the co-occurrence window #1 in Fig. 6a, the target is M1 and the neighbors are M3, M1, and M3. Therefore, the co-occurrence events in this o window are: (M1, M3), (M1, M1), and (Ml, M3). Table 5 contains the complete listing of co-occurrence events for every co-occurrence window in this example.
Table 5: Forward co-occurrence event table Co-occurrence Target Neighbor Window 3 Ml M2 The last step is to tabulate the number of times that each unique co-occurrence event Is occurred. A unique co-occurrence event is the combination (in any order) of two merchant names.
Table 6 shows this tabulation in matrix form. The rows indicate the targets and the columns indicate the neighbors. For future reference, this matrix will be called the forward co-occurrence matrix.
Table 6: Forward Co-occurrence matrix Neighbor Target M2 ii) Backward co-occurrence counting s Backward co-occurrence counting is done in the same manner as forward co-occurrence counting except that the neighbors precede the target in the co-occurrence windows. Fig. 6b illustrates the co-occurrence windows for the same sequence of merchant names for backward co-occurrence counting.
Once the co-occurrence windows are specified, the co-occurrence events can be identified to and counted.
Table 7: Backward co-occurrence event table Co-occurrenceTarget Neighbor Window 5 M1 Ml The number of times that each unique co-occurrence event occurred is then recorded in the backward co-occurrence matrix.
Table 8: Backward Co-occurrence matrix Neighbor Target M2 Note that the forward co-occurrence matrix and the backward co-occurrence matrix are the transpose of one another. This relationship is intuitive, because backward co-occurrence counting is the same as forward co-occurrence counting with the transaction stream reversed. Thus, there is no need to do both counts; either count can be used, and then the transpose the resulting co-occurrence matrix taken to obtain get the other.
o iii) Bi-directional co-occurrence counting The bi-directional co-occurrence matrix is just the sum of the forward co-occurrence matrix and the backward co-occurrence matrix. The resulting matrix will always be symmetric. In other words, the co-occurrence between merchant names A and B is the same as the co-occurrence between merchant names B and A. This property is desirable because this same symmetry is ~s inherent in vector space; that is for merchant vectors y',, and y'B for merchants A and B, VA ' VB = YH ' YA . For this reason, the preferred embodiment uses the bi-directional co-occurrence matrix.
- Table 9: Bi-directional Co-occurrence matrix Neighbor Ml M2 M3 Target M2 1 0 3 4 Figs. 7a and 7b illustrate the above concepts in the context of consumer transaction data in the master files 408. In Fig. 7a there is shown a portion of the master file 408 containing transactions of a particular customer. This data is prior to the stemming and equivalencing steps described above, and so includes the original names of the merchants with spaces, store numbers and locations and other extraneous data.
Fig. 7b illustrates the same data after stemming and equivalencing. Notice that the two transactions at STAPLES which previously identified a store number are now equivalenced. The o two car rental transactions at ALAMO which transactions previously included the location are equivalenced to ALAMO, as are two hotel stays at HILTON which also previously included the hotel location. Further note that the HILTON transactions specified the location prior to the hotel name. Finally, the two transactions at NORDSTROMS which previously identified a department have been equivalenced to the store name itself.
Further, a single forward co-occurrence window 700 is shown with the target 702 being the first transaction at the HILTON, and the next three transactions being neighbors 704.
Accordingly, following the updating of the master files 408 with the stemmed and equivalenced names, the merchant vector generation module 510 performs the following steps for each consumer account:
1. Read the transaction data in date order.
2. Forward count the co-occurrences of merchant names in the transaction data, using a predetermined co-occurrence window.
3. Generate the forward co-occurrence, backward co-occurrence and bi-directional co-occurrence matrixes.
One preferred embodiment uses a co-occurrence window size of three transactions. This captures the transactions as the co-occurring events (and not the presence of merchant names within three words of each other) based only on sequence. In an alternate embodiment the co-occurrence window is time-based using a date range in order to identify co-occurring events. For example, with a co-occurrence window of 1 week, given a target transaction, a co-occurring neighbor transaction occurs within one week of the target transaction. Yet another date approach is to define the target not as a transaction, but rather as a target time period, and then the co-occurrence window as another o time period. For example, the target period can be a three month block and so all transactions within the block are the targets, and then the co-occurrence window may be all transactions in the two months following the target period. Thus, each merchant having a transaction in the target period co-occurs with each merchant (same or other) having a transaction in the co-occurrence period.
Those of skill in the art can readily devise alternate co-occurrence definitions which capture the sequence and/or time related principles of co-occurrence in accordance with the present invention.
b) Estimating Expected Co-occurrence Counts In order to determine whether two merchants are related, the UDL algorithm uses an estimate about the number of times transactions at such merchants would be expected to occur.
Suppose the only information known about transaction data is the number of times that each 2o merchant name appeared in co-occurrence events. Given no additional information, the correlation between any two merchant names, that is how strongly they are related, cannot be determined. In other words, we would be unable to determine whether the occurrence of a transaction at one merchant increases or decreases the likelihood of occurrence of a transaction at another merchant.
Now suppose that it is desired predict the number of times two arbitrary merchants, merchant; and merchants co-occur. In the absence of any additional information we would have to assume that merchant; and merchant;, are not correlated. In terms of probability theory, this means that the occurrence of a transaction at merchant; will not affect the probability of the occurrence of a transaction at merchant:
[ 1 ] Pif = Pi The joint probability of merchant; and merchants is given by s [2] P~ = P,.Pi~;
Substituting P~ for P~~; into equation [2] gives f3] P,~ = P,.P>i~ = P,.P~
However, the true probabilities P and Pl , are unknown, and so they must be estimated from the limited information given about the data. In this scenario, the maximum likelihood to estimate P for P,. and P~ is [4] p - T T
[5] Pi = T
where T is the number of co-occurrence events that merchant; appeared in, ~5 Tj is the number of co-occurrence events that merchants appeared in, and T is the total number of co-occurrence-events.
These data values are taken from the bi-directional co-occurrence matrix.
Substituting these estimates into equation [3] produces TTJ
P~=PPS= Tz o which is the estimate for P,~ .
Since there are a total of T independent co-occurrence events in the transaction data, the expected number of co-occurring transactions of merchant; and merchant; is " T,.T~
T~ = TP~ _ T
This expected value serves as a reference point for determining the correlation between any two merchants in the transaction data. If two merchants co-occur significantly greater than expected by T,;, the two merchants are positively related. Similarly, if two merchants co-occur significantly less expected, the two merchants are negatively related. Otherwise, the two merchants are practically unrelated.
Also, given the joint probability estimate P~ and the number of independent co-occurrence events T, the estimated probability distribution function for the number of times that merchant; and merchants co-occur can be determined. It is well known, from probability theory, that an experiment o having T independent trials (here transactions) and a probability of success P~ for each trial (success here being co-occurrence of merchant; and merchant) can be modeled using the binomial distribution. The total number of successes k, which in this case represents the number of co-occurrences of merchants, has the following probability distribution:
i 1 f8l P~tri=kIT~T~Ti)= T. .Pk.~1_P~/T-k k! (T - k)!
l5 This distribution has mean:
TT.
E[t~]=TP~ _ ' T
which is the same value as was previously estimated using a different approach. The distribution has variance:
T,.Ti T,.T~
~lp] Yar[t;~]=TP~(1-P~)= T 1- TZ
'The variance is used indirectly in UDL 1, below. The standard deviation of t;~ , ~,~ , is the square root of the variance Tiar(t~ ] . If merchant; and merchants are not related, the difference between the actual and expected co-occurance counts, T,~ - T,~ , should not be much larger than Q~ .
c) Desired Dot-Products between Merchant Vectors To calculate the desired dot product ( d~ ) between two merchants vectors, the UDL
algorithm compares the number of observed co-occurrences (found in the bi-directional co-occurrence matrix) to the number of expected co-occurrences. First, it calculates a raw relationship measure ( r~ ) from the co-occurrence counts, and then it calculates a desired dot product d,~ from r,~ . There are at least three different ways that the relationship strength and desired dot product can o be calculated from the co-occurrence data:
Method: UDL I
T,~ - T~ ~ T,~ - T
[11] r;; _ a'g T
~J
~0. ril [12] d;; = tank 2~
r Method: UDL2 is [13] r~i = sign(T,~ -T~ ) ~ 21n~, a'o. rti [ 12] d;; = tank 2~
r Method: UDL3 [14] r;~ =sign(T,~ -T~)~ 2~'~ =sign(T,~ -T~)~ 21n~, ~TS' / T
a'o. rri [12] d;; = tank 2~
r where T,~ is the actual number of co-occurrence events for merchant; and merchant, and 6r is the standard deviation of all the r,~ .
In UDL2 and UDL3, the log-likelihood ratio, ln~, is given by:
T,.J (T,. -T~) (T -T,.~) (T-T -T +T ) [15] 1nA=T,.~ ln-+(T -T~)ln +(T -T )ln +(T-T,. -T +T~)ln T,.~ (T -T~) (T -T~) (T-T -T +T~) s Each technique calculates the unexpected deviation, that is, the deviation of the actual co-occurrence count from the expected co-occurrence count. In terms of the previously defined variables, the unexpected deviation is:
[ 16] D,~ = T~ - T
Thus, D;~ may be understood as a raw measure of unexpected deviation.
to As each method uses the same unexpected deviation measure, the only difference between each technique is that they use different formulas to calculate rte from D;;.
(Note that other calculations of dot product may be used).
The first technique, UDL1, defines r~ to be the unexpected deviation D~
divided by the standard deviation of the predicted co-occurrence count. This formula for the relationship measure 1s is closely related to chi-squared ( x z ), a significance measure commonly used by statisticians. In fact z z (T i - T:i ) z [ 17] ,'~' = rci = z ~l For small counts situations, i.e. when Tj « 1, UDL1 gives overly large values for r~~ . For example, In a typical retail transaction data set, which has more than 90%
small counts, values of r,~
20 on the order of109 have been seen. Data sets having such a high percentage of large relationship measures can be problematic; because in these cases, a~,. also becomes very large. Since the same r~l a', is used by all co-occurrence pairs, large values of a'r causes to become very small for ~r pairs that do not suffer from small counts. Therefore in these cases d;J
becomes 60~ r [ 18] d;~ = tank 26 ~ 0 r This property is not desirable, because it forces the merchant vectors of two merchants too be orthogonal, even when the two merchants co-occur significantly greater than expected.
The second technique, UDL2, overcomes of the small count problem by using log-likelihood ratio estimates to calculate r;~ . It has been shown that log-likelihood ratios have much better small count behavior than x Z , while at the same time retaining the same behavior as x 2 in the non-small count regions.
1o The third technique, UDL3, is a slightly modified version of UDL2. The only difference is that the log likelihood ratio estimate is scaled by I . This scaling removes the T~ bias / T
from the log likelihood ratio estimate. The preferred embodiment uses UDL2 in most cases.
Accordingly, the present invention generally proceeds as follows:
1. For each pair of root merchant names, determine the expected number of co-occurrences l5 of the pair from total number of co-occurrence transactions involving each merchant name (with any merchant) and the total number of co-occurrence transactions.
2. For each pair of root merchant names, determine a relationship strength measure based on the difference between the expected number of co-occurrences and the actual number of co-occurrences.
3. For each pair of root merchant names, determine a desired dot product between the merchant vectors from the relationship strength measure.
d) Merchant Vector Training The goal of vector training is to position the merchant vectors in a high-dimensional vector space such that the dot products between them closely approximates their desired dot products. (In a preferred embodiment, the vector space has 280 dimensions, though more or less could be used).
Stated more formally:
Given a set of merchant vectors V = {V~ , Yz , ~ ~ ~ , VN , and the set of desired dot products for each pair of vectors D={d,z,dl3,~w,d,N,dz,,dz3,~~~~d2N~d3,l~~~~dN(N-1) ~Positioneach merchant vector such that a cost function is minimized, e.g:
[ 19] E ~ ~ \d tj 2 r=t,r~; ;=t In a typical master file 408 of typical transaction data, the set of merchants vectors contains tens thousand or more vectors. This means that if it desired to find the optimal solution, then there must be solved a system of ten thousand or more high-dimensional linear equations. This to calculation is normally prohibitive given the types of time frames in which the information is desired. Therefore, alternative techniques for minimizing the cost function are preferred.
One such approach is based on gradient descent. In this technique, the desired dot product is compared to the actual dot product for each pair of merchant vectors. If the dot product between a pair of vectors is less than desired, the two vectors are moved closer together. If the dot product t5 between a pair of vectors is greater than desired, the two vectors are moved farther apart. Written in terms of vector equations, this update rule is:
[20] V (n+1)=V; (n)+a(d;~ -V; ~Vj)Vj [21 ] V; (n + 1) = V~ (n + 1) Vr (n + 1)II
[22] Vl(n+1)=Vj(n)+a(d;~ -V; ~V~~
V~(n+1) zo [23] V~ (n + 1) _ IIyJ (n + 1) This technique converges as long as the learning rate ( a ) is sufficiently small (and determined by analysis of the particular transaction data being used;
typically in the range 0.1-0.5), however the convergence may be very slow.
An alternative methodology uses averages of merchant vectors. In this embodiment, the desired position of a current merchant vector is determined with respect to each other merchant vector given the current position of the other merchant vector, and the desired dot product between the current and other merchant vector. An error weighted average of these desired positions is then calculated, and taken as the final position of the current merchant vector.
Written in terms of vector equations, the update rule is:
[24] V; (n+1)=(1-y)Y +y~U;~~l-V ~U;~) j=1 where V (n+1 ) is the updated position of the current merchant vector V, , and U;~ is the desired position of current merchant vector V with respect to each other merchant vector V~ .
to U;~ may be calculated using formula:
1-d;~ ~ 1-d [25] U~ = z V + d,~ - z s,~ V~
I-E~ I-~ti where d ~ is the desired dot product between V,. and Vj , and s~ is the current dot product between V,. and V~ .
Since U~ is a linear combination of merchant vectors V; and V~ , it will always be in the l5 plane of these vectors V and V~ .
The result of any of these various approaches is a final set of merchant vectors for all merchant names.
Appendix II below, provides a geometrically derived algorithm for the error weighted update process. Appendix III provides an algebraically derived algorithm of this process, which 2o results in an efficient code implementation, and which produces the same results as the algorithm of Appendix II.
Those of skill in the art will appreciate that the UDL algorithm, including its variants above, and the implementations in the appendices, may be used in contexts outside of determining merchant co-occurrences. This aspect of the present invention may be for vector representation and co-occurrence analysis in any application domain, for example, where there is need for representing high frequency data items without exclusion. Thus, the ULD algorithm may be used in information retrieval, document routing, and other fields of information analysis.
3. Clustering Module Following generation and training of the merchant vectors, the clustering module 520 is used to cluster the resulting merchant vectors and identify the merchant segments. Various different clustering algorithms may be used, including k-means clustering (MacQueen).
The output of the 1o clustering is a set of merchant segment vectors, each being the centroid of a merchant segment, and a list of merchant vectors (thus merchants) included in the merchant segment.
There are two different clustering approaches that may be usefully employed to generate the merchant segments. First, clustering may be done on the merchant vectors themselves. This approach looks for merchants having merchant vectors which are substantially aligned in the vector ~5 space, and clusters these merchants into segments and computes a cluster vector for each segment.
Thus, merchants for whom transactions frequently co-occur and have high dot products between their merchant vectors will tend to form merchant segments. Note that it is not necessary for all merchants in a cluster to all co-occur in many consumers' transactions.
Instead, co-occurrence is associative: if merchants A and B co-occur frequently, and merchants B and C
co-occur frequently, zo A and C are likely to be in the same merchant segment.
A second clustering approach is to use the consumer vectors. For each account identifier, a consumer vector is generated as the summation of the vectors of the merchants at which the consumer has purchased in a defined time interval, such as the previous three months. A simple embodiment of this is:
N
Z5 [26] c = ~ v;
where C is the consumer vector for an account, N is the number of unique root merchant names in the customer account's transaction data within a selected time period, and V;
is the merchant vector for the i'~' unique root merchant name. The consumer vector is then normalized to unit length.
A more interesting consumer vector takes into account various weighting factors to weight the significance of each merchant's vector:
N
~2o c =~W;v where W; is a weight applied to the merchant vector V;. For example, a merchant vector may be weighted by the total (or average) purchase amount by the consumer at the merchant in the time period, by the time since the last purchase, by the total number of purchases in the time period, or by 0 other factors.
However computed, the consumer vectors can then be clustered, so that similar consumers, based on their purchasing behavior, form a merchant segment. This defines a merchant segment vector. The merchant vectors which are closest to a particular merchant segment vector are deemed to be included in the merchant segment.
is With the merchant segments and their segment vectors, the predictive models for each segment may be developed. Before discussing the creation of the predictive models, a description of the training data used in this process is described.
F. DATA POSTPROCESSING MODULE
Following identification of merchant segments, a predictive model of consumer spending in zo each segment is generated from past transactions of consumers in the merchant segment. Using the past transactions of consumer in the merchant segment provides a robust base on which to predict future spending, and since the merchant segments were identified on the basis of the actual spending patterns of the consumers, the arbitrariness of conventional demographic based predictions are minimized. Additional non-segment specific transactions of the consumer may also be used to zs provide a base of transaction behavior.
To create the segment models, the consumer transaction data is organized into groups of observations. Each observation is associated with a selected end-date. The end-date divides the observation into a prediction window and an input window. The input window includes a set of transactions in a defined past time interval prior to the selected end-date (e.g. 6 months prior). The prediction window includes a set of transactions in a defined time interval after the selected end-date (e.g. the next 3 months). The prediction window transactions are the source of the dependent s variables for the prediction, and the input window transactions are the source of the independent variables for the prediction.
More particularly, the input for the observation generation module 530 are the master files 408. The output is a set of observations for each account. Each account receives three types of observations. Fig. 8 illustrates the observation types.
1o The first type of observations are training observations which are used to train the predictive models that predicts future spending within particular merchant segments. If N
is the length (in months) of the window over which observation inputs are computed then there are 2N-1 training observations for each segment.
In Fig. 8, there are shown a 16 months of transaction data, from March of one year, to June ~s of the next. Training observations are selected prior to the date of interest, November 1. The input window includes the 4 months of past data to predict the next 2 months in the prediction window.
The first input window 802a thus uses a selected date of July 1, includes March-June to encompass the past transactions; transactions in July-August form the prediction window 803a. The next input window 802b, uses August 1 as the selected date, with transactions in April-July as the past 1o transactions, August-September as prediction window 803b. The last input window for this set is 802d, which uses November 1 as its selected date, with an prediction window 803d of observations in November-December.
The second type of observations are blind observations. Blind observations are observations where the prediction window does not overlap any of the time frames for the prediction windows in 2s the training observations. Blind observations are used to evaluate segment model performance. In Fig. 8, the blind observations 804 include those from September to February, as illustrated.
The third observation type is action observations, which are used in a production phase.
Action observations have only inputs (past transactions given a selected date) and no target transactions after the selected date. These are preferably constructed with an input window that spans the final months of available data. These transactions are the ones on which the actual predictions are to be made. Thus, they should be the transactions in an input window that extends from a recent selected date (e.g most recent end of month), back the length of the input window used during training. In Fig. 8, the action observations 806 span November 1 to end of February, with the period of actual prediction being from March to end of May.
Fig. 8 also illustrates that at some point during the prediction window, the financial institution sends out promotions to selected consumers based on their predicted spending in the various merchant segments.
to Refernng to Fig. 4b again, the DPPM takes the master files 408, and a given selected end-date, and constructs for each consumer, and then for each segment, a set of training observations and blind observations from the consumer's transactions, including transactions in the segment, and any other transactions. Thus, if there are 300 segments, for each consumer there will be 300 sets of observations. If the DPPM is being used during production for prediction purposes, then the set of ~5 observations is a set of action observations.
For training purposes, the DPPM computes transactions statistics from the consumer's transactions. The transaction statistics serve as independent variables in the input window, and as dependent variables from transactions in the prediction window. In a preferred embodiment, these variables are as follows:
2o Prediction window: The dependent variables are generally any measure of amount or rate of spending by the consumer in the segment in the prediction window. A simple measure is the total dollar amount that was spent in the segment by the consumer in the transactions in the prediction window. Another measure may be average amount spent at merchants (e.g. total amount divided by number of transactions).
2s Input window: The independent variables are various measures of spending in the input window leading up to the end date (though some may be outside of it).
Generally, the transaction statistics for a consumer can be extracted from various grouping of merchants.
These groups may be defined as: 1) merchants in all segments; 2) merchants in the merchant segment being modeled;
3) merchants whose merchant vector is closest the segment vector for the segment being modeled (these merchants may or may not be in the segment); and 4) merchants whose merchant vector is closest to the consumer vector of the consumer.
One preferred set of input variables includes:
( 1 ) Recency. The amount of time in months between the current end date and the most recent transaction of the consumer in any segment. Recency may computed over all available time and is not restricted to the input window.
(2) Frequency. The number of transactions by a consumer in the input window preceding the end-date for all segments.
o (3) Monetary value of purchases. A measure of the amount of dollars spent by a customer in the input window preceding the end-date for all segments. The total or average, or other measures may be used.
(4) Recency_segment. The amount of time in months between the current end date and the most recent transaction of the consumer in the segment. Recency may be computed over all available time and is not restricted to the input window.
(5) Frequency segment. The number of transactions in the segment by a customer in the input window preceding the current end date.
(6) Monetary_segment. The amount of dollars spent in the segment by a customer in the input window preceding the can ent end date.
The present invention overcomes the limitations of conventional approaches to consumer analysis by providing a system and method of analyzing and predicting consumer financial behavior that uses historical, and time-sensitive, spending patterns of individual consumers to create both meaningful groupings (segments) of merchants which accurately reflect underlying consumer interests, and a predictive model of consumer spending patterns for each of the merchant segment.
Current spending data of an individual consumer or groups of consumers can then be applied to the predictive models to predict future spending of the consumers in each of the merchant clusters.
In one aspect, the present invention includes the creation of data-driven grouping of to merchants, based essentially on the actual spending patterns of a group of consumers. Spending data of each consumer is obtained, which describes the spending patterns of the consumers in a time-related fashion. For example, credit card data demonstrates not merely the merchants and amounts spent, but also the sequence in which purchases were made. One of the features of the invention is its ability to use the co-occurrence of purchases at different merchants to group t5 merchants into meaningful merchant segments. That is, merchants which are frequently shopped at within some number of transactions or time period of each other reflect a meaningful cluster. This data-driven clustering of merchants more accurately describes the interests or preferences of consumers.
In a preferred embodiment, the analysis of consumer spending uses spending data, such as Zo credit card statements, and processes that data to identify co-occurrences of purchases within defined co-occurrence windows, which may be based on either a number of transactions, a time interval, or other sequence related criteria. Each merchant is associated with vector representation;
the initial vectors for all of the merchants are randomized to present a quasi-orthogonal set of vectors in a merchant vector space. Each consumer's transaction data reflecting their purchases z5 (e.g. credit card statements, bank statements, and the like) is chronologically organized to reflect the general order in which purchases were made at the merchants. Analysis of each consumer's transaction data in various co-occurrence windows identifies which merchants co-occur. For each pair of merchants, their respective merchant vectors are updated in the vector space as a function of their frequency of their co-occurrence. After processing of the spending data, the merchant vectors of merchants which are frequented together are generally aligned in the same direction in the merchant vector space. Clustering techniques are then applied to find clusters of merchants based on their merchant vectors. These clusters form the merchant segments, with each merchant segment having a list of merchants in it. Each merchant segment yields useful information about the type of merchants, their average purchase and transaction rates, and other statistical information. (Merchant "segments" and merchant "clusters" are used interchangeably herein.) Preferably, each consumer is also given a profile that includes various demographic data, and summary data on spending habits. In addition, each consumer is preferably given a consumer o vector. From the spending data, the merchants that the consumer has most frequently or recently purchased is determined. The consumer vector is then the summation of these merchant vectors. As new purchases are made, the consumer vector is updated, preferably decaying the influence of older purchases. In essence, like the expression "you are what you eat," the present invention reveals "you are whom you shop at," since the vectors of the merchants are used to construct the vectors of I5 the consumers.
An advantage of this approach is that both consumers and merchants are represented in a common vector space. This means that given a consumer vector, the merchant vectors which are "similar" to this consumer vector can be readily determined (that is they point in generally the same direction in the merchant vector space), for example using dot product analysis. Thus, merchants 2o who are "similar" to the consumer can be easily determined, these being merchants who would likely be of interest to the consumer, even if the consumer has never purchased from these merchants before.
Given the merchant segments, the present invention then creates a predictive model of future spending in each merchant segment, based on transaction statistics of historical spending in Z5 the merchant segment by those consumers who have purchased from merchants in the segments, in other segments, and data on overall purchases. In one embodiment, each predictive model predicts spending in a merchant cluster in a predicted time interval, such as 3 months, based on historical spending in the cluster in a prior time interval, such as the previous 6 months. During model training, the historical transactions in the merchant cluster for consumers who spent in the cluster, is summarized in each consumer's profile in summary statistics, and input into the predictive model along with actual spending in a predicted time interval. Validation of the predicted spending with actual spending is used to confirm model performance. The predictive models may be a neural networks, or other multivariate statistical model.
This modeling approach is advantageous for two reasons. First, the predictive models are specific to merchant clusters that actually appear in the underlying spending data, instead of for arbitrary classifications of merchants such as SIC classes. Second, because the consumer spending data of those consumers who actually purchased at the merchants in the merchant clusters is used, to they most accurately reflect how these consumer have spent and will spend at these merchants.
To predict financial behavior, the consumer profile of a consumer, using preferably the same type of summary statistics for a recent, past time period, is input into the predictive models for the different merchant clusters. The result is a prediction of the amount of money that the consumer is likely to spend in each merchant cluster in a future time interval, for which no actual spending data may yet be available.
For each consumer, a membership function may be defined which describes how strongly the consumer is associated with each merchant segment. (Preferably, the membership function outputs a membership value for each merchant segment.) The membership function may be the predicted future spending in each merchant segment, or it may be a function of the consumer vector 2o for the consumer and a merchant segment vector (e.g. centroid of each merchant segment). The membership function can be weighted by the amount spent by the consumer in each merchant segment, or other factors. Given the membership function, the merchant clusters for which the consumer has the highest membership values are of particular interest: they are the clusters in which the consumer will spend the most money in the future, or whose spending habits are most similar to the merchants in the cluster. This allows very specific and accurate targeting of promotions, advertising and the like to these consumers. A financial institution using the predicted spending information can direct promotional offers to consumers who are predicted to spend heavily in a merchant segment, with the promotional offers associated with merchants in the merchant segment.
Also, given the membership values, changes in the membership values can be readily determined over time, to identify transitions by the consumer between merchants segments of interest. For example, each month (e.g. after a new credit card billing period or bank statement), the membership function is determined for a consumer, resulting in a new membership value for each merchant cluster. The new membership values can be compared with the previous month's membership values to indicate the largest positive and negative increases, revealing the consumer's changing purchasing habits. Positive changes reflect purchasing interests in new merchant clusters;
negative changes reflect the consumer's lack of interest in a merchant cluster in the past month.
Segment transitions such as these further enable a financial institution to target consumers with o promotions for merchants in the segments in which the consumers show significant increases in membership values.
In another aspect, the present invention provides an improved methodology for learning the relationships between merchants in transaction data, and defining vectors which represent the merchants. More particularly, this aspect of the invention accurately identifies and captures the ~5 patterns of spending behavior which result in the co-occurrence of transactions at different merchants. The methodology is generally as follows:
First, the number of times that each pair of merchants co-occur with one another in the transaction data is determined. The underlying intuition here is that merchants whom the consumers' behaviors indicates as being related will occur together often, whereas unrelated 1o merchants do not occur together often. For example, a new mother will likely shop at children's clothes stores, toy stores, and other similar merchants, whereas a single young male will likely not shop at these types of merchants. The identification of merchants is by counting occurrences of merchants' names in the transaction data. The merchants' names may be normalized to reduce variations and equate different versions of a merchant's name to a single common name.
25 Next, a relationship strength between each pair of merchants is determined based on how much the observed co-occurrence of the merchants deviated from an expected co-occurrence of the merchant pair. The expected co-occurrence is based on statistical measures of how frequently the individual merchants appear in the transaction data or in co-occurrence events. Various relationship strength measures may be used, based on for example, standard deviations of predicted co-occurrence, or log-likelihood ratios.
The relationship strength measure has the features that two merchants that co-occur significantly more often than expected are positively related to one another;
two merchants that co-occur significantly less often than expected are negatively related to one another, and two merchants that co-occur about the number of times expected are not related.
The relationship strength between each pair of merchants is then mapped into the vector space. This is done by determining the desired dot product between each pair of merchant vectors as a function of the relationship strength between the pair of merchants. This step has the feature that to merchant vectors for positively related merchants have a positive dot product, the merchant vectors for negatively related merchants have a negative dot product, and the merchant vectors for unrelated merchants have a zero dot product.
Finally, given the determined dot products for merchant vector pairs, the locations of the merchant vectors are updated so that actual dot products between them at least closely approximate t5 the desired dot products previously determined.
The present invention also includes a method for determining whether any two strings represent the same thing, such as variant spellings of a merchant name. This aspect of the invention is beneficially used to identify and normalize merchant names given what is typically a variety of different spellings or forms of a same merchant name in large quantities of transaction data. In this zo aspect of the invention, the frequency of individual trigrams (more generally, n-grams) for a set of strings, such as merchant names in transaction data, is determined. Each trigram is given a weight base on its frequency. Preferably, frequently occurring trigrams are assigned low weights, while rare trigrams are assigned high weights. A high dimensional vector space is defined, with one dimension for each trigram. Orthogonal unit vectors are defined for each trigram. Each string (e.g. merchant 25 name) to be compared is given a vector in the trigram vector space. This vector is defined as the sum of the unit vectors for each trigram in the string, weighted by the trigram weight. Any two strings, such as merchant names, can now be compared by taking their dot product. If the dot product is above a threshold (determined from analysis of the data set), then the strings are deemed to be equivalents of each other. Normalizing the length of the string vectors may be used to make the comparison insensitive to the length of the original strings. With either partial (normalization of one string but not the other) or non-normalization, string length influences the comparison, but may be used to match parts of one string against the entirety of another string.
This methodology provides for an extremely fast and accurate mechanism for string matching. The matching process may be used to determine, for example, whether two merchant names are the same, two company names, two people names, or the like. This is useful in applications needing to reconcile divergent sources or types of data containing strings which reference to a common group of entities (e.g.
transaction records from many transaction sources containing names of merchants).
1o The present invention may be embodied in various forms. As a computer program product, the present invention includes a data preprocessing module that takes consumer spending data and processes it into organized files of account related and time organized purchases. Processing of merchant names in the spending data is provided to normalize variant names of individual merchants. A data post processing module generates consumer profiles of summary statistics in ~s selected time intervals, for use in training the predictive model. A
predictive model generation system creates merchant vectors, and clusters them into merchant clusters, and trains the predictive model of each merchant segment using the consumer profiles and transaction data. Merchant vectors, and consumer profiles are stored in databases. A profiling engine applies consumer profiles and consumer transaction data to the predictive models to provide predicted spending in each 2o merchant segment, and to compute membership functions of the consumers for the merchant segment. A reporting engine outputs reports in various formats regarding the predicted spending and membership information. A segment transition detection engine computes changes in each consumer's membership values to identify significant transitions of the consumer between merchant clusters. The present invention may also be embodied as a system, with the above program product 25 element cooperating with computer hardware components, and as a computer implemented method.
DESCRIPTION OF THE DRAWINGS
Figs. la-lc are illustrations of merchant and consumer vector representations.
Fig. 2 is a sample list of merchant segments.
Fig. 3 is a flowchart of the overall process of the present invention.
Fig. 4a is an illustration of the system architecture of one embodiment of the present invention during operation.
Fig. 4b is an illustration of the system architecture of the present invention during s development and training of merchant vectors, and merchant segment predictive models.
Fig. 5 is an illustration of the functional components of the predictive model generation system.
Figs. 6a and 6b are illustrations of forward and backward co-occurrence windows.
Fig. 7a is an illustration of the master file data prior to stemming and equivalencing, and to Fig. 7b is an illustration of a forward co-occurrence window in this portion of the master file after stemming and equivalencing.
Fig. 8 is an illustration of the various types of observations during model training.
Fig. 9 is an illustration of the application of multiple consumer account data to the multiple segment predictive models.
l5 DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
A. Overview of Consumer and Merchant Vector Representation and the Co-occurrence of Merchant Purchases B. System Overview C. Functional Overview D. Data Preprocessing Module E. Predictive Model Generation System 1. Merchant Vector Generation 2. Training of Merchant Vectors: The UDL Algorithm 1o a) Co-occurrence Counting i) Forward co-occurrence counting ii) Backward co-occurrence counting iii) Bi-directional co-occurrence counting b) Estimating Expected Co-occurrence Counts ~5 c) Desired Dot-Products between Merchant Vectors d) Merchant Vector Training 3. Clustering Module F. Data Postprocessing Module G. Predictive Model Generation zo H. Profiling Engine 1. Membership Function: Predicted Spending In Each Segment 2. Segment Membership Based on Consumer Vectors 3. Updating of Consumer Profiles I. Reporting Engine 25 1. Basic Reporting Functionality 2. General Segment Report a) General Segment Information b) Segment Members Information c) Lift Chart 3o d) Population Statistics Tables i) Segment Statistics ii) Row Descriptions Targeting Engine K. Segment Transition Detection A. OVERVIEW OF CONSUMER AND MERCHANT VECTOR REPRESENTATION AND THE CO-OCCURRENCE OF MERCHANT PURCHASES
One feature of the present invention that enables prediction of consumer spending levels at specific merchants is the ability to represent both consumer and merchants in a same modeling representation. A conventional example is attempting to classify both consumers and merchants with demographic labels (e.g. "baby boomers", or "empty-nesters"). This conventional approach is simply arbitrary, and does not provide any mechanisms for directly quantifying how similar a consumer is to various merchants. The present invention, however, does provide such a quantifiable analysis, based on high-dimensional vector representations of both consumers and merchants, and the co-occurrence of merchants in the spending data of individual consumers.
Referring now to Figs. la and lb, there is shown a simplified model of the vector space representation of merchants and consumers. The vector space 100 is shown here with only three axes, but in practice is a high dimensional hypersphere, typically having 100-300 components. In to this vector space 100, each merchant is assigned a merchant vector.
Preferably, the initial assignment of each merchant's vector contains essentially randomly valued vector components, to provide for a quasi-orthogonal distribution of merchant vectors. This means that initially, the merchant vectors are essentially perpendicular to each other, so that there is no predetermined or assumed association or similarity between merchants.
1s In Fig. la, there is shown merchant vectors for five merchants, A, B, C, D, and E after initialization, and prior to being updated. Merchant A is an upscale clothing store, merchant B is a discount furniture store, merchant C is an upscale furniture store, merchant D
is a discount clothing catalog outlet, and merchant E is a online store for fashion jewelry. As shown in Fig. lc, merchants A and D have the same SIC code because they are both clothing stores, and merchants B and C have 2o the same SIC code because they are both furniture stores. In other words, the SIC codes do not distinguish between the types of consumers who frequent these stores.
In Fig. lb, there is shown the same vector space 100 after consumer spending data has been processed according to the present invention to train the merchant vectors.
The training of merchant vectors is based on co-occurrence of merchants in each consumer's transaction data. Fig. lc 2s illustrates consumer transaction data 104 for two consumers, C 1 and C2.
The transaction data for C1 includes transactions 110 at merchants A, C, and E. In this example, the transaction at merchants A and C co-occur within a co-occurrence window 108; likewise the transactions at merchants C and E co-occur within a separate co-occurrence window 108. The transaction data for C2 includes transactions 110 at merchants B and D, which also form a co-occurrence event.
Merchants for whom transactions co-occur in a consumer's spending data have their vectors updated to point more in the same direction in the vector space, that is making their respective vector component values more similar.
Thus, in Fig. lb, following processing of the consumer transaction data, the merchant vectors for merchants A, C, and E have been updated, based on actual spending data, such as C1's transactions, to point generally in the same direction, as have the merchant vectors for merchants B
and D, based on C2's transactions. Clustering techniques are used then to identify clusters or to segments of merchants based on their merchant vectors 402. In the example of Fig. lb, a merchant segment is defined to include merchants A, C, and E, such as "upscale-technology_savvy." Note that as defined above, the SIC codes of these merchants are entirely unrelated, and so SIC code analysis would not reveal this group of merchants. Further, a different segment with merchants B
and D is identified, even though the merchants share the same SIC codes with the merchants in the 15 first segment, as shown in the transaction data 104.
Each merchant segment is associated with a merchant segment vector 105, preferably the centroid of the merchant cluster. Based on the types of merchants in the merchant segment, and the consumers who have purchased in the segment, a segment name can be defined, and may express the industry, sub-industry, geography, and/or consumer demographics.
2o The merchant segments provide very useful information about the consumers.
In Fig. lb there is shown the consumer vectors 106 for consumers C1 and C2. Each consumer's vector is a summary vector of the merchants at which the consumer shops. This summary is preferably the vector sum of merchant vectors at which the consumer has shopped at in defined recent time interval. The vector sum can be weighted by the recency of the purchases, their dollar amount, or 25 other factors.
Being in the same vector space as the merchant vectors, the consumer vectors 106 reveal the consumer's interests in terms of their actual spending behavior. This information is by far a better base upon which to predict consumer spending at merchants than superficial demographic labels or categories. Thus, consumer C1's vector is very strongly aligned with the merchant vectors of merchants A, C, and E, indicating C1 is likely to be interested in the products and services of these merchants. C1's vector can be aligned with these merchants, even if C1 never purchased at any of them before. Thus, merchants A, C, and E have a clear means for identifying consumers who may be interested in purchasing from them.
Which consumers are associated with which merchant segments can also determined by a membership function. This function can be based entirely on the merchant segment vectors and the consumer vectors (e.g. dot product), or on other quantifiable data, such as amount spent by a consumer in each merchant segment, or a predicted amount to be spent.
to Given the consumers who are members of a segment, useful statistics can be generated for the segment, such as average amount spent, spending rate, ratios of how much these consumers spend in the segment compared with the population average, and so forth. This information enables merchants to finely target and promote their products to the appropriate consumers.
Fig. 2 illustrates portions of a sample index of merchant segments, as may be produced by is the present invention. Segments are named by assigning each segment a unique segment number 200 between 1 and M the total number of segments. In addition, each segment has a description field 210 which describes the merchant segment. A preferred description field is of the form:
Major Categories: Minor Categories: Demographics: Geography Major categories 202 describe how the customers in a merchant segment typically use their 2o accounts. Uses include retail purchases, direct marketing purchases, and where this type cannot be determined, then other major categories, such as travel uses, educational uses, services, and the like.
Minor categories 204 describe both a subtype of the major category (e.g.
subscriptions being a subtype of direct marketing) or the products or services purchased in the transactions (e.g.
housewares, sporting goods, furniture) commonly purchased in the segment.
Demographics 25 information 206 uses account data from the consumers who frequent this segment to describe the most frequent or average demographic features, such as age range or gender, of the consumers.
Geographic information 208 uses the account data to describe the most common geographic location of transactions in the segment. In each portion of the segment description 210 one or more descriptors may be used (i.e. multiple major, minor, demographic, or geographic descriptors). This naming convention is much more powerful and fine-grained than conventional SIC
classifications, and provides insights into not just the industries of different merchants (as in SIC) but more importantly, into the geographic, approximate age or gender, and lifestyle choices of consumers in each segment.
The various types of segment reports are further described in section I.
Reporting Engine, below.
B. SYSTEM OVERVIEW
Turning now to Fig. 4a there is shown an illustration of a system architecture of one o embodiment of the present invention during operation in a mode for predicting consumer spending.
System 400 includes begins with a data preprocessing module 402, a data postprocessing module 410, a profiling engine 412, and a reporting engine 426. Optional elements include a segment transition detection engine 420 and a targeting engine 422. System 400 operates on different types of data as inputs, including consumer summary file 404 and consumer transaction file 406, generates ~5 interim models and data, including the consumer profiles in profile database 414, merchant vectors 416, merchant segment predictive models 418, and produces various useful outputs including various segment reports 428-432.
Fig. 4b illustrates system 400 during operation in a training mode, and here additionally include predictive model generation system 440.
20 C. FUNCTIONAL OVERVIEW
Referring now to Fig. 3, there is shown a functional overview the processes supported by the present invention. The process flow illustrated and described here is exemplary of how the present invention may be used, but does not limit the present invention to this exact process flow, as variants may be easily devised.
25 Generally then, master files 408 are created or updated 300 from account transaction data for a large collection of consumers (account holders) of a financial institution, as may be stored in the consumer summary files 404 and the consumer transaction files 406. The master files 408 collect and organize the transactions of each consumer from different statement periods into a date ordered sequence of transaction data for each consumer. Processing of the master files 408 normalizes merchant names in the transaction data, and generates frequency statistics on the frequency of occurrence of merchant names.
In a training mode, the present invention creates or updates 302 merchant vectors associated with the merchant names. The merchant vectors are based on the co-occurrence of merchants names in defined co-occurrence windows (such as a number of transactions or period of time). Co-occurrence statistics are used to derive measures of how closely related any two merchants are based on their frequencies of co-occurrence with each other, and with other merchants. The relationship o measures in turn influence the positioning of merchant vectors in the vector space so that merchants who frequently co-occur have vectors which are similarly oriented in the vector space, and the degree of similarity of the merchant vectors is a function of their co-occurrence rate.
The merchant vectors are then clustered 304 into merchant segments. The merchant segments generally describe groups of merchants which are naturally (in the data) shopped at t5 "together" based on the transactions of the many consumers. Each merchant segment has a segment vector computed for it, which is a summary (e.g. centroid) of the merchant vectors in the merchant segment. Merchant segments provide very rich information about the merchants that are members of the segments, including statistics on rates and volumes of transactions, purchases, and the like.
With the merchant segments now defined, a predictive model of spending behavior is 2o created 306 for each merchant segment. The predictive model for each segment is derived from observations of consumer transactions in two time periods: an input time window and a subsequent prediction time window. Data from transactions in the input time window for each consumer (including both segment specific and cross-segment) is used to extract independent variables, and actual spending in the prediction window provides the dependent variable. The independent 25 variables typically describe the rate, frequency, and monetary amounts of spending in all segments and in the segment being modeled. A consumer vector derived from the consumer's transactions may also be used. Validation and analysis of the segment predictive models may done to confirm the performance of the models.
In the production phase, the system is used to predict spending, either in future time periods for which there is no actual data as of yet, or in a recent past time period for which data is available and which is used for retrospective analysis. Generally, each account (or consumer) has a profile summarizing the transactional behavior of the account holder. This information is created, or updated 308 with recent transaction data if present, to generate the appropriate variables for input into the predictive models for the segments. (Generation of the independent variables for model generation may also involve updating 308 of account profiles.) Each account further includes a consumer vector which is derived, e.g. as a summary vector, from the merchant vectors of the merchant at which the consumer has purchased in a defined time to period, say the last three months. Each merchant vector's contribution to the consumer vector can be weighted by the consumer's transactions at the merchants, such as by transaction amounts, rates, or recency. 'The consumer vectors, in conjunction with the merchant segment vectors provide an initial level of predictive power. Each consumer can now be associated with the merchant segment having a merchant segment vector closest to the consumer vector for the consumer.
Using the updated account profiles, this data is input into the set of predictive models to generate 310 for each consumer, an amount of predicted spending in each merchant segment in a desired prediction time period. For example, the predictive models may be trained on a six month input window to predict spending in a subsequent three month prediction window. The predicted period may be an actual future period or a current (e.g. recently ended) period for which actual 2o spending is available.
The predicted spending levels and consumer profiles allow for various levels and types of account and segment analysis 312. First, each account may be analyzed to determine which segment (or segments) the account is a member of, based on various membership functions. A
preferred membership function is the predicted spending value, so that each consumer is a member of the segment for which they have the highest predicted spending. Other measures of association between accounts and segments may be based on percentile rankings of each consumer's predicted spending across the various merchant segments. With any of these (or similar) methods of determining which consumers are associated with which segments, an analysis of the rates and volumes of different types of transactions by consumers in each segment can be generated. Further, targeting of accounts in one or more segments may be used to selectively identify populations of consumers with predicted high dollar amount or transaction rates. Account analysis also identifies consumers who have transitioned between segments as indicated by increased or decreased s membership values.
Using targeting criteria, promotions directed 314 to specific consumers in specific segments and the merchants in those segments can be realized. For example, given a merchant segment, the consumers with the highest levels (or rankings) of predicted spending in the segment may be identified, or the consumers having consumer vectors closest to the segment vector may be selected.
to Or, the consumers who have highest levels of increased membership in a segment may be selected.
The merchants which make up the segment are known from the segment clustering 304. One or more promotional offers specific to merchants in the segment can be created, such as discounts, incentives and the like. The merchant-specific promotional offers are then directed to the selected consumers. Since these account holders have been identified as having the greatest likelihood of ~s spending in the segment, the promotional offers beneficially coincide with their predicted spending behavior. This desirably results in an increase success rate at which the promotional offers are redeemed.
These and other uses and applications of the present invention will be apparent to those of skill in the art.
20 D. DATA PREPROCESSING MODULE ' The data preprocessing module 402 (DPM) does initial processing of consumer data received from a source of consumer accounts and transactions, such as a credit card issuer, in preparation for creating the merchant vectors, consumer vectors, and merchant segment predictive models. DPM 402 is used in both production and training modes. (In this disclosure, the terms 2s "consumer," "customer," and "account holder" are used interchangeably).
The inputs for the DPM are the consumer summary file 404 and the consumer transaction file 406. Generally, the consumer summary file 404 provides account data on each consumer who transaction data is to be processed, such as account number and other account identifying and descriptive information. The consumer transaction file 406 provides details of each consumer's transactions. The DPM 402 processes these files to organize both sets of data by account identifiers of the consumer accounts, and merges the data files so that each consumer's summary data is available with their transactions.
Customer summary file 404: The customer summary file 404 contains one record for each customer that is profiled by the system, and includes account information of the customer's account, and optionally includes demographic information about the customer. The consumer summary file 404 is typically one that a financial institution, such as a bank, credit card issuer, department store, to and the like maintains on each consumer. The customer or the financial institution may supply the additional demographic fields which are deemed to be of informational or of predictive value.
Examples of demographic fields include age, gender and income; other demographic fields may be provided, as desired by the financial institution.
Table 1 describes one set of fields for the customer summary file 404 for a preferred ~5 embodiment. Most fields are self explanatory. The only required field is an account identifier that uniquely identifies each consumer account and transactions. This account identifier may be the same as the consumer's account number; however, it is preferable to have a different identifier used, since a consumer may have multiple account relationships with the financial institution (e.g.
multiple credit cards or bank accounts), and all transactions of the consumer should be dealt with 2o together. The account identifier is preferably derived from the account number, such as by a one-way hash or encrypted value, such that each account identifier is uniquely associated with an account number. The pop id field is optionally used to segment the population of customers into arbitrary distinct populations as specified by the financial institution, for example by payment history, account type, geographic region, etc.
25 Table 1: Customer Summary File Description Sample Format Account_id Char[max 24]
Pop id Char (' 1' -'N') Account_numberChar[max 16]
Credit bureau Short int as score string Internal credit Short risk int score as string Ytd purchases Int as string Ytd_cash_adv Int as string Ytd_int~urchasesInt as string Ytd_int_cash Int adv as string State_code Char[max 2]
Zip code Char[max 5]
Demographic 1 Int as string Demographic N Int as string Note the additional, optional demographic fields for containing demographic information about each consumer. In addition to demographic information, various summary statistics of the consumer's account may be included. These include any of the following:
Table 2: Example Demographic Fields for Customer Summary File Description Explanation Cardholder zip code Months on books or open date Number of people on the Equivalent to number of account plastics Credit risk score Cycles delinquent Credit line Open to buy Initial month statement Balance on the account prior balance to the first month of transaction data pull Last month statement Balance on the account at balance the end of the transaction data pulled Monthly payment amount For each month of transaction data contributed or the average over last year.
Monthly cash advance For each month of transaction amount data contributed or the average over last year.
Monthly cash advance For each month of transaction count data contributed or the average over last year.
Monthly purchase amount For each month of transaction data contributed or the average over last year.
Monthly purchase count For each month of transaction data contributed or the average over last year.
Monthly cash advance For each month of transaction interest data contributed or the average over last year.
Monthly purchase interestFor each month of transaction data contributed or the average over last year.
Monthly late charge For each month of transaction data contributed or the average over last year.
Consumer transaction file 406. The consumer transaction file 406 contains transaction level data for the consumers in the consumer summary file. The shared key is the account id. In a preferred embodiment, the transaction file has the following description.
Table 3: Consumer Transaction File Description Sample Format Account_id Quoted char(24) - [0-9]
Account_number Quoted char( 16) - [0-9]
Pop id Quoted char(1)[0-128]
-Transaction_code Integer Transaction_amount Float Transaction_time HH:MM:SS
Transaction_date ~'YYYMMDD
Transaction_type Char(5) SIC_code Char(5) - [0-9]
Merchant_descriptorChar(25) SKU Number Variable length list Merchant zip code Char[max 5]
The SKU and merchant zip code data are optional, and may be used for more fine-grained filtering of which transactions are considered as co-occurnng.
The output for the DPM is the collection of master files 408 containing a merged file of the account information and transaction information for each consumer. The master file is generated as a preprocessing step before inputting data to the profiling engine 412. The master file 408 is o essentially the customer summary file 404 with the consumer's transactions appended to the end of each consumer's account record. Hence the master file has variable length records. The master files 408 are preferably stored in a database format allowing for SQL querying.
There is one record per account identifier.
In a preferred embodiment, the master files 408 have the following information:
I5 Table 4: Master File 408 Description Sample Format Account_id Char[max 24]
Pop id Char (' 1' -'N') Account_number Char[max 16]
Credit bureau scoreShort int as string Ytd purchases Int as string Ytd cash advances Int as string Ytd_interest_on-purchasesInt as string Ytd_interest_on Int as string cash advs State_code Char[max 2]
Demographic 1 Int as string Demographic_N Int as string <transactions>
The transactions included for each consumer include the various data fields described above, and any other per-transaction optional data that the financial institution desires to track.
The master file 408 preferably includes a header that indicates last update and number of updates. The master file may be incrementally updated with new customers and new transactions for existing customers. The master file database is preferably be updated on a monthly basis to capture new transactions by the financial institution's consumers.
The DPM 402 creates the master file 408 from the consumer summary file 404 and consumer transaction file 406 by the following process:
a) Verify minimum data requirements. The DPM 402 determines the number of to data files it is handling (since there maybe many physical media sources), and the length of the files to determine the number of accounts and transactions. Preferably, a minimum of 12 months of transactions for a minimum of 2 million accounts are used to provide fully robust models of merchants and segments. However, there is no formal lower bound to the amount of data on which system 400 may operate.
15 b) Data cleaning. The DPM 402 verifies valid data fields, and discards invalid records. Invalid records are records that are missing the any of the required fields for the customer summary file of the transaction file. The DPM 402 also indicates missing values for fields that have corrupt or missing data and are optional. Duplicate transactions are eliminated using account ID, account number, transaction code, transaction amount, date, 2o and merchant description as a key.
c) Sort and merge files. The consumer summary file 404 and the consumer transaction file 406 are both sorted by account ID; the consumer transaction file 406 is further sorted by transaction date. Additional sorting of the transaction file, for example on time, type of transaction, merchant zip code, may be applied to further influence the determination of merchant co-occurrence. The sorted files are merged into the master file 408, with one record per account, as described above.
Due to the large volume of data involved in this stage, compression of the master files 408 is preferred, where on-the-fly compression and decompression is supported. This often improves system performance due to decreased I/O. In addition, as illustrated in Fig.
4a, the master file 408 may be split into multiple subfiles, such as splitting by population ID, or other variable, again to reduce the amount of data being handled at any one time.
E. PREDICTIVE MODEL GENERATION SYSTEM
1o Referring to Fig. 4b, the predictive model generation system 440 takes as its inputs the master file 408 and creates the consumer profiles and consumer vectors, the merchant vectors and merchant segments, and the segment predictive models. This data is used by the profiling engine to generate predictions of future spending by a consumer in each merchant segment using inputs from the data postprocessing module 410.
~s Fig. 5 illustrates one embodiment of the predictive model generation system 440 that includes three modules: a merchant vector generation module 510, a clustering module 520, and a predictive model generation module 530.
1. Merchant Vector Generation Merchant vector generation is application of a context vector type analysis to the account zo data of the consumers, and more particularly to the master files 408. The operations for merchant vector generation are managed by the merchant vector generation module 510.
In order to obtain the initial merchant vectors, additional processing of the master files 408 precedes the analysis of which merchants co-occur in the master files 408.
There are two, sequential, processes that are used on the merchant descriptions, stemming and equivalencing.
25 These operations normalize variations of individual merchants names to a single common merchant name to allow for consistent identification of transaction at the merchant.
This processing is managed by the vector generation module S 10.
Stemming is the process of removing extraneous characters from the merchant descriptions.
Examples of extraneous characters include punctuation and trailing numbers.
Trailing numbers are removed because they usually indicate the particular store in a large chain (e.g. Wal-Man #12345).
It is preferable to identify all the outlets of a particular chain of stores as a single merchant description. Stemming optionally converts all letters to lower case, and replaces all space characters with a dash. This causes all merchant descriptions to be an unbroken string of non-space characters. The lower case constraint has the advantage of making it easy to distinguish non-stemmed merchant descriptions from stemmed descriptions.
Equivalencing is applied after stemming, and identifies various different spellings of a to particular merchant's description as being associated with a single merchant description. For example, the "Roto-Rooter" company may occur in the transaction data with the following three stemmed merchant descriptions: "ROTO-ROOTER-SEWER-SERV", "ROTO-ROOTER-SERVICE", and "ROTO-ROOTER-SEWER-DR". An equivalence table is set up containing a root name and a list of all equivalent names. In this example, ROTO-ROOTER-SEWER-SERV becomes the root name, and the I5 latter two of these descriptions are listed as equivalents. During operation, such as generation of subsequent master files 408 (e.g. the next monthly update), an identified equivalenced name is replaced with its root name from the equivalence table.
In one embodiment, equivalencing proceeds in two steps, with an optional third step. The first equivalencing step uses a fuzzy trigram matching algorithm that attempts to find merchant zo descriptions with nearly identical spellings. This method collects statistics on all the trigrams (sets of three consecutive letters in a word) in all the merchant descriptions, and maintains a list of the trigrams in each merchant description. The method then determines a closeness score for any two merchant names that are supplied for comparison, based on the number of trigrams the merchant names have in common. If the two merchant names are scored as being sufficiently close, they are z5 equivalenced. Appendix I, below, provides a novel trigram matching algorithm useful for equivalencing merchant names (and other strings). 'This algorithm uses a vector representation of each trigram, based on trigram frequency in data set, to construct trigram vectors, and judges closeness based on vector dot products.
Preferably, equivalencing is applied only to merchants that are assigned the same SIC code.
'This constraint is useful since two merchants may have a similar name, but if they are in different SIC classifications there is a good chance that they are, in fact, different businesses.
The second equivalencing step consists of fixing a group of special cases.
These special s cases are identified as experience is gained with the particular set of transaction data being processed. There are two broad classes that cover most of these special cases:
a place name is used instead of a number to identify specific outlets in a chain of stores, and some department stores append the name of the specific department to the name of the chain. An example of the first case is U-Haul, where stemmed descriptions look like U-HAUL-SAN-DIEGO, U-HAUL-ATLANTA, and the like.
to An example of the second case is Robinsons-May department stores, with stemmed descriptions like ROBINSONMAY-LEE-WOMEN, ROBINSONMAY-LEVI-SHORT, ROBINSONMAY-TRIFARI-CO, and ROBINSONMAY-JANE-ASHLE. In both cases, any merchant description in the correct SIC codes that contain the root name (e.g. U-HAUL or ROBINSONMAY) are equivalenced to the root name.
A third, optional step includes a manual inspection and correction of the descriptions for the 15 highest frequency merchants. The number of merchants subjected to this inspection varies, depending upon the time constraints in the processing stream. This step catches the cases that are not amenable to the two previous steps. An example is Microsoft Network, with merchant descriptions like MICROSOFT-NET and MSN-BILLING. With enough examples from the transaction data, these merchant descriptors can also be added to the special cases in step two, above.
2o Preferably, at least one set of master files 408 is generated before the equivalencing is determined. This is desirable in order to compile statistics on frequencies of each merchant description within each SIC code before the equivalencing is started.
Once the equivalencing table is constructed, the original master files 408 are re-built using the equivalenced merchant descriptions. This steps replaces all equivalenced merchant descriptors zs with their associated root names, thereby ensuring that all transactions for the merchant are associated with the same merchant descriptor. Subsequent incoming transaction data can be equivalenced before it is added to the master files, using the original equivalence table.
Given the equivalence table, a merchant descriptor frequency list can be determined describing the frequency of occurrence of each merchant descriptor (including its equivalents).
Once the equivalence table is defined an initial merchant vector is assigned to each root name. The merchant vector training based on co-occurrence is then performed, processing the master files by account ID and then by date as described above.
2. Training of Merchant Vectors: The UDL Algorithm As noted above, the merchant vectors are based on the co-occurrence of merchants in each consumer's transaction data. The master files 408, which are ordered by account and within account by transaction date, are processed by account, and then in date order to identify groups of to co-occurnng merchants. The co-occurrence of merchant names (once equivalenced) is the basis of updating the values of the merchant vectors.
The training of merchant vectors is based upon the unexpected deviation of co-occurrences of merchants in transactions. More particularly, an expected rate at which any pair of merchants co-occur in the transaction data is estimated based upon the frequency with which each individual ~s merchant appears in co-occurrence with any other merchants, and a total number of co-occurrence events. The actual number of co-occurrences of a pair of merchants is determined. If a pair of merchants co-occur more frequently then expected, then the merchants are positively related, and the strength of that relationship is a function of the "unexpected" amount of co-occurrence. If the pair of merchants co-occur less frequently then expected, then the merchants are negatively related.
20 .If a pair of merchants co-occur in the data about the same as expected, then there is no generally relationship between them. Using the relationship strengths of each pair of merchants as the desired dot product between the merchant vectors, the values of the merchant vectors can be determined in the vector space. This process is the basis of the Unexpected Deviation Learning algorithm or "~L».
zs This approach overcomes the problems associated with conventional vector based models of representation, which tend to be based on overall frequencies of terms relative to the database as a whole. Specifically, in a conventional model, the high frequency merchants, that is merchants for which there are many, many purchases, would co-occur with many other merchants, and either falsely suggest that these other merchants are related to the high frequency merchants, or simply be so heavily down-weighted as to have very little influence at all. That is, a high frequency merchant names would be treated as high frequency English words like "the" and "and", and so forth, which are given very low weights in conventional vector systems specifically because of their high frequency.
However, the present invention takes account of the high frequency presence of individual merchants, and instead analyses the expected rate at which merchants, including high frequency merchants, co-occur with other merchants. High frequency merchants are expected to co-occur o more frequently. If a high frequency merchant and another merchant co-occur even more frequently than expected, then there is a positive correlation between them. The present invention thus accounts for the high frequency merchants in a manner that conventional methodologies cannot.
The overall process of modeling the merchant vectors using unexpected deviation is as follows:
1. First, count the number of times that the merchants co-occur with one another in the transaction data. The intuition is that related merchants occur together often, whereas unrelated merchants do not occur together often.
2. Next, calculate the relationship strength between merchants based on how much the observed co-occurrence deviated from the expected co-occurrence. The relationship strength has the zo following characteristics:
~ Two merchants that co-occur significantly more often than expected are positively related to one another.
~ Two merchants that co-occur significantly less often than expected are negatively related to one another.
~ Two merchants that co-occur about the number of times expected are not related.
3. Map the relationship strength onto vector space; that is, determine the desired dot product between the merchant vectors for all pairs of items given their relationship strength. The mapping results in the following characteristics:
~ The merchant vectors for positively related merchants have a positive dot product.
~ The merchant vectors for negatively related merchants have a negative dot product.
~ The merchant vectors for unrelated merchants have a zero dot product.
4. Update the merchant vectors from their initial assignments, so that the dot products between them at least closely approximate the desired dot products.
The next sections explain this process in further detail.
a) Co-occurrence Counting Co-occurrence counting is the procedure of counting the number of times that two items, here merchant descriptions, co-occur within a fixed size co-occurrence window in some set of data, here the transactions of the consumers. Counting can be done forwards, backwards, or bi-directionally. The best way to illustrate co-occurrence counting is to give an example for each type of co-occurrence count:
Example: Consider the sequence of merchant names:
where M1, M2 and M3 stands for arbitrary merchant names as they might appear in a sequence of transactions by a consumer. For the purposes of this example, intervening data, such dates of 2o transactions, amounts, transaction identifiers, and the like, are ignored.
Further assume a co-occurrence window with a size = 3. Here, the co-occurrence window is based on a simple count of items or transactions, and thus the co-occurrence window represents a group of three transactions in sequence.
i) Forward co-occurrence counting z5 The first step in the counting process is to set up the forward co-occurrence windows. Fig.
6a illustrates the co-occurrence windows 602 for forward co-occurrence counting of this sequence of merchant names. By definition, each merchant name is a target 604, indicated by an arrow, for one and only one co-occurrence window 602. Therefore, in this example there are seven forward co-occurrence windows 602, labeled 1 through 7. The other merchant names within a given co-occurrence window 602 are called the neighbors 606. In forward co-occurrence counting, the neighbors occur after the target. For window size = 3 there can be at most three neighbors 606 s within a given co-occurrence window 602. Obviously, the larger the window size, the more merchants (and transactions) are deemed to co-occur at a time.
The next step is to build a table containing all co-occurrence events. A co-occurrence event is simply a pairing of a target 604 with a neighbor 606. For the co-occurrence window #1 in Fig. 6a, the target is M1 and the neighbors are M3, M1, and M3. Therefore, the co-occurrence events in this o window are: (M1, M3), (M1, M1), and (Ml, M3). Table 5 contains the complete listing of co-occurrence events for every co-occurrence window in this example.
Table 5: Forward co-occurrence event table Co-occurrence Target Neighbor Window 3 Ml M2 The last step is to tabulate the number of times that each unique co-occurrence event Is occurred. A unique co-occurrence event is the combination (in any order) of two merchant names.
Table 6 shows this tabulation in matrix form. The rows indicate the targets and the columns indicate the neighbors. For future reference, this matrix will be called the forward co-occurrence matrix.
Table 6: Forward Co-occurrence matrix Neighbor Target M2 ii) Backward co-occurrence counting s Backward co-occurrence counting is done in the same manner as forward co-occurrence counting except that the neighbors precede the target in the co-occurrence windows. Fig. 6b illustrates the co-occurrence windows for the same sequence of merchant names for backward co-occurrence counting.
Once the co-occurrence windows are specified, the co-occurrence events can be identified to and counted.
Table 7: Backward co-occurrence event table Co-occurrenceTarget Neighbor Window 5 M1 Ml The number of times that each unique co-occurrence event occurred is then recorded in the backward co-occurrence matrix.
Table 8: Backward Co-occurrence matrix Neighbor Target M2 Note that the forward co-occurrence matrix and the backward co-occurrence matrix are the transpose of one another. This relationship is intuitive, because backward co-occurrence counting is the same as forward co-occurrence counting with the transaction stream reversed. Thus, there is no need to do both counts; either count can be used, and then the transpose the resulting co-occurrence matrix taken to obtain get the other.
o iii) Bi-directional co-occurrence counting The bi-directional co-occurrence matrix is just the sum of the forward co-occurrence matrix and the backward co-occurrence matrix. The resulting matrix will always be symmetric. In other words, the co-occurrence between merchant names A and B is the same as the co-occurrence between merchant names B and A. This property is desirable because this same symmetry is ~s inherent in vector space; that is for merchant vectors y',, and y'B for merchants A and B, VA ' VB = YH ' YA . For this reason, the preferred embodiment uses the bi-directional co-occurrence matrix.
- Table 9: Bi-directional Co-occurrence matrix Neighbor Ml M2 M3 Target M2 1 0 3 4 Figs. 7a and 7b illustrate the above concepts in the context of consumer transaction data in the master files 408. In Fig. 7a there is shown a portion of the master file 408 containing transactions of a particular customer. This data is prior to the stemming and equivalencing steps described above, and so includes the original names of the merchants with spaces, store numbers and locations and other extraneous data.
Fig. 7b illustrates the same data after stemming and equivalencing. Notice that the two transactions at STAPLES which previously identified a store number are now equivalenced. The o two car rental transactions at ALAMO which transactions previously included the location are equivalenced to ALAMO, as are two hotel stays at HILTON which also previously included the hotel location. Further note that the HILTON transactions specified the location prior to the hotel name. Finally, the two transactions at NORDSTROMS which previously identified a department have been equivalenced to the store name itself.
Further, a single forward co-occurrence window 700 is shown with the target 702 being the first transaction at the HILTON, and the next three transactions being neighbors 704.
Accordingly, following the updating of the master files 408 with the stemmed and equivalenced names, the merchant vector generation module 510 performs the following steps for each consumer account:
1. Read the transaction data in date order.
2. Forward count the co-occurrences of merchant names in the transaction data, using a predetermined co-occurrence window.
3. Generate the forward co-occurrence, backward co-occurrence and bi-directional co-occurrence matrixes.
One preferred embodiment uses a co-occurrence window size of three transactions. This captures the transactions as the co-occurring events (and not the presence of merchant names within three words of each other) based only on sequence. In an alternate embodiment the co-occurrence window is time-based using a date range in order to identify co-occurring events. For example, with a co-occurrence window of 1 week, given a target transaction, a co-occurring neighbor transaction occurs within one week of the target transaction. Yet another date approach is to define the target not as a transaction, but rather as a target time period, and then the co-occurrence window as another o time period. For example, the target period can be a three month block and so all transactions within the block are the targets, and then the co-occurrence window may be all transactions in the two months following the target period. Thus, each merchant having a transaction in the target period co-occurs with each merchant (same or other) having a transaction in the co-occurrence period.
Those of skill in the art can readily devise alternate co-occurrence definitions which capture the sequence and/or time related principles of co-occurrence in accordance with the present invention.
b) Estimating Expected Co-occurrence Counts In order to determine whether two merchants are related, the UDL algorithm uses an estimate about the number of times transactions at such merchants would be expected to occur.
Suppose the only information known about transaction data is the number of times that each 2o merchant name appeared in co-occurrence events. Given no additional information, the correlation between any two merchant names, that is how strongly they are related, cannot be determined. In other words, we would be unable to determine whether the occurrence of a transaction at one merchant increases or decreases the likelihood of occurrence of a transaction at another merchant.
Now suppose that it is desired predict the number of times two arbitrary merchants, merchant; and merchants co-occur. In the absence of any additional information we would have to assume that merchant; and merchant;, are not correlated. In terms of probability theory, this means that the occurrence of a transaction at merchant; will not affect the probability of the occurrence of a transaction at merchant:
[ 1 ] Pif = Pi The joint probability of merchant; and merchants is given by s [2] P~ = P,.Pi~;
Substituting P~ for P~~; into equation [2] gives f3] P,~ = P,.P>i~ = P,.P~
However, the true probabilities P and Pl , are unknown, and so they must be estimated from the limited information given about the data. In this scenario, the maximum likelihood to estimate P for P,. and P~ is [4] p - T T
[5] Pi = T
where T is the number of co-occurrence events that merchant; appeared in, ~5 Tj is the number of co-occurrence events that merchants appeared in, and T is the total number of co-occurrence-events.
These data values are taken from the bi-directional co-occurrence matrix.
Substituting these estimates into equation [3] produces TTJ
P~=PPS= Tz o which is the estimate for P,~ .
Since there are a total of T independent co-occurrence events in the transaction data, the expected number of co-occurring transactions of merchant; and merchant; is " T,.T~
T~ = TP~ _ T
This expected value serves as a reference point for determining the correlation between any two merchants in the transaction data. If two merchants co-occur significantly greater than expected by T,;, the two merchants are positively related. Similarly, if two merchants co-occur significantly less expected, the two merchants are negatively related. Otherwise, the two merchants are practically unrelated.
Also, given the joint probability estimate P~ and the number of independent co-occurrence events T, the estimated probability distribution function for the number of times that merchant; and merchants co-occur can be determined. It is well known, from probability theory, that an experiment o having T independent trials (here transactions) and a probability of success P~ for each trial (success here being co-occurrence of merchant; and merchant) can be modeled using the binomial distribution. The total number of successes k, which in this case represents the number of co-occurrences of merchants, has the following probability distribution:
i 1 f8l P~tri=kIT~T~Ti)= T. .Pk.~1_P~/T-k k! (T - k)!
l5 This distribution has mean:
TT.
E[t~]=TP~ _ ' T
which is the same value as was previously estimated using a different approach. The distribution has variance:
T,.Ti T,.T~
~lp] Yar[t;~]=TP~(1-P~)= T 1- TZ
'The variance is used indirectly in UDL 1, below. The standard deviation of t;~ , ~,~ , is the square root of the variance Tiar(t~ ] . If merchant; and merchants are not related, the difference between the actual and expected co-occurance counts, T,~ - T,~ , should not be much larger than Q~ .
c) Desired Dot-Products between Merchant Vectors To calculate the desired dot product ( d~ ) between two merchants vectors, the UDL
algorithm compares the number of observed co-occurrences (found in the bi-directional co-occurrence matrix) to the number of expected co-occurrences. First, it calculates a raw relationship measure ( r~ ) from the co-occurrence counts, and then it calculates a desired dot product d,~ from r,~ . There are at least three different ways that the relationship strength and desired dot product can o be calculated from the co-occurrence data:
Method: UDL I
T,~ - T~ ~ T,~ - T
[11] r;; _ a'g T
~J
~0. ril [12] d;; = tank 2~
r Method: UDL2 is [13] r~i = sign(T,~ -T~ ) ~ 21n~, a'o. rti [ 12] d;; = tank 2~
r Method: UDL3 [14] r;~ =sign(T,~ -T~)~ 2~'~ =sign(T,~ -T~)~ 21n~, ~TS' / T
a'o. rri [12] d;; = tank 2~
r where T,~ is the actual number of co-occurrence events for merchant; and merchant, and 6r is the standard deviation of all the r,~ .
In UDL2 and UDL3, the log-likelihood ratio, ln~, is given by:
T,.J (T,. -T~) (T -T,.~) (T-T -T +T ) [15] 1nA=T,.~ ln-+(T -T~)ln +(T -T )ln +(T-T,. -T +T~)ln T,.~ (T -T~) (T -T~) (T-T -T +T~) s Each technique calculates the unexpected deviation, that is, the deviation of the actual co-occurrence count from the expected co-occurrence count. In terms of the previously defined variables, the unexpected deviation is:
[ 16] D,~ = T~ - T
Thus, D;~ may be understood as a raw measure of unexpected deviation.
to As each method uses the same unexpected deviation measure, the only difference between each technique is that they use different formulas to calculate rte from D;;.
(Note that other calculations of dot product may be used).
The first technique, UDL1, defines r~ to be the unexpected deviation D~
divided by the standard deviation of the predicted co-occurrence count. This formula for the relationship measure 1s is closely related to chi-squared ( x z ), a significance measure commonly used by statisticians. In fact z z (T i - T:i ) z [ 17] ,'~' = rci = z ~l For small counts situations, i.e. when Tj « 1, UDL1 gives overly large values for r~~ . For example, In a typical retail transaction data set, which has more than 90%
small counts, values of r,~
20 on the order of109 have been seen. Data sets having such a high percentage of large relationship measures can be problematic; because in these cases, a~,. also becomes very large. Since the same r~l a', is used by all co-occurrence pairs, large values of a'r causes to become very small for ~r pairs that do not suffer from small counts. Therefore in these cases d;J
becomes 60~ r [ 18] d;~ = tank 26 ~ 0 r This property is not desirable, because it forces the merchant vectors of two merchants too be orthogonal, even when the two merchants co-occur significantly greater than expected.
The second technique, UDL2, overcomes of the small count problem by using log-likelihood ratio estimates to calculate r;~ . It has been shown that log-likelihood ratios have much better small count behavior than x Z , while at the same time retaining the same behavior as x 2 in the non-small count regions.
1o The third technique, UDL3, is a slightly modified version of UDL2. The only difference is that the log likelihood ratio estimate is scaled by I . This scaling removes the T~ bias / T
from the log likelihood ratio estimate. The preferred embodiment uses UDL2 in most cases.
Accordingly, the present invention generally proceeds as follows:
1. For each pair of root merchant names, determine the expected number of co-occurrences l5 of the pair from total number of co-occurrence transactions involving each merchant name (with any merchant) and the total number of co-occurrence transactions.
2. For each pair of root merchant names, determine a relationship strength measure based on the difference between the expected number of co-occurrences and the actual number of co-occurrences.
3. For each pair of root merchant names, determine a desired dot product between the merchant vectors from the relationship strength measure.
d) Merchant Vector Training The goal of vector training is to position the merchant vectors in a high-dimensional vector space such that the dot products between them closely approximates their desired dot products. (In a preferred embodiment, the vector space has 280 dimensions, though more or less could be used).
Stated more formally:
Given a set of merchant vectors V = {V~ , Yz , ~ ~ ~ , VN , and the set of desired dot products for each pair of vectors D={d,z,dl3,~w,d,N,dz,,dz3,~~~~d2N~d3,l~~~~dN(N-1) ~Positioneach merchant vector such that a cost function is minimized, e.g:
[ 19] E ~ ~ \d tj 2 r=t,r~; ;=t In a typical master file 408 of typical transaction data, the set of merchants vectors contains tens thousand or more vectors. This means that if it desired to find the optimal solution, then there must be solved a system of ten thousand or more high-dimensional linear equations. This to calculation is normally prohibitive given the types of time frames in which the information is desired. Therefore, alternative techniques for minimizing the cost function are preferred.
One such approach is based on gradient descent. In this technique, the desired dot product is compared to the actual dot product for each pair of merchant vectors. If the dot product between a pair of vectors is less than desired, the two vectors are moved closer together. If the dot product t5 between a pair of vectors is greater than desired, the two vectors are moved farther apart. Written in terms of vector equations, this update rule is:
[20] V (n+1)=V; (n)+a(d;~ -V; ~Vj)Vj [21 ] V; (n + 1) = V~ (n + 1) Vr (n + 1)II
[22] Vl(n+1)=Vj(n)+a(d;~ -V; ~V~~
V~(n+1) zo [23] V~ (n + 1) _ IIyJ (n + 1) This technique converges as long as the learning rate ( a ) is sufficiently small (and determined by analysis of the particular transaction data being used;
typically in the range 0.1-0.5), however the convergence may be very slow.
An alternative methodology uses averages of merchant vectors. In this embodiment, the desired position of a current merchant vector is determined with respect to each other merchant vector given the current position of the other merchant vector, and the desired dot product between the current and other merchant vector. An error weighted average of these desired positions is then calculated, and taken as the final position of the current merchant vector.
Written in terms of vector equations, the update rule is:
[24] V; (n+1)=(1-y)Y +y~U;~~l-V ~U;~) j=1 where V (n+1 ) is the updated position of the current merchant vector V, , and U;~ is the desired position of current merchant vector V with respect to each other merchant vector V~ .
to U;~ may be calculated using formula:
1-d;~ ~ 1-d [25] U~ = z V + d,~ - z s,~ V~
I-E~ I-~ti where d ~ is the desired dot product between V,. and Vj , and s~ is the current dot product between V,. and V~ .
Since U~ is a linear combination of merchant vectors V; and V~ , it will always be in the l5 plane of these vectors V and V~ .
The result of any of these various approaches is a final set of merchant vectors for all merchant names.
Appendix II below, provides a geometrically derived algorithm for the error weighted update process. Appendix III provides an algebraically derived algorithm of this process, which 2o results in an efficient code implementation, and which produces the same results as the algorithm of Appendix II.
Those of skill in the art will appreciate that the UDL algorithm, including its variants above, and the implementations in the appendices, may be used in contexts outside of determining merchant co-occurrences. This aspect of the present invention may be for vector representation and co-occurrence analysis in any application domain, for example, where there is need for representing high frequency data items without exclusion. Thus, the ULD algorithm may be used in information retrieval, document routing, and other fields of information analysis.
3. Clustering Module Following generation and training of the merchant vectors, the clustering module 520 is used to cluster the resulting merchant vectors and identify the merchant segments. Various different clustering algorithms may be used, including k-means clustering (MacQueen).
The output of the 1o clustering is a set of merchant segment vectors, each being the centroid of a merchant segment, and a list of merchant vectors (thus merchants) included in the merchant segment.
There are two different clustering approaches that may be usefully employed to generate the merchant segments. First, clustering may be done on the merchant vectors themselves. This approach looks for merchants having merchant vectors which are substantially aligned in the vector ~5 space, and clusters these merchants into segments and computes a cluster vector for each segment.
Thus, merchants for whom transactions frequently co-occur and have high dot products between their merchant vectors will tend to form merchant segments. Note that it is not necessary for all merchants in a cluster to all co-occur in many consumers' transactions.
Instead, co-occurrence is associative: if merchants A and B co-occur frequently, and merchants B and C
co-occur frequently, zo A and C are likely to be in the same merchant segment.
A second clustering approach is to use the consumer vectors. For each account identifier, a consumer vector is generated as the summation of the vectors of the merchants at which the consumer has purchased in a defined time interval, such as the previous three months. A simple embodiment of this is:
N
Z5 [26] c = ~ v;
where C is the consumer vector for an account, N is the number of unique root merchant names in the customer account's transaction data within a selected time period, and V;
is the merchant vector for the i'~' unique root merchant name. The consumer vector is then normalized to unit length.
A more interesting consumer vector takes into account various weighting factors to weight the significance of each merchant's vector:
N
~2o c =~W;v where W; is a weight applied to the merchant vector V;. For example, a merchant vector may be weighted by the total (or average) purchase amount by the consumer at the merchant in the time period, by the time since the last purchase, by the total number of purchases in the time period, or by 0 other factors.
However computed, the consumer vectors can then be clustered, so that similar consumers, based on their purchasing behavior, form a merchant segment. This defines a merchant segment vector. The merchant vectors which are closest to a particular merchant segment vector are deemed to be included in the merchant segment.
is With the merchant segments and their segment vectors, the predictive models for each segment may be developed. Before discussing the creation of the predictive models, a description of the training data used in this process is described.
F. DATA POSTPROCESSING MODULE
Following identification of merchant segments, a predictive model of consumer spending in zo each segment is generated from past transactions of consumers in the merchant segment. Using the past transactions of consumer in the merchant segment provides a robust base on which to predict future spending, and since the merchant segments were identified on the basis of the actual spending patterns of the consumers, the arbitrariness of conventional demographic based predictions are minimized. Additional non-segment specific transactions of the consumer may also be used to zs provide a base of transaction behavior.
To create the segment models, the consumer transaction data is organized into groups of observations. Each observation is associated with a selected end-date. The end-date divides the observation into a prediction window and an input window. The input window includes a set of transactions in a defined past time interval prior to the selected end-date (e.g. 6 months prior). The prediction window includes a set of transactions in a defined time interval after the selected end-date (e.g. the next 3 months). The prediction window transactions are the source of the dependent s variables for the prediction, and the input window transactions are the source of the independent variables for the prediction.
More particularly, the input for the observation generation module 530 are the master files 408. The output is a set of observations for each account. Each account receives three types of observations. Fig. 8 illustrates the observation types.
1o The first type of observations are training observations which are used to train the predictive models that predicts future spending within particular merchant segments. If N
is the length (in months) of the window over which observation inputs are computed then there are 2N-1 training observations for each segment.
In Fig. 8, there are shown a 16 months of transaction data, from March of one year, to June ~s of the next. Training observations are selected prior to the date of interest, November 1. The input window includes the 4 months of past data to predict the next 2 months in the prediction window.
The first input window 802a thus uses a selected date of July 1, includes March-June to encompass the past transactions; transactions in July-August form the prediction window 803a. The next input window 802b, uses August 1 as the selected date, with transactions in April-July as the past 1o transactions, August-September as prediction window 803b. The last input window for this set is 802d, which uses November 1 as its selected date, with an prediction window 803d of observations in November-December.
The second type of observations are blind observations. Blind observations are observations where the prediction window does not overlap any of the time frames for the prediction windows in 2s the training observations. Blind observations are used to evaluate segment model performance. In Fig. 8, the blind observations 804 include those from September to February, as illustrated.
The third observation type is action observations, which are used in a production phase.
Action observations have only inputs (past transactions given a selected date) and no target transactions after the selected date. These are preferably constructed with an input window that spans the final months of available data. These transactions are the ones on which the actual predictions are to be made. Thus, they should be the transactions in an input window that extends from a recent selected date (e.g most recent end of month), back the length of the input window used during training. In Fig. 8, the action observations 806 span November 1 to end of February, with the period of actual prediction being from March to end of May.
Fig. 8 also illustrates that at some point during the prediction window, the financial institution sends out promotions to selected consumers based on their predicted spending in the various merchant segments.
to Refernng to Fig. 4b again, the DPPM takes the master files 408, and a given selected end-date, and constructs for each consumer, and then for each segment, a set of training observations and blind observations from the consumer's transactions, including transactions in the segment, and any other transactions. Thus, if there are 300 segments, for each consumer there will be 300 sets of observations. If the DPPM is being used during production for prediction purposes, then the set of ~5 observations is a set of action observations.
For training purposes, the DPPM computes transactions statistics from the consumer's transactions. The transaction statistics serve as independent variables in the input window, and as dependent variables from transactions in the prediction window. In a preferred embodiment, these variables are as follows:
2o Prediction window: The dependent variables are generally any measure of amount or rate of spending by the consumer in the segment in the prediction window. A simple measure is the total dollar amount that was spent in the segment by the consumer in the transactions in the prediction window. Another measure may be average amount spent at merchants (e.g. total amount divided by number of transactions).
2s Input window: The independent variables are various measures of spending in the input window leading up to the end date (though some may be outside of it).
Generally, the transaction statistics for a consumer can be extracted from various grouping of merchants.
These groups may be defined as: 1) merchants in all segments; 2) merchants in the merchant segment being modeled;
3) merchants whose merchant vector is closest the segment vector for the segment being modeled (these merchants may or may not be in the segment); and 4) merchants whose merchant vector is closest to the consumer vector of the consumer.
One preferred set of input variables includes:
( 1 ) Recency. The amount of time in months between the current end date and the most recent transaction of the consumer in any segment. Recency may computed over all available time and is not restricted to the input window.
(2) Frequency. The number of transactions by a consumer in the input window preceding the end-date for all segments.
o (3) Monetary value of purchases. A measure of the amount of dollars spent by a customer in the input window preceding the end-date for all segments. The total or average, or other measures may be used.
(4) Recency_segment. The amount of time in months between the current end date and the most recent transaction of the consumer in the segment. Recency may be computed over all available time and is not restricted to the input window.
(5) Frequency segment. The number of transactions in the segment by a customer in the input window preceding the current end date.
(6) Monetary_segment. The amount of dollars spent in the segment by a customer in the input window preceding the can ent end date.
(7) Recency nearest profile merchants. The amount of time in months between the current end date and the most recent transaction of the consumer in a collection of merchants that are nearest the consumer vector of the consumer. Recency may be computed over all available time and is not restricted to the input window.
(8) Frequency nearest profile merchants. The number of transactions in a collection of merchants that are nearest the consumer vector of the consumer by the consumer in the input window preceding the current end date.
(9) Monetary nearest frequency merchants. The amount of dollars spent in a collection of merchants that are nearest the consumer vector of the consumer by the consumer in the input window preceding the current end date.
( 10) Recency nearest segment merchants. The amount of time in months between the current end date and the most recent transaction of the consumer in a collection of merchants that are nearest the segment vector. Recency may be computed over all available time and is not restricted to the input window.
(11) Frequency nearest segment merchants. The number of transactions in a collection of merchants that are nearest the segment vector by the consumer in the input window 1o preceding the current end date.
(12) Monetary nearest segment merchants. The amount of dollars spent in a collection of merchants that are nearest the segment vector by the consumer in the input window preceding the current end date.
(13) Segment probability score. The probability that a consumer will spend in the segment ~s in the prediction window given all merchant transactions for the consumer in the input window preceding the end date. A prefer ed algorithm estimates combined probability using a recursive Bayesian method.
(14) Seasonality variables. It is assumed that the fundamental period of the cyclic component is known. In the case of seasonality, it can be assumed that the cycle of Zo twelve months. Two variables are added to the model related to seasonality.
The first variable codes the sine of the date and the second variable codes the cosine of the date. The calculation for these variables are:
Sin Input = sin( 2.0 * PI * (sample day of year) / 365 ) Cos Input = cos( 2.0 * PI * (sample month of year) / 365).
25 (15) (Segment Vector-Consumer Vector Closeness: As an optional input, the dot product of the segment vector for the segment and the consumer vector is used as an input variable.
In addition to these transaction statistics, variables may be defined for the frequency of purchase and monetary value for all cases of segment merchants, nearest profile merchants, nearest segment merchants for the same forward prediction window in the previous year(s).
G. PREDICTIVE MODEL GENERATION
The training observations for each segment are input into the segment predictive model generation module 530 to generate a predictive model for the segment. Fig. 9 illustrates the overall logic of the predictive model generation process. 'The master files 408 are organized by accounts, based on account identifiers, here illustratively, accounts 1 through N. There are M segments, indicated by segments 1 through M. The DPPM generates for each combination of account and to merchant segment, a set of input and blind observations. The respective observations for each merchant segment M from the many accounts 1...N are input into the respective segment predictive model M during training. Once trained, each segment predictive model is tested with the corresponding blind observations. Testing may be done by comparing for each segment a lift chart generated by the training observations with the lift chart generated from blind observations. Lift charts are further explained below.
The predictive model generation module 530 is preferably a neural network, using a conventional multi-layer organization, and backpropagation training. In a preferred embodiment, the predictive model generation model 530 is provided by HNC Software's Database Mining Workstation, available from HNC Software of San Diego, California.
zo While the preferred embodiment uses neural networks for the predictive models, other types of predictive models may be used. For example, linear regression models may be used.
H. PROFILING ENGINE
The profiling engine 412 provides analytical data in the form of an account profile about each customer whose data is processed by the system 400. The profiling engine is also responsible for updating consumer profiles over time as new transaction data for consumers is received. The account profiles are objects that can be stored in a database 414 and are used as input to the computational components of system 400 in order to predict future spending by the customer in the merchant segments. The profile database 414 is preferably ODBC compliant, thereby allowing the accounts provider (e.g. financial institution) to import the data to perform SQL queries on the customer profiles.
The account profile preferably includes a consumer vector, a membership vector describing a membership value for the consumer for each merchant segment, such as the consumer's predicted spending in each segment in a predetermined future time interval, and the recency, frequency, and monetary variables as previously described for predictive model training.
The profiling engine 412 creates the account profiles as follows.
1. Membership Function: Predicted Spending In Each Segment o The profile of each account holder includes a membership value with respect to each segment. The membership value is computed by a membership function. The purpose of the membership function is to identify the segments with which the consumer is mostly closely associated, that is, which best represent the group or groups of merchants at which the consumer has shopped, and is likely to shop at in the future.
t5 In a preferred embodiment, the membership function computes the membership value for each segment as the predicted dollar amount that the account holder will purchase in the segment given previous purchase history. The dollar amount is projected for a predicted time interval (e.g. 3 months forward) based on a predetermined past time interval (e.g. 6 months of historical transactions). These two time intervals correspond to the time intervals of the input window and 2o prediction windows used during training of the merchant segment predictive models. Thus, if there are 300 merchant segments, then a membership value set is a list of 300 predicted dollar amounts, corresponding to the respective merchant segments. Sorting the list by the membership value identifies the merchant segments at which the consumer is predicted to spend the greatest amounts of money in the future time interval, given their spending historically.
25 To obtain the predicted spending, certain data about each account is input in each of the segment predictive models. The input variables are constructed for the profile consistent with the membership function of the profile. Preferably, the input variables are the same as those used during model training, as set forth above. An additional input variable for the membership function may include the dot product between the consumer vector and the segment vector for the segment (if the models are so trained). The output of the segment models is a predicted dollar amount that the consumer will spend in each segment in the prediction time interval.
2. Segment Membership Based on Consumer Vectors A second alternate, membership aspect of the account profiles is membership based upon the consumer vector for each account profile. The consumer vector is a summary vector of the merchants that the account has shopped at, as explained above with respect to the discussion of clustering. In this aspect, the dot product of the consumer vector and segment vector for the segment 1o defines a membership value. In this embodiment, the membership value list is a set of 300 dot products, and the consumer is member of the merchant segments) having the highest dot product(s).
With either one of these membership functions, the population of accounts that are members of each segment (based on the accounts having the highest membership values for each segment) can be determined. From this population, various summary statistics about the accounts can be Is generated such as cash advances, purchases, debits, and the like. This information is further described below.
3. Updating of Consumer Profiles As additional transactions of a consumer are received periodically (e.g. each month) the merchant vectors associated with the merchants in the new transactions can be used to update the 2o consumer vector, preferably using averaging techniques, such as exponential averaging over the desired time interval for the update.
Updates to the consumer vector are preferably a function of dollars spent perhaps relative to the mean of the dollars spent at the merchant. Thus, merchant vectors are weighted in the new transaction period by both the time and the significance of transactions for the merchant by the 2s consumer (e.g. weighted by dollar amount of transactions by consumer at merchant). One formula for weighting merchants is:
gl W; = S; e~' where W; is the weight to be applied to merchant i's merchant vector;
S; is the dollar amount of transactions at merchant i in the update time interval;
t is the amount of time since the last transaction at merchant i; and s ~, is a constant that controls the overall influence of the merchant.
The profiling engine 412 also stores a flag for each consumer vector indicating the time of the last update.
I. REPORTING ENGINE
The reporting engine 426 provides various types of segment and account specific reports.
to The reports are generated by querying the profiling engine 412 and the account database for the segments and associated accounts, and tabulating various statistics on the segments and accounts.
1. Basic Reporting Functionality The reporting engine 426 provides functionality to:
a) Search by merchant names, including raw merchant names, root names, or 15 equivalence names.
b) Sort merchant lists by merchant name, frequency of transactions, transaction amounts and volumes, number of transactions at merchant, or SIC code.
c) Filter contents of report by number of transactions at merchant.
The reporting engine 426 provides the following types of reports, responsive to these input 20 criteria:
2. General Segment Report For each merchant segment a very detailed and powerful analysis of the segment can be created in a segment report. This information includes:
a) General Segment Information 25 Merchant Cohesion: A measure of how closely clustered are the merchant vectors in this segment. This is the average of the dot products of the merchant vectors with the centroid vector of this segment. Higher numbers indicate tighter clustering.
Number of Transactions: The number of purchase transactions at merchants in this segment, relative to the total number of purchase transactions in all segments, providing a measure of how significant the segment is in transaction volume.
Dollars Spent: The total dollar amount spent at merchants in this segment, relative to the total dollar amount spent in all segments, providing a measure of dollar volume for the segment.
Most Closely Related Segments: A list of other segments that are closest to the current segment. This list may be ranked by the dot products of the segment vectors, or by a measure of the conditional probability of purchase in the other segment given a purchase in the current segment.
The conditional probability measure M is as follows: P(A~B) is probability of purchase in 0 segment A segment in next time interval (e.g. 3 months) given purchases in segment B in the previous time interval (e.g. 6 months). P(A~B)/P(A) =M. If M is >1, then a purchase in segment B
is positively influencing the probability of purchase in segment A, and if M<1 then a purchase in segment B negatively influences a purchase in segment A. This is because if there is no information about the probability of purchases in segment B, then P(A~B) = P(A), so M=1.
The values for ~5 P(A~B) are determined from the co-occurrences of purchases at merchants in the two segments, and P(A) is determined and from the relative frequency of purchases in segment A
compared to all segments.
A farthest segments list may also be provided (e.g. with the lowest conditional probability measures).
2o b) Segment Members Information Detailed information is provided about each merchant which is a member of a segment.
This information comprises:
Merchant Name and SIC code;
Dollar Bandwidth: The fraction of all the money spent in this segment that is spent at this 25 merchant (percent);
Number of transactions: The number of purchase transactions at this merchant;
Average Transaction Amount: The average value of a purchase transaction at this merchant;
Merchant Score: The dot product of this merchant's vector with the centroid vector of the merchant segment. (A value of 1.0 indicates that the merchant vector is at the centroid);
SIC Description: The SIC code and its description;
This information may be sorted along any of the above dimensions.
s c) Lift Chart A lift chart useful for validating the performance of the predictive models by comparing predicted spending in a predicted time window with actual spending.
Table 10 illustrates a sample lift chart for merchant segment:
Table 10: A sample segment lift chart.
Bin CumulativeCumulative Cumulative segment segment liftPopulation lift in $
1 5.56 $109.05 50,000 2 4.82 $94.42 100,000 3 3.82 $74.92 150,000 4 3.23 $63.38 200,000 2.77 $54.22 250,000 6 2.43 $47.68 300,000 7 2.20 $43.20 350,000 8 2.04 $39.98 400,000 9 1.88 $36.79 450,000 1.75 $34.35 500,000 11 1.63 $31.94 550,000 12 1.52 $29.75 600,000 13 1.43 $28.02 650,000 14 1.35 $26.54 700,000 1.28 $25.08 750,000 16 1.21 $23.81 800,000 17 1.16 $22.65 850,000 18 1.10 $21.56 900,000 19 1.05 $20.57 950,000 1.00 $19.60 1,000,000 Base-line -- $19.60 o Lift charts are created generally as follows:
As before, there is defined input window and prediction window, for example 6 and 3 months respectively. Data from the total length of these windows relative to end of the most recent spending data available is taken. For example, if data on actual spending in the accounts is available through the end of the current month, then the prior three months of actual data will be used as the is prediction window, and the data for the six months prior to that will be data for input window. The input data is then used to "predict" spending in the three month prediction window, for which in fact there is actual spending data. The predicted spending amounts are now compared with the actual amounts to validate the predictive models.
For each merchant segment then, the consumer accounts are ranked by their predicted spending for the segment in the prediction window period. Once the accounts are ranked, they are divided into N (e.g. 20) equal sized bins so that bin 1 has the highest spending accounts, and bin N
has the lowest ranking accounts. This identifies the accounts holders that the predictive model for the segment indicated should be are expected to spend the most in this segment.
Then, for each bin, the average actual spending per account in this segment in the past time o period, and the average predicted spending is computed. The average actual spending over all bins is also computed. This average actual spending for all accounts is the baseline spending value (in dollars), as illustrated in the last line of Table 10. This number describes the average that all account holders spent in the segment in the prediction window period.
The lift for a bin is the average actual spending by accounts in the bin divided by the ~5 baseline spending value. If the predictive model for the segment is accurate, then those accounts in the highest ranked bins should have a lift greater than l, and the lift should generally be increasing, with bin 1 having the highest lift. Where this the case, as for example, in Table 10, in bin 1, this shows that those accounts in bin 1 in fact spent several times the baseline, thereby confirming the prediction that these accounts would in fact spend more than others in this segment.
2o The cumulative lift for a bin is computed by taking the average spending by accounts in that bin and all higher ranking bins, and dividing it by the baseline spending (i.e. the cumulative lift for bin 3 is the average spending per account in bins 1 through 3, divided by the baseline spending.) The cumulative lift for bin N is always 1Ø The cumulative lift is useful to identify a group of accounts which are to be targeted for promotional offers.
25 The lift information allows the financial institution to very selectively target a specific group of accounts (e.g. the accounts in bin 1) with promotional offers related to the merchants in the segment. This level of detailed, predictive analysis of very discrete groups of specific accounts relative to merchant segments is not believed to be currently available by conventional methods.
d) Population Statistics Tables The reporting engine 426 further provides two types of analyses of the financial behavior of a population of accounts that are associated with a segment based on various selection criteria. The Segment Predominant Scores Account Statistics table and the Segment Top 5%
Scores Account Statistics table present averaged account statistics for two different types of populations of customers who shop, or are likely to shop, in a given segment. The two populations are determined as follows.
Segment Predominant Scores Account Statistics Table: All open accounts with at least one purchase transaction are scored (predicted spending) for all of the segments.
Within each segment, 1o the accounts are ranked by score, and assigned a percentile ranking. The result is that for each account there is a percentile ranking value for each of the merchant segments.
The population of interest for a given segment is defined as those accounts which have their highest percentile ranking in this segment. For example, if an account has its highest percentile ranking in segment #108, that account will be included in the population for the statistics table for 15 segment #108, but not in any other segment. This approach assigns each account holder to one and only one segment.
Segment Top 5% Scores Account Statistics. For the Segment Top 5% Scores Account Statistics table, the population is defined as the accounts with percentile ranking of 95% or greater in a current segment. These are the 5% of the population that is predicted to spend the most in the 2o segment in the predicted future time interval following the input data time window. These accounts may appear in this population in more than one segment, so that high spenders will show up in many segments; concomitantly, those who spend very little may not assigned to any segment.
The number of accounts in the population for each table is also determined and can be provided as a raw number, and as a percentage of all open accounts (as shown in the titles of the 25 following two tables).
Table 11 and Table 12 provide samples of these two types of tables:
Table 11: Segment Predominant Scores Account Statistics: 8291 accounts ( 0.17 percent) Category Mean Value Std Deviation Population Mean Relative Score Cash Advances $ 11.28 $ 53.18 ~ $ 6.65 169.67 , ,Cash Advance 0.03 0.16 0.02 159.92 Rate Purchases $ 166.86 $ 318.86 $ 192.91 86.50 Purchase Rate 0.74 1.29 1.81 40.62 Debits $ 178.14 $ 324.57 $ 199.55 89.27 Debit Rate 0.77 1.31 1.84 41.99 Dollars in Segment4.63 14.34 10.63% 43.53 Rate in Segment3.32 9.64 11.89% 27.95 Table 12: Segment Top 5% Scores Account Statistics: 154786 accounts ( 3.10 percent) Category Mean Value Std Deviation Population Mean Relative Score ash Advances $ 9.73 $ 51.21 $ 7.27 133.79 ash Advance 0.02 0.13 0.02 125.62 Rate Purchases $ 391.54 $ 693.00 $ 642.06 60.98 Purchase Rate 2.76 4.11 7.51 36.77 Debits $ 401.27 $ 702.25 $ 649.34 61.80 Debit Rate 2.79 4.12 7.53 37.00 Dollars in Segment1.24 8.14 1.55% 80.03 Rate in Segment0.99 6.70 1.79% 55.04 i) Segment Statistics The tables present the following statistics for each of several categories, one category per row. The statistics are:
Mean Value: the average over the population being scored;
Std Deviation: the standard deviation over the population being scored;
Population Mean: the average, over all the segments, of the Mean Value (this column is thus to the same for all segments, and are included for ease of comparison); and Relative Score: the Mean Value, as a fraction of the Population Mean (in percent).
ii) Row Descriptions Each table contains rows for spending and rate in Cash Advances, Purchases, Debits, and Total Spending.
~s ~ The rows for spending (Cash Advances, Purchases, and Debits) show statistics on dollars per month for all accounts in the population over the time period of available data.
~ The rate rows (Cash Advance Rate, Debit Rate, and Purchase Rate) show statistics on the number of transactions per month for all accounts in the population over the time period of available data.
~ Debits consist of Cash Advances and Purchases.
SS
~ The Dollars in Segment shows the fraction of total spending that is spent in this segment.
This informs the financial institution of how significant overall this segment is.
~ The Rate in Segment shows the fraction of total purchase transactions that occur in this segment.
The differences between these two populations are subtle but important, and are illustrated by the above tables. The segment predominant population identifies those individuals as members of a segment who, relative to their own spending, are predicted to spend the most in the segment.
For example, assume a consumer whose predicted spending in a segment is $20.00, which gives the consumer a percentile ranking of 75~' percentile. If the consumer's percentile ranking in every other o segment is below the 75'" percentile, then the consumer is selected in this population for this segment. Thus, this may be considered an infra-account membership function.
The Top 5% scores population instead includes those accounts holders predicted to spend the most in the segment, relative to all other account holders. Thus, the account holder who was predicted to spend only $20.00 in the merchant segment will not be member of this population since 1s he is well below the 95~' percentile, which may be predicted to spend, for example $100.00.
In the example tables these differences are pronounced. In Table 11, the average purchases of the segment predominant population is only $166.86. In Table 12, the average purchase by top 5% population is more than twice that, at $391.54. This information allows the financial institution to accurately identify accounts which are most likely to spend in a given segment, and target these 2o accounts with promotional offers for merchants in the segment.
The above tables may also be constructed based on other functions to identify accounts associated with segments, including dot products between consumer vectors and segment vectors.
1.TARGETING ENGINE
The targeting engine 422 allows the financial institution to specify targeted populations for zs each (or any) merchant segment, to enable selection of the targeted population for receiving predetermined promotional offers.
A financial institution can specify a targeted population for a segment by specifying a population count for the segment, for example, the top 1000 accounts holders, or the top 10%
account holders in a segment. The selection is made by any of the membership functions, including dot product, or predicted spending. Other targeting specifications may be used in conjunction with these criteria, such as a minimum spending amount in the segment, such as $100. The parameters for selecting the targeting population are defined in a target specification document 424 which is an input to the targeting engine 422. One or more promotions can be specifically associated with certain merchants in a segment, such as the merchants with the highest correlation with the segment vector, highest average transaction amount, or other selective criteria. In addition, the amounts to offered in the promotions can be specific to each consumer selected, and based on their predicted or historical spending in the segment. The amounts may also be dependent on the specific merchant for whom a promotion is offered, as a function of the merchant's contributions to purchases in the segment, such as based upon their dollar bandwidth, average transaction amount, or the like.
The selected accounts can be used to generate a targeted segmentation report 430 by ~s providing the account identifiers for the selected accounts to the reporting engine 426, which constructs the appropriate targeting report on the segment. This report has the same format as the general segment report but is compiled for the selected population.
An example targeting specification 424 is shown below:
Table 13: Target population specification ID associatedSegment Customer SelectionFilter Criteria ID
with promotional target countCriteria offer 1 122 75,000 PredictedAverage Spending Transaction in in Segment Segment >$50 1 143 Top 10% Dot ProductTotal Spending in Segment>$100 2 12 and 87,000 PredictedNone Spending in this Segment and 55 Table 13 shows a specification of a total of at least 228,000 customer accounts distributed over four segments and two promotional offers (ID 1 and ID 2). For each segment or promotional offer, there are different selection and filtering criteria. For promotion #1 the top 75,000 consumers in segment #122 based on predicted spending, and who have an average transaction in the segment s greater than $50, are selected. For this promotion in segment #413, the top 10% of accounts based on the dot product between the consumer vector and segment vector are selected, so long as they have a minimum spending in the segment of $100. Finally, for promotion #2, 87,000 consumers are selected across two segments. Within each offer (e.g. offer ID 1) the segment models may be merged to produce a single lift chart which reflects the offer as a composition of the segments.
o The targeting engine 422 then provides the following additional functionality:
1. Select fields from the account profile of the selected accounts that will inserted to the mail file 434. For example, the name, address, and other information about the account may be extracted.
2. The mail file 434 is then exported to a useful word processing or bulk mailing system.
IS 3. Instruct the reporting engine 426 to generate reports that have summary and cumulative frequencies for select account fields, such as including purchase, debit, cash advance, or any other account data.
4. Instruct the reporting engine 426 to generate lift charts for the targeting population in the segment, and for overlapped (combined) segments.
20 K. SEGMENT TRANSITION DETECTION
As is now apparent, the system of the present invention provides detailed insight into which merchant segments a consumer is associated with based on various measures of membership, such as dot product, predicted spending, and the like. Further, since the consumers continue to spend over time, the consumer accounts and the consumers' associations with segments is expected to 25 change over time as their individual spending habits change.
The present invention allows for detection of the changes in consumer spending via the segment transition detection engine 420. In a given data period (e.g. next monthly cycle or multiple month collection of data) a set of membership values for each consumer is defined as variously described above, with respect to each segment. Again, this may be predicted spending by the consumer in each segment, dot product between the consumer vector and each segment vectors, or other membership functions.
In a subsequent time interval, using additional spending and/or predicted data, the membership values are recomputed. Each consumer will have the top P and the bottom Q increases in and decreases in segment membership. That is, there will be two changes of interest: the P (e.g.
5) segments with the greatest increase in membership values for the consumer;
the Q segments with the greatest decrease in segment membership.
to An increase in the membership value for a segment indicates that the consumer is now (or predicted to) spend more money in a particular segment. Decreases show a decline in the consumer's interest in the segment. Either of these movements may reflect a change in the consumer's lifestyle, income, or other demographic factors.
Significant increases in merchant segments which previously had low membership values 15 are particularly useful to target promotional offers to the account holders who are moving into the segment. This is because the significant increase in membership indicates that the consumer is most likely to be currently receptive to the promotional offers for merchants in the segment, since they are predicted to be purchasing more heavily in the segment.
Thus, the segment transition detection engine 420 calculates the changes in each consumer's 1o membership values between two selected time periods, typically using data in a most recent prediction window (either ending or beginning with a current statement date) relative to memberships in prior time intervals. The financial institution can define a threshold change value for selecting accounts with changes in membership more significant than the threshold. 'The selected accounts may then be provided to the reporting engine 426 for generation of various reports, 25 including a segment transition report 432 which is like the general segment report except that it applies to accounts that are considered to have transitioned to or from a segment. This further enables the financial institution to selectively target these customers with promotional offers for merchants in the segments in which the consumer had the most significant positive increases in membership.
In summary then, the present invention provides a variety of powerful analytical methods which predict consumer financial behavior in discretely defined merchant segments, and with respect to predetermined time intervals. The clustering of merchants in merchant segments allows analysis of transactions of consumers in each specific segment, both historically, and in the predicted period to identify consumers of interest. Identified consumers can then be targeted with promotional offers precisely directed at merchants within specific segments.
APPENDIX I: N-gram Matching Algorithm 1. A set of training examples is presented to the algorithm. In this case, the training examples are all the merchant names that are being processed.
2. Each training example is broken down into all possible n-grams, for a selected value of n (n=3 for trigrams) E.g. the merchant name " wal-mart " yields the trigrams ""w, "wa, wal, al-, 1-m, -ma, mar, art, rt", t"", where " is an " end of string " token .
3. The frequencies with which each trigram appears anywhere in the 1o training examples are counted.
4. In the preferred embodiment, each trigram is assigned a weight, given by N
F~
where xyzindicates the particular trigram, F~ is the number of times the trigram appeared anywhere in the training examples, IS and N is the maximum value of Ffor all trigrams. Thus, frequently occurring trigrams are assigned low weights, while rare trigrams are assigned high weights. Other weighting schemes, including uniform weights, are possible.
5. A high dimensional vector space is constructed, with one z0 dimension for each trigram that appears in the set of training examples.
6. To compare two particular strings of characters (merchant names), stringl and string2, each string is represented by a vector in the vector space. The vector for a stringl is 25 constructed by:
a) counting the frequency of each trigram in the string, f~
b) assembling a weighted sum of unit vectors, ystringl - ~ wzyz xyzuxyz where xyz ranges over all trigrams in stringl, and u~ is a unit vector in the direction of the xyz dimension in the 30 vector space.
c) normalizing VSO.«g~to length a length of one (preferred embodiment), or utilizing another normalization, or providing no normalization at all.
d) construct the similar vector corresponding to the other string, Is a ) take the dot product of VS~.",g~ and yS";ngz . A high dot product (near one) indicates that the two strings are closely related, while a low dot product (near zero) indicates that the two strings are not related.
7. Two merchant names are equivalenced if their vectors' dot product is greater than a particular threshold. This threshold is typically in the range of 0.6 to 0.9 for the preferred l0 embodiment.
APPENDIX II: Geometrically Derived Vector Training Algorithm Initialize:
For each stem, i E {all stems in corpus}
V =rand-vector // random vector for stem i s Normalize V;to length 1 ~ V = 0, //zero initialized update vector for stem i END
For each stem, i E {all stems in corpus}
Calculate Updates:
For each stem, j a {all stems that co-occurred with stem i}, j $ i We wish to calculate a new vector, U~~, that is the ideal position of Y,. with respect to Vj. In other l5 words, we want the dot product of Ulwith V~ to be d~~, we want Unto have unit length, and we want U;~
to lie in the plane defined by V and V~.
D = V - V~ //vector difference between vectors for 2o stems j and i.
2s B=D-V~ ~dot(Vj,D) //8 is vector of components of D
which are orthogonal to Vj. This defines a plane between Vj and B in which Vi lies.
B = ~e~ //normalize 8 1 =sqrt 1 ~''Z //1 is weight for 8 d;~
30 IF d~~ > 0 THEN //if positive relationship between stems j and i U;~ = V~ + 1 ~ 9 ELSE IF d;~< 0 THEN //if negative relationship 3s U,~ =-V~ +1 ~B
END IF
ao U~ =U'' //normalize Uu We construct a weighted sum of the U;Ifor all j to derive an estimate of where Vt should be.
IF weight mode =- LOG FREQ THEN
OV =OV.+U~~~1-dot(U~,V)~~~1+logF~j~
ELSE IF weight mode =- FREQ THEN
!0 0V =~V +U;~ ~~1-dot(U~,V~~~F~j~
ELSE
0V = 0 V + U;I ~ ~1- dot(U;l , V )~
END IF
IS END j Perform Update:
20 END i V "e"' _ (1- gamma) ~ V + gamma ~ ~Y, V. new - V; new V
NOTES:
1) Stems here are root merchant names.
2) The list of stems j (merchant names) which co-occur with stem i 25 is known from the co-occurrence data.
3) dij is relationship strength measure, calculated by UDL1, UDL2, or UDL3.
4) F[j] is the frequency at which stem j appears in the data.
5) Weight_mode is a user controlled value that determines the 30 influence that F[j] has on the U. If weight mode is FREQ then the frequency of stem j directly effects U, so that higher frequency stems (merchant names) strongly influence the resulting merchant vector of merchant i. A slower influence is provided by weight_mode = LOG FREQ, which uses the log of F[j].
35 If weight mode is not set, then the default is no influence by F[J] . _ 6) Gamma is a learning rate 0-l,typically 0.5 to 0.9 APPENDIX III: Algebraically Derived Vector Training Algorithm Initialize:
For each stem, i E fall stems in corpus} .
V =rand-vector // initialize a random vector for stem i Normalize V; //normalize vector to unit length DY = 0, //define a zero initialized update vector for stem i END
For each stem, i E {all stems in corpus}
l5 Calculate Updates:
For each stem, j E {all stems that co -occurred with stem i}, j ~ i // this is all merchants j which co-occur with merchant i We wish to calculate a new vector, UJ, that is the ideal position of Y; with respect to V~. In other words, we want the dot product of U~with V~ to be d;~, we want Unto have unit length, and we want U;l to lie in the plane defined by V,. and VI.
U~ can be expressed as a linear combination of V
and V~ where 1- dt~z s~ = dot(V ,VI ) , p;~ = z , and 1- Ei Uu =~d~ -~up~~~ +P~V,. .
We construct a weighted sum of the U;Ifor all j to derive an estimate of where V; should be.
IF weight mode =- LOG-FREQ THEN
3s OV =OV +U;~ ~~I-dot(U~,V)~~~1+logF~jD
ELSE IF weight mode =- FREQ THEN
~ V = OV + U;J ~ ~1- dot(U;~ , V )~ ~ F~, j~
ELSE
ov = ev + u~ ~ [1- dot(v;;, v )]
END IF
s END i IO
END j Perform Update:
V,."e"' _ (1- gamma) ~ v + gamma ~ OV,.
~ ~i new l Notes:
1) Stems here are root merchant names.
2) The list of stems j (merchant names) which co-occur with stem i is known from the co-occurrence data.
is 3) dij is relationship strength measure, calculated by UDLl, UDL2, or UDL3.
4) F[j] is the frequency at which stem j appears in the data.
5) Weight_mode is a user controlled value that determines the influence that F[j] has on the U. If weight_mode is FREQ then 2o the frequency of stem j directly effects U, so that higher frequency stems (merchant names) strongly influence the resulting merchant vector of merchant i. A slower influence is provided by weight_mode = LOG FREQ, which uses the log of F[j].
If weight mode is not set, then the default is no influence by zs F[j] .
6) Gamma is a learning rate 0-l,typically 0.5 to 0.9
( 10) Recency nearest segment merchants. The amount of time in months between the current end date and the most recent transaction of the consumer in a collection of merchants that are nearest the segment vector. Recency may be computed over all available time and is not restricted to the input window.
(11) Frequency nearest segment merchants. The number of transactions in a collection of merchants that are nearest the segment vector by the consumer in the input window 1o preceding the current end date.
(12) Monetary nearest segment merchants. The amount of dollars spent in a collection of merchants that are nearest the segment vector by the consumer in the input window preceding the current end date.
(13) Segment probability score. The probability that a consumer will spend in the segment ~s in the prediction window given all merchant transactions for the consumer in the input window preceding the end date. A prefer ed algorithm estimates combined probability using a recursive Bayesian method.
(14) Seasonality variables. It is assumed that the fundamental period of the cyclic component is known. In the case of seasonality, it can be assumed that the cycle of Zo twelve months. Two variables are added to the model related to seasonality.
The first variable codes the sine of the date and the second variable codes the cosine of the date. The calculation for these variables are:
Sin Input = sin( 2.0 * PI * (sample day of year) / 365 ) Cos Input = cos( 2.0 * PI * (sample month of year) / 365).
25 (15) (Segment Vector-Consumer Vector Closeness: As an optional input, the dot product of the segment vector for the segment and the consumer vector is used as an input variable.
In addition to these transaction statistics, variables may be defined for the frequency of purchase and monetary value for all cases of segment merchants, nearest profile merchants, nearest segment merchants for the same forward prediction window in the previous year(s).
G. PREDICTIVE MODEL GENERATION
The training observations for each segment are input into the segment predictive model generation module 530 to generate a predictive model for the segment. Fig. 9 illustrates the overall logic of the predictive model generation process. 'The master files 408 are organized by accounts, based on account identifiers, here illustratively, accounts 1 through N. There are M segments, indicated by segments 1 through M. The DPPM generates for each combination of account and to merchant segment, a set of input and blind observations. The respective observations for each merchant segment M from the many accounts 1...N are input into the respective segment predictive model M during training. Once trained, each segment predictive model is tested with the corresponding blind observations. Testing may be done by comparing for each segment a lift chart generated by the training observations with the lift chart generated from blind observations. Lift charts are further explained below.
The predictive model generation module 530 is preferably a neural network, using a conventional multi-layer organization, and backpropagation training. In a preferred embodiment, the predictive model generation model 530 is provided by HNC Software's Database Mining Workstation, available from HNC Software of San Diego, California.
zo While the preferred embodiment uses neural networks for the predictive models, other types of predictive models may be used. For example, linear regression models may be used.
H. PROFILING ENGINE
The profiling engine 412 provides analytical data in the form of an account profile about each customer whose data is processed by the system 400. The profiling engine is also responsible for updating consumer profiles over time as new transaction data for consumers is received. The account profiles are objects that can be stored in a database 414 and are used as input to the computational components of system 400 in order to predict future spending by the customer in the merchant segments. The profile database 414 is preferably ODBC compliant, thereby allowing the accounts provider (e.g. financial institution) to import the data to perform SQL queries on the customer profiles.
The account profile preferably includes a consumer vector, a membership vector describing a membership value for the consumer for each merchant segment, such as the consumer's predicted spending in each segment in a predetermined future time interval, and the recency, frequency, and monetary variables as previously described for predictive model training.
The profiling engine 412 creates the account profiles as follows.
1. Membership Function: Predicted Spending In Each Segment o The profile of each account holder includes a membership value with respect to each segment. The membership value is computed by a membership function. The purpose of the membership function is to identify the segments with which the consumer is mostly closely associated, that is, which best represent the group or groups of merchants at which the consumer has shopped, and is likely to shop at in the future.
t5 In a preferred embodiment, the membership function computes the membership value for each segment as the predicted dollar amount that the account holder will purchase in the segment given previous purchase history. The dollar amount is projected for a predicted time interval (e.g. 3 months forward) based on a predetermined past time interval (e.g. 6 months of historical transactions). These two time intervals correspond to the time intervals of the input window and 2o prediction windows used during training of the merchant segment predictive models. Thus, if there are 300 merchant segments, then a membership value set is a list of 300 predicted dollar amounts, corresponding to the respective merchant segments. Sorting the list by the membership value identifies the merchant segments at which the consumer is predicted to spend the greatest amounts of money in the future time interval, given their spending historically.
25 To obtain the predicted spending, certain data about each account is input in each of the segment predictive models. The input variables are constructed for the profile consistent with the membership function of the profile. Preferably, the input variables are the same as those used during model training, as set forth above. An additional input variable for the membership function may include the dot product between the consumer vector and the segment vector for the segment (if the models are so trained). The output of the segment models is a predicted dollar amount that the consumer will spend in each segment in the prediction time interval.
2. Segment Membership Based on Consumer Vectors A second alternate, membership aspect of the account profiles is membership based upon the consumer vector for each account profile. The consumer vector is a summary vector of the merchants that the account has shopped at, as explained above with respect to the discussion of clustering. In this aspect, the dot product of the consumer vector and segment vector for the segment 1o defines a membership value. In this embodiment, the membership value list is a set of 300 dot products, and the consumer is member of the merchant segments) having the highest dot product(s).
With either one of these membership functions, the population of accounts that are members of each segment (based on the accounts having the highest membership values for each segment) can be determined. From this population, various summary statistics about the accounts can be Is generated such as cash advances, purchases, debits, and the like. This information is further described below.
3. Updating of Consumer Profiles As additional transactions of a consumer are received periodically (e.g. each month) the merchant vectors associated with the merchants in the new transactions can be used to update the 2o consumer vector, preferably using averaging techniques, such as exponential averaging over the desired time interval for the update.
Updates to the consumer vector are preferably a function of dollars spent perhaps relative to the mean of the dollars spent at the merchant. Thus, merchant vectors are weighted in the new transaction period by both the time and the significance of transactions for the merchant by the 2s consumer (e.g. weighted by dollar amount of transactions by consumer at merchant). One formula for weighting merchants is:
gl W; = S; e~' where W; is the weight to be applied to merchant i's merchant vector;
S; is the dollar amount of transactions at merchant i in the update time interval;
t is the amount of time since the last transaction at merchant i; and s ~, is a constant that controls the overall influence of the merchant.
The profiling engine 412 also stores a flag for each consumer vector indicating the time of the last update.
I. REPORTING ENGINE
The reporting engine 426 provides various types of segment and account specific reports.
to The reports are generated by querying the profiling engine 412 and the account database for the segments and associated accounts, and tabulating various statistics on the segments and accounts.
1. Basic Reporting Functionality The reporting engine 426 provides functionality to:
a) Search by merchant names, including raw merchant names, root names, or 15 equivalence names.
b) Sort merchant lists by merchant name, frequency of transactions, transaction amounts and volumes, number of transactions at merchant, or SIC code.
c) Filter contents of report by number of transactions at merchant.
The reporting engine 426 provides the following types of reports, responsive to these input 20 criteria:
2. General Segment Report For each merchant segment a very detailed and powerful analysis of the segment can be created in a segment report. This information includes:
a) General Segment Information 25 Merchant Cohesion: A measure of how closely clustered are the merchant vectors in this segment. This is the average of the dot products of the merchant vectors with the centroid vector of this segment. Higher numbers indicate tighter clustering.
Number of Transactions: The number of purchase transactions at merchants in this segment, relative to the total number of purchase transactions in all segments, providing a measure of how significant the segment is in transaction volume.
Dollars Spent: The total dollar amount spent at merchants in this segment, relative to the total dollar amount spent in all segments, providing a measure of dollar volume for the segment.
Most Closely Related Segments: A list of other segments that are closest to the current segment. This list may be ranked by the dot products of the segment vectors, or by a measure of the conditional probability of purchase in the other segment given a purchase in the current segment.
The conditional probability measure M is as follows: P(A~B) is probability of purchase in 0 segment A segment in next time interval (e.g. 3 months) given purchases in segment B in the previous time interval (e.g. 6 months). P(A~B)/P(A) =M. If M is >1, then a purchase in segment B
is positively influencing the probability of purchase in segment A, and if M<1 then a purchase in segment B negatively influences a purchase in segment A. This is because if there is no information about the probability of purchases in segment B, then P(A~B) = P(A), so M=1.
The values for ~5 P(A~B) are determined from the co-occurrences of purchases at merchants in the two segments, and P(A) is determined and from the relative frequency of purchases in segment A
compared to all segments.
A farthest segments list may also be provided (e.g. with the lowest conditional probability measures).
2o b) Segment Members Information Detailed information is provided about each merchant which is a member of a segment.
This information comprises:
Merchant Name and SIC code;
Dollar Bandwidth: The fraction of all the money spent in this segment that is spent at this 25 merchant (percent);
Number of transactions: The number of purchase transactions at this merchant;
Average Transaction Amount: The average value of a purchase transaction at this merchant;
Merchant Score: The dot product of this merchant's vector with the centroid vector of the merchant segment. (A value of 1.0 indicates that the merchant vector is at the centroid);
SIC Description: The SIC code and its description;
This information may be sorted along any of the above dimensions.
s c) Lift Chart A lift chart useful for validating the performance of the predictive models by comparing predicted spending in a predicted time window with actual spending.
Table 10 illustrates a sample lift chart for merchant segment:
Table 10: A sample segment lift chart.
Bin CumulativeCumulative Cumulative segment segment liftPopulation lift in $
1 5.56 $109.05 50,000 2 4.82 $94.42 100,000 3 3.82 $74.92 150,000 4 3.23 $63.38 200,000 2.77 $54.22 250,000 6 2.43 $47.68 300,000 7 2.20 $43.20 350,000 8 2.04 $39.98 400,000 9 1.88 $36.79 450,000 1.75 $34.35 500,000 11 1.63 $31.94 550,000 12 1.52 $29.75 600,000 13 1.43 $28.02 650,000 14 1.35 $26.54 700,000 1.28 $25.08 750,000 16 1.21 $23.81 800,000 17 1.16 $22.65 850,000 18 1.10 $21.56 900,000 19 1.05 $20.57 950,000 1.00 $19.60 1,000,000 Base-line -- $19.60 o Lift charts are created generally as follows:
As before, there is defined input window and prediction window, for example 6 and 3 months respectively. Data from the total length of these windows relative to end of the most recent spending data available is taken. For example, if data on actual spending in the accounts is available through the end of the current month, then the prior three months of actual data will be used as the is prediction window, and the data for the six months prior to that will be data for input window. The input data is then used to "predict" spending in the three month prediction window, for which in fact there is actual spending data. The predicted spending amounts are now compared with the actual amounts to validate the predictive models.
For each merchant segment then, the consumer accounts are ranked by their predicted spending for the segment in the prediction window period. Once the accounts are ranked, they are divided into N (e.g. 20) equal sized bins so that bin 1 has the highest spending accounts, and bin N
has the lowest ranking accounts. This identifies the accounts holders that the predictive model for the segment indicated should be are expected to spend the most in this segment.
Then, for each bin, the average actual spending per account in this segment in the past time o period, and the average predicted spending is computed. The average actual spending over all bins is also computed. This average actual spending for all accounts is the baseline spending value (in dollars), as illustrated in the last line of Table 10. This number describes the average that all account holders spent in the segment in the prediction window period.
The lift for a bin is the average actual spending by accounts in the bin divided by the ~5 baseline spending value. If the predictive model for the segment is accurate, then those accounts in the highest ranked bins should have a lift greater than l, and the lift should generally be increasing, with bin 1 having the highest lift. Where this the case, as for example, in Table 10, in bin 1, this shows that those accounts in bin 1 in fact spent several times the baseline, thereby confirming the prediction that these accounts would in fact spend more than others in this segment.
2o The cumulative lift for a bin is computed by taking the average spending by accounts in that bin and all higher ranking bins, and dividing it by the baseline spending (i.e. the cumulative lift for bin 3 is the average spending per account in bins 1 through 3, divided by the baseline spending.) The cumulative lift for bin N is always 1Ø The cumulative lift is useful to identify a group of accounts which are to be targeted for promotional offers.
25 The lift information allows the financial institution to very selectively target a specific group of accounts (e.g. the accounts in bin 1) with promotional offers related to the merchants in the segment. This level of detailed, predictive analysis of very discrete groups of specific accounts relative to merchant segments is not believed to be currently available by conventional methods.
d) Population Statistics Tables The reporting engine 426 further provides two types of analyses of the financial behavior of a population of accounts that are associated with a segment based on various selection criteria. The Segment Predominant Scores Account Statistics table and the Segment Top 5%
Scores Account Statistics table present averaged account statistics for two different types of populations of customers who shop, or are likely to shop, in a given segment. The two populations are determined as follows.
Segment Predominant Scores Account Statistics Table: All open accounts with at least one purchase transaction are scored (predicted spending) for all of the segments.
Within each segment, 1o the accounts are ranked by score, and assigned a percentile ranking. The result is that for each account there is a percentile ranking value for each of the merchant segments.
The population of interest for a given segment is defined as those accounts which have their highest percentile ranking in this segment. For example, if an account has its highest percentile ranking in segment #108, that account will be included in the population for the statistics table for 15 segment #108, but not in any other segment. This approach assigns each account holder to one and only one segment.
Segment Top 5% Scores Account Statistics. For the Segment Top 5% Scores Account Statistics table, the population is defined as the accounts with percentile ranking of 95% or greater in a current segment. These are the 5% of the population that is predicted to spend the most in the 2o segment in the predicted future time interval following the input data time window. These accounts may appear in this population in more than one segment, so that high spenders will show up in many segments; concomitantly, those who spend very little may not assigned to any segment.
The number of accounts in the population for each table is also determined and can be provided as a raw number, and as a percentage of all open accounts (as shown in the titles of the 25 following two tables).
Table 11 and Table 12 provide samples of these two types of tables:
Table 11: Segment Predominant Scores Account Statistics: 8291 accounts ( 0.17 percent) Category Mean Value Std Deviation Population Mean Relative Score Cash Advances $ 11.28 $ 53.18 ~ $ 6.65 169.67 , ,Cash Advance 0.03 0.16 0.02 159.92 Rate Purchases $ 166.86 $ 318.86 $ 192.91 86.50 Purchase Rate 0.74 1.29 1.81 40.62 Debits $ 178.14 $ 324.57 $ 199.55 89.27 Debit Rate 0.77 1.31 1.84 41.99 Dollars in Segment4.63 14.34 10.63% 43.53 Rate in Segment3.32 9.64 11.89% 27.95 Table 12: Segment Top 5% Scores Account Statistics: 154786 accounts ( 3.10 percent) Category Mean Value Std Deviation Population Mean Relative Score ash Advances $ 9.73 $ 51.21 $ 7.27 133.79 ash Advance 0.02 0.13 0.02 125.62 Rate Purchases $ 391.54 $ 693.00 $ 642.06 60.98 Purchase Rate 2.76 4.11 7.51 36.77 Debits $ 401.27 $ 702.25 $ 649.34 61.80 Debit Rate 2.79 4.12 7.53 37.00 Dollars in Segment1.24 8.14 1.55% 80.03 Rate in Segment0.99 6.70 1.79% 55.04 i) Segment Statistics The tables present the following statistics for each of several categories, one category per row. The statistics are:
Mean Value: the average over the population being scored;
Std Deviation: the standard deviation over the population being scored;
Population Mean: the average, over all the segments, of the Mean Value (this column is thus to the same for all segments, and are included for ease of comparison); and Relative Score: the Mean Value, as a fraction of the Population Mean (in percent).
ii) Row Descriptions Each table contains rows for spending and rate in Cash Advances, Purchases, Debits, and Total Spending.
~s ~ The rows for spending (Cash Advances, Purchases, and Debits) show statistics on dollars per month for all accounts in the population over the time period of available data.
~ The rate rows (Cash Advance Rate, Debit Rate, and Purchase Rate) show statistics on the number of transactions per month for all accounts in the population over the time period of available data.
~ Debits consist of Cash Advances and Purchases.
SS
~ The Dollars in Segment shows the fraction of total spending that is spent in this segment.
This informs the financial institution of how significant overall this segment is.
~ The Rate in Segment shows the fraction of total purchase transactions that occur in this segment.
The differences between these two populations are subtle but important, and are illustrated by the above tables. The segment predominant population identifies those individuals as members of a segment who, relative to their own spending, are predicted to spend the most in the segment.
For example, assume a consumer whose predicted spending in a segment is $20.00, which gives the consumer a percentile ranking of 75~' percentile. If the consumer's percentile ranking in every other o segment is below the 75'" percentile, then the consumer is selected in this population for this segment. Thus, this may be considered an infra-account membership function.
The Top 5% scores population instead includes those accounts holders predicted to spend the most in the segment, relative to all other account holders. Thus, the account holder who was predicted to spend only $20.00 in the merchant segment will not be member of this population since 1s he is well below the 95~' percentile, which may be predicted to spend, for example $100.00.
In the example tables these differences are pronounced. In Table 11, the average purchases of the segment predominant population is only $166.86. In Table 12, the average purchase by top 5% population is more than twice that, at $391.54. This information allows the financial institution to accurately identify accounts which are most likely to spend in a given segment, and target these 2o accounts with promotional offers for merchants in the segment.
The above tables may also be constructed based on other functions to identify accounts associated with segments, including dot products between consumer vectors and segment vectors.
1.TARGETING ENGINE
The targeting engine 422 allows the financial institution to specify targeted populations for zs each (or any) merchant segment, to enable selection of the targeted population for receiving predetermined promotional offers.
A financial institution can specify a targeted population for a segment by specifying a population count for the segment, for example, the top 1000 accounts holders, or the top 10%
account holders in a segment. The selection is made by any of the membership functions, including dot product, or predicted spending. Other targeting specifications may be used in conjunction with these criteria, such as a minimum spending amount in the segment, such as $100. The parameters for selecting the targeting population are defined in a target specification document 424 which is an input to the targeting engine 422. One or more promotions can be specifically associated with certain merchants in a segment, such as the merchants with the highest correlation with the segment vector, highest average transaction amount, or other selective criteria. In addition, the amounts to offered in the promotions can be specific to each consumer selected, and based on their predicted or historical spending in the segment. The amounts may also be dependent on the specific merchant for whom a promotion is offered, as a function of the merchant's contributions to purchases in the segment, such as based upon their dollar bandwidth, average transaction amount, or the like.
The selected accounts can be used to generate a targeted segmentation report 430 by ~s providing the account identifiers for the selected accounts to the reporting engine 426, which constructs the appropriate targeting report on the segment. This report has the same format as the general segment report but is compiled for the selected population.
An example targeting specification 424 is shown below:
Table 13: Target population specification ID associatedSegment Customer SelectionFilter Criteria ID
with promotional target countCriteria offer 1 122 75,000 PredictedAverage Spending Transaction in in Segment Segment >$50 1 143 Top 10% Dot ProductTotal Spending in Segment>$100 2 12 and 87,000 PredictedNone Spending in this Segment and 55 Table 13 shows a specification of a total of at least 228,000 customer accounts distributed over four segments and two promotional offers (ID 1 and ID 2). For each segment or promotional offer, there are different selection and filtering criteria. For promotion #1 the top 75,000 consumers in segment #122 based on predicted spending, and who have an average transaction in the segment s greater than $50, are selected. For this promotion in segment #413, the top 10% of accounts based on the dot product between the consumer vector and segment vector are selected, so long as they have a minimum spending in the segment of $100. Finally, for promotion #2, 87,000 consumers are selected across two segments. Within each offer (e.g. offer ID 1) the segment models may be merged to produce a single lift chart which reflects the offer as a composition of the segments.
o The targeting engine 422 then provides the following additional functionality:
1. Select fields from the account profile of the selected accounts that will inserted to the mail file 434. For example, the name, address, and other information about the account may be extracted.
2. The mail file 434 is then exported to a useful word processing or bulk mailing system.
IS 3. Instruct the reporting engine 426 to generate reports that have summary and cumulative frequencies for select account fields, such as including purchase, debit, cash advance, or any other account data.
4. Instruct the reporting engine 426 to generate lift charts for the targeting population in the segment, and for overlapped (combined) segments.
20 K. SEGMENT TRANSITION DETECTION
As is now apparent, the system of the present invention provides detailed insight into which merchant segments a consumer is associated with based on various measures of membership, such as dot product, predicted spending, and the like. Further, since the consumers continue to spend over time, the consumer accounts and the consumers' associations with segments is expected to 25 change over time as their individual spending habits change.
The present invention allows for detection of the changes in consumer spending via the segment transition detection engine 420. In a given data period (e.g. next monthly cycle or multiple month collection of data) a set of membership values for each consumer is defined as variously described above, with respect to each segment. Again, this may be predicted spending by the consumer in each segment, dot product between the consumer vector and each segment vectors, or other membership functions.
In a subsequent time interval, using additional spending and/or predicted data, the membership values are recomputed. Each consumer will have the top P and the bottom Q increases in and decreases in segment membership. That is, there will be two changes of interest: the P (e.g.
5) segments with the greatest increase in membership values for the consumer;
the Q segments with the greatest decrease in segment membership.
to An increase in the membership value for a segment indicates that the consumer is now (or predicted to) spend more money in a particular segment. Decreases show a decline in the consumer's interest in the segment. Either of these movements may reflect a change in the consumer's lifestyle, income, or other demographic factors.
Significant increases in merchant segments which previously had low membership values 15 are particularly useful to target promotional offers to the account holders who are moving into the segment. This is because the significant increase in membership indicates that the consumer is most likely to be currently receptive to the promotional offers for merchants in the segment, since they are predicted to be purchasing more heavily in the segment.
Thus, the segment transition detection engine 420 calculates the changes in each consumer's 1o membership values between two selected time periods, typically using data in a most recent prediction window (either ending or beginning with a current statement date) relative to memberships in prior time intervals. The financial institution can define a threshold change value for selecting accounts with changes in membership more significant than the threshold. 'The selected accounts may then be provided to the reporting engine 426 for generation of various reports, 25 including a segment transition report 432 which is like the general segment report except that it applies to accounts that are considered to have transitioned to or from a segment. This further enables the financial institution to selectively target these customers with promotional offers for merchants in the segments in which the consumer had the most significant positive increases in membership.
In summary then, the present invention provides a variety of powerful analytical methods which predict consumer financial behavior in discretely defined merchant segments, and with respect to predetermined time intervals. The clustering of merchants in merchant segments allows analysis of transactions of consumers in each specific segment, both historically, and in the predicted period to identify consumers of interest. Identified consumers can then be targeted with promotional offers precisely directed at merchants within specific segments.
APPENDIX I: N-gram Matching Algorithm 1. A set of training examples is presented to the algorithm. In this case, the training examples are all the merchant names that are being processed.
2. Each training example is broken down into all possible n-grams, for a selected value of n (n=3 for trigrams) E.g. the merchant name " wal-mart " yields the trigrams ""w, "wa, wal, al-, 1-m, -ma, mar, art, rt", t"", where " is an " end of string " token .
3. The frequencies with which each trigram appears anywhere in the 1o training examples are counted.
4. In the preferred embodiment, each trigram is assigned a weight, given by N
F~
where xyzindicates the particular trigram, F~ is the number of times the trigram appeared anywhere in the training examples, IS and N is the maximum value of Ffor all trigrams. Thus, frequently occurring trigrams are assigned low weights, while rare trigrams are assigned high weights. Other weighting schemes, including uniform weights, are possible.
5. A high dimensional vector space is constructed, with one z0 dimension for each trigram that appears in the set of training examples.
6. To compare two particular strings of characters (merchant names), stringl and string2, each string is represented by a vector in the vector space. The vector for a stringl is 25 constructed by:
a) counting the frequency of each trigram in the string, f~
b) assembling a weighted sum of unit vectors, ystringl - ~ wzyz xyzuxyz where xyz ranges over all trigrams in stringl, and u~ is a unit vector in the direction of the xyz dimension in the 30 vector space.
c) normalizing VSO.«g~to length a length of one (preferred embodiment), or utilizing another normalization, or providing no normalization at all.
d) construct the similar vector corresponding to the other string, Is a ) take the dot product of VS~.",g~ and yS";ngz . A high dot product (near one) indicates that the two strings are closely related, while a low dot product (near zero) indicates that the two strings are not related.
7. Two merchant names are equivalenced if their vectors' dot product is greater than a particular threshold. This threshold is typically in the range of 0.6 to 0.9 for the preferred l0 embodiment.
APPENDIX II: Geometrically Derived Vector Training Algorithm Initialize:
For each stem, i E {all stems in corpus}
V =rand-vector // random vector for stem i s Normalize V;to length 1 ~ V = 0, //zero initialized update vector for stem i END
For each stem, i E {all stems in corpus}
Calculate Updates:
For each stem, j a {all stems that co-occurred with stem i}, j $ i We wish to calculate a new vector, U~~, that is the ideal position of Y,. with respect to Vj. In other l5 words, we want the dot product of Ulwith V~ to be d~~, we want Unto have unit length, and we want U;~
to lie in the plane defined by V and V~.
D = V - V~ //vector difference between vectors for 2o stems j and i.
2s B=D-V~ ~dot(Vj,D) //8 is vector of components of D
which are orthogonal to Vj. This defines a plane between Vj and B in which Vi lies.
B = ~e~ //normalize 8 1 =sqrt 1 ~''Z //1 is weight for 8 d;~
30 IF d~~ > 0 THEN //if positive relationship between stems j and i U;~ = V~ + 1 ~ 9 ELSE IF d;~< 0 THEN //if negative relationship 3s U,~ =-V~ +1 ~B
END IF
ao U~ =U'' //normalize Uu We construct a weighted sum of the U;Ifor all j to derive an estimate of where Vt should be.
IF weight mode =- LOG FREQ THEN
OV =OV.+U~~~1-dot(U~,V)~~~1+logF~j~
ELSE IF weight mode =- FREQ THEN
!0 0V =~V +U;~ ~~1-dot(U~,V~~~F~j~
ELSE
0V = 0 V + U;I ~ ~1- dot(U;l , V )~
END IF
IS END j Perform Update:
20 END i V "e"' _ (1- gamma) ~ V + gamma ~ ~Y, V. new - V; new V
NOTES:
1) Stems here are root merchant names.
2) The list of stems j (merchant names) which co-occur with stem i 25 is known from the co-occurrence data.
3) dij is relationship strength measure, calculated by UDL1, UDL2, or UDL3.
4) F[j] is the frequency at which stem j appears in the data.
5) Weight_mode is a user controlled value that determines the 30 influence that F[j] has on the U. If weight mode is FREQ then the frequency of stem j directly effects U, so that higher frequency stems (merchant names) strongly influence the resulting merchant vector of merchant i. A slower influence is provided by weight_mode = LOG FREQ, which uses the log of F[j].
35 If weight mode is not set, then the default is no influence by F[J] . _ 6) Gamma is a learning rate 0-l,typically 0.5 to 0.9 APPENDIX III: Algebraically Derived Vector Training Algorithm Initialize:
For each stem, i E fall stems in corpus} .
V =rand-vector // initialize a random vector for stem i Normalize V; //normalize vector to unit length DY = 0, //define a zero initialized update vector for stem i END
For each stem, i E {all stems in corpus}
l5 Calculate Updates:
For each stem, j E {all stems that co -occurred with stem i}, j ~ i // this is all merchants j which co-occur with merchant i We wish to calculate a new vector, UJ, that is the ideal position of Y; with respect to V~. In other words, we want the dot product of U~with V~ to be d;~, we want Unto have unit length, and we want U;l to lie in the plane defined by V,. and VI.
U~ can be expressed as a linear combination of V
and V~ where 1- dt~z s~ = dot(V ,VI ) , p;~ = z , and 1- Ei Uu =~d~ -~up~~~ +P~V,. .
We construct a weighted sum of the U;Ifor all j to derive an estimate of where V; should be.
IF weight mode =- LOG-FREQ THEN
3s OV =OV +U;~ ~~I-dot(U~,V)~~~1+logF~jD
ELSE IF weight mode =- FREQ THEN
~ V = OV + U;J ~ ~1- dot(U;~ , V )~ ~ F~, j~
ELSE
ov = ev + u~ ~ [1- dot(v;;, v )]
END IF
s END i IO
END j Perform Update:
V,."e"' _ (1- gamma) ~ v + gamma ~ OV,.
~ ~i new l Notes:
1) Stems here are root merchant names.
2) The list of stems j (merchant names) which co-occur with stem i is known from the co-occurrence data.
is 3) dij is relationship strength measure, calculated by UDLl, UDL2, or UDL3.
4) F[j] is the frequency at which stem j appears in the data.
5) Weight_mode is a user controlled value that determines the influence that F[j] has on the U. If weight_mode is FREQ then 2o the frequency of stem j directly effects U, so that higher frequency stems (merchant names) strongly influence the resulting merchant vector of merchant i. A slower influence is provided by weight_mode = LOG FREQ, which uses the log of F[j].
If weight mode is not set, then the default is no influence by zs F[j] .
6) Gamma is a learning rate 0-l,typically 0.5 to 0.9
Claims (20)
1. A method of predicting financial behavior of consumers, comprising:
generating from transaction data for a plurality of consumers, a date ordered sequence of transactions for each consumer;
selecting for each consumer a set of the date ordered transactions to form a group of input transactions for the consumer; and for each consumer, applying the input transactions of the consumer to each of a plurality of merchant segment predictive models, each merchant segment predictive model defining for a group of merchants a prediction function between input transactions in a past time interval and predicted spending in a subsequent time interval, to produce for each consumer a predicted spending amount in each merchant segment.
generating from transaction data for a plurality of consumers, a date ordered sequence of transactions for each consumer;
selecting for each consumer a set of the date ordered transactions to form a group of input transactions for the consumer; and for each consumer, applying the input transactions of the consumer to each of a plurality of merchant segment predictive models, each merchant segment predictive model defining for a group of merchants a prediction function between input transactions in a past time interval and predicted spending in a subsequent time interval, to produce for each consumer a predicted spending amount in each merchant segment.
2. The method of claim 1, further comprising:
for each consumer, associating the consumer with the merchant segment for which the consumer had the highest predicting spending relative to other merchant segments.
for each consumer, associating the consumer with the merchant segment for which the consumer had the highest predicting spending relative to other merchant segments.
3. The method of claim 1, further comprising:
for each merchant segment, determining a segment vector as a summary vector of merchant vectors of merchants associated with the segment; and for each consumer, associating the consumer with the merchant segment having the greatest dot product between the segment vector of the segment and a consumer vector of the consumer.
for each merchant segment, determining a segment vector as a summary vector of merchant vectors of merchants associated with the segment; and for each consumer, associating the consumer with the merchant segment having the greatest dot product between the segment vector of the segment and a consumer vector of the consumer.
4. The method of claim 1, further comprising:
for each merchant segment:
ranking the consumers by their predicted spending in the merchant segment;
determining for each consumer a percentile ranking in the merchant segment;
for each consumer:
determining the merchant segment in which the consumer's percentile ranking is the highest, to uniquely associate each consumer with one merchant segment;
for each merchant segment, determining summary transaction statistics for the consumers uniquely associated with the merchant segment.
for each merchant segment:
ranking the consumers by their predicted spending in the merchant segment;
determining for each consumer a percentile ranking in the merchant segment;
for each consumer:
determining the merchant segment in which the consumer's percentile ranking is the highest, to uniquely associate each consumer with one merchant segment;
for each merchant segment, determining summary transaction statistics for the consumers uniquely associated with the merchant segment.
5. The method of claim 1, further comprising:
for each merchant segment:
ranking the consumers by their predicted spending in the merchant segment;
determining for each consumer a percentile ranking in the merchant segment;
selecting as a population, the consumers having a percentile ranking in excess of predetermined percentile threshold; and determining summary transaction statistics for selected population of consumers.
for each merchant segment:
ranking the consumers by their predicted spending in the merchant segment;
determining for each consumer a percentile ranking in the merchant segment;
selecting as a population, the consumers having a percentile ranking in excess of predetermined percentile threshold; and determining summary transaction statistics for selected population of consumers.
6. The method of claim 1, further comprising:
establishing for each merchant in the transaction data a merchant vector;
updating the merchant vector of each merchant relative to the merchant vectors of other merchants according to co-occurrences of each merchant in the transaction data.
establishing for each merchant in the transaction data a merchant vector;
updating the merchant vector of each merchant relative to the merchant vectors of other merchants according to co-occurrences of each merchant in the transaction data.
7. The method of claim 6, further comprising:
updating the merchant vector of each merchant based upon an unexpected amount deviation in a frequency of co-occurrence of the merchant with other merchants.
updating the merchant vector of each merchant based upon an unexpected amount deviation in a frequency of co-occurrence of the merchant with other merchants.
8. The method of claim 6, further comprising:
determining a co-occurrence frequency for each merchant with each other merchant in the transaction data;
determining for each pair of merchants, a relationship strength between the pair of merchants based on how much the determined co-occurrence frequency deviates from an expected co-occurrence frequency;
for each pair of merchant vectors, mapping the relationship strength into a vector space as a desired dot product between respective merchant vectors the merchants in the pair; and updating each merchant vectors so that the actual dot products between each pair of merchant vectors approximates the desired dot product between the merchant vectors.
determining a co-occurrence frequency for each merchant with each other merchant in the transaction data;
determining for each pair of merchants, a relationship strength between the pair of merchants based on how much the determined co-occurrence frequency deviates from an expected co-occurrence frequency;
for each pair of merchant vectors, mapping the relationship strength into a vector space as a desired dot product between respective merchant vectors the merchants in the pair; and updating each merchant vectors so that the actual dot products between each pair of merchant vectors approximates the desired dot product between the merchant vectors.
9. The method of claim 8, wherein determining for each pair of merchants, a relationship strength between the pair of merchants further comprises:
determining the relationship strength by where r ij is the relationship strength between merchant i and merchant j in a pair of merchants;
T ij is the actual co-occurrence frequency of merchant i and merchant j in the transaction data;
and ~ ij is the expected co-occurrence frequency of merchant i and merchant j in the transaction data.
determining the relationship strength by where r ij is the relationship strength between merchant i and merchant j in a pair of merchants;
T ij is the actual co-occurrence frequency of merchant i and merchant j in the transaction data;
and ~ ij is the expected co-occurrence frequency of merchant i and merchant j in the transaction data.
10. The method of claim 8, wherein determining for each pair of merchants, a relationship strength between the pair of merchants further comprises:
determining the relationship strength by r ij = sign (T ij - ~ ij) ~ ~ 2ln .lambda.
where r ij is the relationship strength between merchant i and merchant j in a pair of merchants;
.lambda. is a log-likehood ratio;
T ij is the actual co-occurrence frequency of merchant i and merchant j in the transaction data;
and ~ ij is the expected co-occurrence frequency of merchant i and merchant j in the transaction data.
determining the relationship strength by r ij = sign (T ij - ~ ij) ~ ~ 2ln .lambda.
where r ij is the relationship strength between merchant i and merchant j in a pair of merchants;
.lambda. is a log-likehood ratio;
T ij is the actual co-occurrence frequency of merchant i and merchant j in the transaction data;
and ~ ij is the expected co-occurrence frequency of merchant i and merchant j in the transaction data.
11. The method of claim 8, wherein determining for each pair of merchant j a relationship strength between the pair of merchant j further comprises:
determining the relationship strength by where r ij is the relationship strength between merchant i and merchant j in a pair of merchant j .lambda. is a log-likehood ratio;
T ij is the actual co-occurrence frequency of merchant i and merchant j in the transaction data;
and ~ ij is the expected co-occurrence frequency of merchant i and merchant j in the transaction data.
determining the relationship strength by where r ij is the relationship strength between merchant i and merchant j in a pair of merchant j .lambda. is a log-likehood ratio;
T ij is the actual co-occurrence frequency of merchant i and merchant j in the transaction data;
and ~ ij is the expected co-occurrence frequency of merchant i and merchant j in the transaction data.
12. The method of claim 8, wherein updating each merchant vectors so that the actual dot products between each pair of merchant vectors approximates the desired dot product between the merchant vectors comprises a gradient descent update that updates the merchant vectors according to whether the actual dot product between them is greater or lesser than the desired dot product.
13. The method of claim 8, wherein updating each merchant vectors so that the actual dot products between each pair of merchant vectors approximates the desired dot product between the merchant vectors comprises determining for each merchant vector an error weighted average of the desired positions of the merchant vector from current position of each other merchant vector and the desired dot product between the merchant vector and each other merchant vector.
14. The method of claim 1, further comprising:
determining for each merchant name in the transaction data a merchant vector;
clustering the merchant vectors to form a plurality of merchant segments, wherein each merchant vector is associated with one and only one merchant segment;
for each merchant segment, determining from the transactions of consumers at the associated merchants of the merchant, statistical measures of consumer transactions in the segment.
determining for each merchant name in the transaction data a merchant vector;
clustering the merchant vectors to form a plurality of merchant segments, wherein each merchant vector is associated with one and only one merchant segment;
for each merchant segment, determining from the transactions of consumers at the associated merchants of the merchant, statistical measures of consumer transactions in the segment.
15. The method of claim 1, further comprising:
selecting a plurality of consumers associated with at least one merchant segment, the selected plurality selected according to their predicted spending in the merchant segment; and providing promotional offers to the selected plurality of consumers.
selecting a plurality of consumers associated with at least one merchant segment, the selected plurality selected according to their predicted spending in the merchant segment; and providing promotional offers to the selected plurality of consumers.
16. The method of claim 1, further comprising:
training each of the merchant segment predictive models to predict spending in a predicted time period based upon transaction statistics of the consumer's transactions in a past time period.
training each of the merchant segment predictive models to predict spending in a predicted time period based upon transaction statistics of the consumer's transactions in a past time period.
17. The method of claim 16, wherein the transaction statistics comprises variables describing the recency of the consumer's transactions in one or more merchant segments, the frequency of the consumer's transactions in one or more merchant segments, and the amount of the consumer's transactions in one or more merchant segments.
18. A system for predicting consumer financial behavior, comprising:
a plurality of merchant segments, each merchant segment having a set of merchants associated therewith;
a plurality of merchant segment predictive models, each model associated with one of the merchant segments for predicting spending by an individual consumer in the merchant segment in a predicted time period as a function of transaction statistics of the consumer for transactions in a prior time period; and a data processing module that receives transaction data for a consumer, and constructs the transaction statistics for the prior time period for input into selected ones of the merchant segment predictive models.
a plurality of merchant segments, each merchant segment having a set of merchants associated therewith;
a plurality of merchant segment predictive models, each model associated with one of the merchant segments for predicting spending by an individual consumer in the merchant segment in a predicted time period as a function of transaction statistics of the consumer for transactions in a prior time period; and a data processing module that receives transaction data for a consumer, and constructs the transaction statistics for the prior time period for input into selected ones of the merchant segment predictive models.
19. A system for forming merchant segments, comprising:
a data processing module that receives consumer transaction data for a plurality of consumer accounts, and organizes the transaction data by account, and within account, sequences the transactions by time;
a data processing module that determines from the sequenced transaction data an expected frequency of co-occurrence for each merchant, and that constructs for each merchant a merchant vector as a function of unexpected frequency of co-occurrences of the merchant; and a clustering module that clusters the merchant vectors into merchant segment by determining merchant vectors that are closely aligned with each other.
a data processing module that receives consumer transaction data for a plurality of consumer accounts, and organizes the transaction data by account, and within account, sequences the transactions by time;
a data processing module that determines from the sequenced transaction data an expected frequency of co-occurrence for each merchant, and that constructs for each merchant a merchant vector as a function of unexpected frequency of co-occurrences of the merchant; and a clustering module that clusters the merchant vectors into merchant segment by determining merchant vectors that are closely aligned with each other.
20. A method for determining whether two strings are substantially the same, comprising:
determining for each of a plurality of substrings a weight as a function of a frequency of the substring in a data set;
defining for each substring an orthogonal unit vector, using the plurality of substrings as the number of dimensions of the unit vectors;
for each of the two strings to be compared, defining a vector which is the sum of the unit vectors of all substrings in the string;
determining the dot product of the string vectors for the two strings; and determining the two strings to be substantially the same if the dot product exceeds a predetermined threshold.
determining for each of a plurality of substrings a weight as a function of a frequency of the substring in a data set;
defining for each substring an orthogonal unit vector, using the plurality of substrings as the number of dimensions of the unit vectors;
for each of the two strings to be compared, defining a vector which is the sum of the unit vectors of all substrings in the string;
determining the dot product of the string vectors for the two strings; and determining the two strings to be substantially the same if the dot product exceeds a predetermined threshold.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002619667A CA2619667A1 (en) | 1999-05-06 | 2000-05-04 | Predictive modeling of consumer financial behavior |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/306,237 | 1999-05-06 | ||
US09/306,237 US6430539B1 (en) | 1999-05-06 | 1999-05-06 | Predictive modeling of consumer financial behavior |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002619667A Division CA2619667A1 (en) | 1999-05-06 | 2000-05-04 | Predictive modeling of consumer financial behavior |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2307484A1 true CA2307484A1 (en) | 2000-11-06 |
Family
ID=23184422
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002307484A Expired - Lifetime CA2307484A1 (en) | 1999-05-06 | 2000-05-04 | Predictive modeling of consumer financial behavior |
CA002619667A Expired - Lifetime CA2619667A1 (en) | 1999-05-06 | 2000-05-04 | Predictive modeling of consumer financial behavior |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002619667A Expired - Lifetime CA2619667A1 (en) | 1999-05-06 | 2000-05-04 | Predictive modeling of consumer financial behavior |
Country Status (4)
Country | Link |
---|---|
US (6) | US6430539B1 (en) |
EP (1) | EP1050833A3 (en) |
JP (1) | JP4707797B2 (en) |
CA (2) | CA2307484A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138632B2 (en) * | 2008-03-17 | 2021-10-05 | Segmint Inc. | System and method for authenticating a customer for a pre-approved offer of credit |
US11232477B1 (en) * | 2013-07-30 | 2022-01-25 | Groupon, Inc. | Sourcing goods based on pre-feature analytics |
Families Citing this family (1062)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7096192B1 (en) | 1997-07-28 | 2006-08-22 | Cybersource Corporation | Method and system for detecting fraud in a credit card transaction over a computer network |
US7403922B1 (en) | 1997-07-28 | 2008-07-22 | Cybersource Corporation | Method and apparatus for evaluating fraud risk in an electronic commerce transaction |
US6141010A (en) * | 1998-07-17 | 2000-10-31 | B. E. Technology, Llc | Computer interface method and apparatus with targeted advertising |
US20010049620A1 (en) * | 2000-02-29 | 2001-12-06 | Blasko John P. | Privacy-protected targeting system |
US7035855B1 (en) * | 2000-07-06 | 2006-04-25 | Experian Marketing Solutions, Inc. | Process and system for integrating information from disparate databases for purposes of predicting consumer behavior |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
GB9902480D0 (en) * | 1999-02-05 | 1999-03-24 | Ncr Int Inc | Method and apparatus for advertising over a communications network |
US6904409B1 (en) * | 1999-06-01 | 2005-06-07 | Lucent Technologies Inc. | Method for constructing an updateable database of subject behavior patterns |
US7512542B1 (en) * | 1999-06-10 | 2009-03-31 | A.C. Nielsen (Us), Inc. | Method and system for market research data mining |
US7343319B1 (en) * | 1999-07-09 | 2008-03-11 | Walker Digital, Llc | Multi-tier pricing of individual products based on volume discounts |
US6505168B1 (en) * | 1999-08-16 | 2003-01-07 | First Usa Bank, Na | System and method for gathering and standardizing customer purchase information for target marketing |
AUPQ246899A0 (en) * | 1999-08-26 | 1999-09-16 | Memetrics | An automated communications management agent |
WO2001014952A2 (en) * | 1999-08-26 | 2001-03-01 | Memetrics Inc. | On-line experimentation |
US6556992B1 (en) * | 1999-09-14 | 2003-04-29 | Patent Ratings, Llc | Method and system for rating patents and other intangible assets |
US7424439B1 (en) * | 1999-09-22 | 2008-09-09 | Microsoft Corporation | Data mining for managing marketing resources |
GB2354609B (en) * | 1999-09-25 | 2003-07-16 | Ibm | Method and system for predicting transactions |
KR100530475B1 (en) | 1999-11-10 | 2006-01-09 | 론치 미디어, 인크. | Internet radio and broadcast method |
US7328171B2 (en) * | 1999-11-12 | 2008-02-05 | Hewlett-Packard Development Company, L.P. | System and method for ordering consumer items in electronic commerce |
US6804667B1 (en) * | 1999-11-30 | 2004-10-12 | Ncr Corporation | Filter for checking for duplicate entries in database |
US7103605B1 (en) * | 1999-12-10 | 2006-09-05 | A21, Inc. | Timeshared electronic catalog system and method |
US7010495B1 (en) * | 1999-12-29 | 2006-03-07 | General Electric Capital Corporation | Methods and systems for analyzing historical trends in marketing campaigns |
US7003476B1 (en) * | 1999-12-29 | 2006-02-21 | General Electric Capital Corporation | Methods and systems for defining targeted marketing campaigns using embedded models and historical data |
US6970830B1 (en) * | 1999-12-29 | 2005-11-29 | General Electric Capital Corporation | Methods and systems for analyzing marketing campaigns |
US6658391B1 (en) * | 1999-12-30 | 2003-12-02 | Gary A. Williams | Strategic profiling |
US6996612B1 (en) * | 1999-12-30 | 2006-02-07 | Vignette Corporation | Method of providing information related to activity of a user and a data processing system program product |
US8074256B2 (en) | 2000-01-07 | 2011-12-06 | Mcafee, Inc. | Pdstudio design system and method |
US20030036943A1 (en) * | 2000-01-20 | 2003-02-20 | Grant Alan W. H. | Constituency value exchange optimization method |
US6389467B1 (en) | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US20030093414A1 (en) * | 2000-11-14 | 2003-05-15 | Steve Litzow | System and method for dynamic price setting and facilitation of commercial transactions |
US20080154694A1 (en) * | 2006-12-20 | 2008-06-26 | Steve Litzow | System and method for dynamic price setting and facilitation of commercial transactions |
US20030018550A1 (en) * | 2000-02-22 | 2003-01-23 | Rotman Frank Lewis | Methods and systems for providing transaction data |
US7472072B2 (en) * | 2000-02-24 | 2008-12-30 | Twenty-Ten, Inc. | Systems and methods for targeting consumers attitudinally aligned with determined attitudinal segment definitions |
US20020062245A1 (en) * | 2000-03-09 | 2002-05-23 | David Niu | System and method for generating real-time promotions on an electronic commerce world wide website to increase the likelihood of purchase |
US8280773B2 (en) * | 2000-03-13 | 2012-10-02 | Intellions, Inc. | Method and apparatus for internet customer retention |
US7747465B2 (en) * | 2000-03-13 | 2010-06-29 | Intellions, Inc. | Determining the effectiveness of internet advertising |
US6611881B1 (en) * | 2000-03-15 | 2003-08-26 | Personal Data Network Corporation | Method and system of providing credit card user with barcode purchase data and recommendation automatically on their personal computer |
US20040177027A1 (en) * | 2000-03-31 | 2004-09-09 | Kazuhide Adachi | Method of establishing a system of a secondary market for disbursement information |
US6532467B1 (en) * | 2000-04-10 | 2003-03-11 | Sas Institute Inc. | Method for selecting node variables in a binary decision tree structure |
JP3904801B2 (en) * | 2000-04-21 | 2007-04-11 | 富士通株式会社 | Processing system and method for admission screening |
US7162482B1 (en) | 2000-05-03 | 2007-01-09 | Musicmatch, Inc. | Information retrieval engine |
US7024485B2 (en) | 2000-05-03 | 2006-04-04 | Yahoo! Inc. | System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback |
US8352331B2 (en) | 2000-05-03 | 2013-01-08 | Yahoo! Inc. | Relationship discovery engine |
AU2001261702B2 (en) * | 2000-05-22 | 2004-04-29 | International Business Machines Corporation | Revenue forecasting and sales force management using statistical analysis |
US7251687B1 (en) | 2000-06-02 | 2007-07-31 | Vignette Corporation | Method for click-stream analysis using web directory reverse categorization |
US6988082B1 (en) | 2000-06-13 | 2006-01-17 | Fannie Mae | Computerized systems and methods for facilitating the flow of capital through the housing finance industry |
US7593893B1 (en) | 2000-06-13 | 2009-09-22 | Fannie Mae | Computerized systems and methods for facilitating the flow of capital through the housing finance industry |
US7702580B1 (en) | 2000-06-13 | 2010-04-20 | Fannie Mae | System and method for mortgage loan pricing, sale and funding |
US7917647B2 (en) | 2000-06-16 | 2011-03-29 | Mcafee, Inc. | Method and apparatus for rate limiting |
US6792422B1 (en) * | 2000-06-19 | 2004-09-14 | Microsoft Corporation | Automatic categorization of financial transactions |
US7152039B1 (en) * | 2000-06-29 | 2006-12-19 | Oracle International Corporation | Methods and systems for customer lifecycle definition and categorization |
US7376618B1 (en) * | 2000-06-30 | 2008-05-20 | Fair Isaac Corporation | Detecting and measuring risk with predictive models using content mining |
US7249048B1 (en) * | 2000-06-30 | 2007-07-24 | Ncr Corporation | Incorporating predicrive models within interactive business analysis processes |
US6662215B1 (en) * | 2000-07-10 | 2003-12-09 | I Novation Inc. | System and method for content optimization |
US7272786B1 (en) | 2000-07-20 | 2007-09-18 | Vignette Corporation | Metadata, models, visualization and control |
US6862574B1 (en) * | 2000-07-27 | 2005-03-01 | Ncr Corporation | Method for customer segmentation with applications to electronic commerce |
US7130822B1 (en) * | 2000-07-31 | 2006-10-31 | Cognos Incorporated | Budget planning |
US6882977B1 (en) * | 2000-07-31 | 2005-04-19 | Hewlett-Packard Development Company, L.P. | Method and facility for displaying customer activity and value |
US7660869B1 (en) | 2000-08-21 | 2010-02-09 | Vignette Software, LLC | Network real estate analysis |
US7278105B1 (en) | 2000-08-21 | 2007-10-02 | Vignette Corporation | Visualization and analysis of user clickpaths |
US7333941B1 (en) * | 2000-09-08 | 2008-02-19 | Priceline.Com Incorporated | System and method for optimizing revenue and/or bookings from collected demand data in a buyer driven commerce system |
US20020065699A1 (en) * | 2000-09-14 | 2002-05-30 | Kalyan Talluri | General discrete choice model and optimization algorithm for revenue management |
CA2321144A1 (en) * | 2000-09-25 | 2002-03-25 | Philippe Lemay | System and method for inferring an individual's mental representations by successive comparisons of a list of items |
US6691136B2 (en) * | 2000-09-28 | 2004-02-10 | Fair Issac Corporation | Fast data retrieval based upon contiguous consolidation of records according to frequency of access |
US7831467B1 (en) | 2000-10-17 | 2010-11-09 | Jpmorgan Chase Bank, N.A. | Method and system for retaining customer loyalty |
US9819561B2 (en) | 2000-10-26 | 2017-11-14 | Liveperson, Inc. | System and methods for facilitating object assignments |
US20060015390A1 (en) * | 2000-10-26 | 2006-01-19 | Vikas Rijsinghani | System and method for identifying and approaching browsers most likely to transact business based upon real-time data mining |
US8868448B2 (en) | 2000-10-26 | 2014-10-21 | Liveperson, Inc. | Systems and methods to facilitate selling of products and services |
US8271333B1 (en) | 2000-11-02 | 2012-09-18 | Yahoo! Inc. | Content-related wallpaper |
US7991688B2 (en) * | 2000-11-14 | 2011-08-02 | Knowledge Works Inc. | Methods and apparatus for automatically exchanging credit information |
EP1342199A1 (en) * | 2000-11-15 | 2003-09-10 | Manugistics Atlanta, Inc. | Promotion pricing system and method |
US7287000B2 (en) * | 2000-11-15 | 2007-10-23 | Jda Software Group, Inc. | Configurable pricing optimization system |
IL146597A0 (en) * | 2001-11-20 | 2002-08-14 | Gordon Goren | Method and system for creating meaningful summaries from interrelated sets of information |
US20020078064A1 (en) * | 2000-12-18 | 2002-06-20 | Ncr Corporation | Data model for analysis of retail transactions using gaussian mixture models in a data mining system |
US9785953B2 (en) * | 2000-12-20 | 2017-10-10 | International Business Machines Corporation | System and method for generating demand groups |
US9773250B2 (en) * | 2000-12-20 | 2017-09-26 | International Business Machines Corporation | Product role analysis |
US7657470B1 (en) | 2000-12-20 | 2010-02-02 | Demandtec, Inc. | Financial model engine |
US7617119B1 (en) | 2000-12-20 | 2009-11-10 | Demandtec, Inc. | Price optimization with rule relaxation |
US7302410B1 (en) * | 2000-12-22 | 2007-11-27 | Demandtec, Inc. | Econometric optimization engine |
US7660734B1 (en) * | 2000-12-20 | 2010-02-09 | Demandtec, Inc. | System for creating optimized promotion event calendar |
US7523047B1 (en) | 2000-12-20 | 2009-04-21 | Demandtec, Inc. | Price optimization system |
US20100010870A1 (en) * | 2000-12-20 | 2010-01-14 | Karl Millar | System and Method for Tuning Demand Coefficients |
US7877286B1 (en) | 2000-12-20 | 2011-01-25 | Demandtec, Inc. | Subset optimization system |
US7899691B1 (en) | 2000-12-20 | 2011-03-01 | Demandtec, Inc. | Econometric engine |
US9165270B2 (en) * | 2000-12-20 | 2015-10-20 | International Business Machines Corporation | Predicting likelihood of customer attrition and retention measures |
US10204349B2 (en) | 2000-12-20 | 2019-02-12 | International Business Machines Corporation | Analyzing customer segments |
US10496938B2 (en) | 2000-12-20 | 2019-12-03 | Acoustic, L.P. | Generating product decisions |
US7363308B2 (en) * | 2000-12-28 | 2008-04-22 | Fair Isaac Corporation | System and method for obtaining keyword descriptions of records from a large database |
US7398270B1 (en) * | 2001-01-31 | 2008-07-08 | Choi Lawrence J | Method and system for clustering optimization and applications |
US7725423B1 (en) * | 2001-02-08 | 2010-05-25 | Teradata Us, Inc. | Analyzing associations in the order of transactions |
US7809650B2 (en) | 2003-07-01 | 2010-10-05 | Visa U.S.A. Inc. | Method and system for providing risk information in connection with transaction processing |
US20020123923A1 (en) * | 2001-03-01 | 2002-09-05 | Stefanos Manganaris | Method and system for assessing intrinsic customer value |
GB2373347B (en) * | 2001-03-07 | 2006-11-22 | Touch Clarity Ltd | Control system to actuate a robotic operating system |
GB2377772A (en) * | 2001-03-14 | 2003-01-22 | Mark Laycock | Method and system for operating a financial instrument |
US7899722B1 (en) * | 2001-03-20 | 2011-03-01 | Goldman Sachs & Co. | Correspondent bank registry |
US8121937B2 (en) | 2001-03-20 | 2012-02-21 | Goldman Sachs & Co. | Gaming industry risk management clearinghouse |
US20040193532A1 (en) * | 2001-03-20 | 2004-09-30 | David Lawrence | Insider trading risk management |
US20110131136A1 (en) * | 2001-03-20 | 2011-06-02 | David Lawrence | Risk Management Customer Registry |
US8140415B2 (en) * | 2001-03-20 | 2012-03-20 | Goldman Sachs & Co. | Automated global risk management |
US7958027B2 (en) * | 2001-03-20 | 2011-06-07 | Goldman, Sachs & Co. | Systems and methods for managing risk associated with a geo-political area |
US20040143446A1 (en) * | 2001-03-20 | 2004-07-22 | David Lawrence | Long term care risk management clearinghouse |
US20030225687A1 (en) * | 2001-03-20 | 2003-12-04 | David Lawrence | Travel related risk management clearinghouse |
US20020165755A1 (en) * | 2001-03-29 | 2002-11-07 | Kitts Brendan J. | Method of predicting behavior of a customer at a future date and a data processing system readable medium |
US20020143608A1 (en) * | 2001-03-30 | 2002-10-03 | Brown Robert G. | System and method for modifying a baseline to predict sales of products |
US20020143562A1 (en) * | 2001-04-02 | 2002-10-03 | David Lawrence | Automated legal action risk management |
US7305364B2 (en) * | 2001-04-06 | 2007-12-04 | General Electric Capital Corporation | Methods and systems for supplying customer leads to dealers |
US20050027629A1 (en) * | 2001-04-06 | 2005-02-03 | De Breed Anthony Jacques Louis | Method for obtaining data relating to the sentiment on a stock exchange |
US7028000B1 (en) * | 2001-04-09 | 2006-04-11 | I2 Technologies, Inc. | Estimating base sales volume using a low-pass filter approach |
US20020194062A1 (en) * | 2001-04-19 | 2002-12-19 | Leif Linde | Method and system for simulating the distribution of targeted advertising |
AUPR460001A0 (en) * | 2001-04-24 | 2001-05-24 | Canon Kabushiki Kaisha | Functional planning system |
US7058590B2 (en) * | 2001-05-04 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | System and method for generating conversion-related estimates utilizing adaptive sample size |
US20020169655A1 (en) * | 2001-05-10 | 2002-11-14 | Beyer Dirk M. | Global campaign optimization with promotion-specific customer segmentation |
US7428526B2 (en) * | 2001-05-29 | 2008-09-23 | Claritas, Inc. | Household level segmentation method and system |
US7865427B2 (en) | 2001-05-30 | 2011-01-04 | Cybersource Corporation | Method and apparatus for evaluating fraud risk in an electronic commerce transaction |
US20030004781A1 (en) * | 2001-06-18 | 2003-01-02 | Mallon Kenneth P. | Method and system for predicting aggregate behavior using on-line interest data |
US7437306B1 (en) * | 2001-06-19 | 2008-10-14 | Teradata Us, Inc. | Customer buying pattern detection in customer relationship management systems |
US7194477B1 (en) * | 2001-06-29 | 2007-03-20 | Revenue Science, Inc. | Optimized a priori techniques |
US20030009368A1 (en) * | 2001-07-06 | 2003-01-09 | Kitts Brendan J. | Method of predicting a customer's business potential and a data processing system readable medium including code for the method |
US20030020739A1 (en) * | 2001-07-26 | 2003-01-30 | Cohen Jeremy Stein | System and method for comparing populations of entities |
JP2003058697A (en) * | 2001-08-02 | 2003-02-28 | Ncr Internatl Inc | Integrating method using computer of prediction model in analytic environment of business |
US20040176994A1 (en) * | 2001-10-11 | 2004-09-09 | Fine Leslie R. | System and method for finance forecasting |
US20030163363A1 (en) * | 2001-10-19 | 2003-08-28 | Campagne Associates | Computerized prospect rating system and method |
US8458082B2 (en) * | 2001-11-13 | 2013-06-04 | Interthinx, Inc. | Automated loan risk assessment system and method |
US7689503B2 (en) * | 2001-11-13 | 2010-03-30 | Interthinx, Inc. | Predatory lending detection system and method therefor |
US20030097186A1 (en) * | 2001-11-13 | 2003-05-22 | Koninklijke Philips Electronics N.V | Method and apparatus for generating a stereotypical profile for recommending items of interest using feature-based clustering |
US7873566B1 (en) | 2001-11-20 | 2011-01-18 | First Data Corporation | Systems and methods for selectively accessing or using financial account data for subsequent risk determination |
US20030130919A1 (en) * | 2001-11-20 | 2003-07-10 | Randy Templeton | Systems and methods for selectively accessing financial account information |
US7809581B1 (en) | 2001-11-30 | 2010-10-05 | Demandtec, Inc. | Rule relaxation and subset optimization system |
US7689451B2 (en) * | 2001-12-12 | 2010-03-30 | Capital One Financial Corporation | Systems and methods for marketing financial products and services |
US20030126059A1 (en) * | 2001-12-18 | 2003-07-03 | Hensley Roy Austin | Intelectual property (IP) brokering system and method |
US7280974B2 (en) * | 2001-12-21 | 2007-10-09 | International Business Machines Corporation | Method and system for selecting potential purchasers using purchase history |
US7668776B1 (en) | 2002-01-07 | 2010-02-23 | First Data Corporation | Systems and methods for selective use of risk models to predict financial risk |
US7428509B2 (en) * | 2002-01-10 | 2008-09-23 | Mastercard International Incorporated | Method and system for detecting payment account fraud |
US7653590B1 (en) | 2002-01-14 | 2010-01-26 | First Data Corporation | System and method for overturning of risk evaluation performed by risk model to control financial risk |
FR2835632B1 (en) | 2002-02-06 | 2004-04-30 | France Telecom | SYSTEM FOR PREDICTIVE ANALYSIS OF TEMPORAL INFORMATION FLOWS |
US8620757B2 (en) * | 2002-02-20 | 2013-12-31 | Bank Of America, National Association | System for providing an online account statement having hyperlinks |
US7451065B2 (en) * | 2002-03-11 | 2008-11-11 | International Business Machines Corporation | Method for constructing segmentation-based predictive models |
WO2003081376A2 (en) * | 2002-03-20 | 2003-10-02 | Catalina Marketing International Inc. | Targeted incentives based upon predicted behavior |
US20030187728A1 (en) * | 2002-03-26 | 2003-10-02 | Rosenberg Martha Suzette | Method of advertising cosmetics and personal care products on behalf of third party businesses in establishments that provide lodging |
US8521619B2 (en) * | 2002-03-27 | 2013-08-27 | Autotrader.Com, Inc. | Computer-based system and method for determining a quantitative scarcity index value based on online computer search activities |
US7634423B2 (en) * | 2002-03-29 | 2009-12-15 | Sas Institute Inc. | Computer-implemented system and method for web activity assessment |
US20030187774A1 (en) * | 2002-04-01 | 2003-10-02 | Krishna Kummamuru | Auction scheduling |
US7707221B1 (en) | 2002-04-03 | 2010-04-27 | Yahoo! Inc. | Associating and linking compact disc metadata |
US7882127B2 (en) * | 2002-05-10 | 2011-02-01 | Oracle International Corporation | Multi-category support for apply output |
US9569797B1 (en) | 2002-05-30 | 2017-02-14 | Consumerinfo.Com, Inc. | Systems and methods of presenting simulated credit score information |
US9400589B1 (en) | 2002-05-30 | 2016-07-26 | Consumerinfo.Com, Inc. | Circular rotational interface for display of consumer credit information |
US7370002B2 (en) * | 2002-06-05 | 2008-05-06 | Microsoft Corporation | Modifying advertisement scores based on advertisement response probabilities |
US20060190318A1 (en) * | 2002-07-02 | 2006-08-24 | Downey Thimothy W | System and method for identifying and measuring performance discrepancies among sales territories |
US7603430B1 (en) | 2002-07-09 | 2009-10-13 | Vignette Corporation | System and method of associating events with requests |
US7627688B1 (en) | 2002-07-09 | 2009-12-01 | Vignette Corporation | Method and system for detecting gaps in a data stream |
US7461120B1 (en) * | 2002-07-09 | 2008-12-02 | Vignette Corporation | Method and system for identifying a visitor at a website server by requesting additional characteristic of a visitor computer from a visitor server |
US7617153B1 (en) | 2002-08-02 | 2009-11-10 | American Express Travel Related Services Company, Inc. | Global procurement bypass shutdown process and method |
US20040030667A1 (en) * | 2002-08-02 | 2004-02-12 | Capital One Financial Corporation | Automated systems and methods for generating statistical models |
US8010402B1 (en) | 2002-08-12 | 2011-08-30 | Videomining Corporation | Method for augmenting transaction data with visually extracted demographics of people using computer vision |
US20040064357A1 (en) * | 2002-09-26 | 2004-04-01 | Hunter Jeffrey D. | System and method for increasing the accuracy of forecasted consumer interest in products and services |
CN1685351A (en) * | 2002-09-30 | 2005-10-19 | 厄得塔姆公司 | Node-level modification during execution of an enterprise planning model |
US7072822B2 (en) * | 2002-09-30 | 2006-07-04 | Cognos Incorporated | Deploying multiple enterprise planning models across clusters of application servers |
US6768995B2 (en) * | 2002-09-30 | 2004-07-27 | Adaytum, Inc. | Real-time aggregation of data within an enterprise planning environment |
US7257612B2 (en) * | 2002-09-30 | 2007-08-14 | Cognos Incorporated | Inline compression of a network communication within an enterprise planning environment |
WO2004034217A2 (en) * | 2002-10-08 | 2004-04-22 | Omnicare, Inc. | System for assimilating and using pharmacy data |
US8069225B2 (en) * | 2003-04-14 | 2011-11-29 | Riverbed Technology, Inc. | Transparent client-server transaction accelerator |
US8176186B2 (en) | 2002-10-30 | 2012-05-08 | Riverbed Technology, Inc. | Transaction accelerator for client-server communications systems |
US8364815B2 (en) | 2005-03-18 | 2013-01-29 | Riverbed Technology, Inc. | Reliability and availability of distributed servers |
US8103538B2 (en) * | 2002-11-20 | 2012-01-24 | Walgreen Co. | Method and system for forecasting demand of a distribution center and related stores |
US7707059B2 (en) * | 2002-11-22 | 2010-04-27 | Accenture Global Services Gmbh | Adaptive marketing using insight driven customer interaction |
US7698163B2 (en) * | 2002-11-22 | 2010-04-13 | Accenture Global Services Gmbh | Multi-dimensional segmentation for use in a customer interaction |
US7437268B1 (en) | 2002-12-17 | 2008-10-14 | Vignette Corporation | Systems and methods for analyzing data |
US20040116102A1 (en) * | 2002-12-17 | 2004-06-17 | International Business Machines Corporation | Heuristics for behavior based life support services |
WO2004061561A2 (en) * | 2002-12-30 | 2004-07-22 | Fannie Mae | System and method for facilitating delivery of a loan to a secondary mortgage market purchaser |
US7742981B2 (en) * | 2002-12-30 | 2010-06-22 | Fannie Mae | Mortgage loan commitment system and method |
AU2003291140A1 (en) | 2002-12-30 | 2004-07-29 | Fannie Mae | System and method for facilitating sale of a loan to a secondary market purchaser |
AU2003297295A1 (en) | 2002-12-30 | 2004-07-29 | Fannie Mae | System and method of processing data pertaining to financial assets |
US8666879B1 (en) | 2002-12-30 | 2014-03-04 | Fannie Mae | Method and system for pricing forward commitments for mortgage loans and for buying committed loans |
US20040128236A1 (en) * | 2002-12-30 | 2004-07-01 | Brown Ron T. | Methods and apparatus for evaluating and using profitability of a credit card account |
WO2004061557A2 (en) | 2002-12-30 | 2004-07-22 | Fannie Mae | System and method for creating and tracking agreements for selling loans to a secondary market purchaser |
AU2003295771A1 (en) * | 2002-12-30 | 2004-07-29 | Fannie Mae | System and method for defining loan products |
US20040128230A1 (en) | 2002-12-30 | 2004-07-01 | Fannie Mae | System and method for modifying attribute data pertaining to financial assets in a data processing system |
US7593889B2 (en) * | 2002-12-30 | 2009-09-22 | Fannie Mae | System and method for processing data pertaining to financial assets |
US7885889B2 (en) | 2002-12-30 | 2011-02-08 | Fannie Mae | System and method for processing data pertaining to financial assets |
WO2004061564A2 (en) | 2002-12-30 | 2004-07-22 | Fannie Mae | System and method for pricing loans in the secondary mortgage market |
US20040141003A1 (en) * | 2003-01-21 | 2004-07-22 | Dell Products, L.P. | Maintaining a user interest profile reflecting changing interests of a customer |
US7587330B1 (en) * | 2003-01-31 | 2009-09-08 | Hewlett-Packard Development Company, L.P. | Method and system for constructing prediction interval based on historical forecast errors |
US7908159B1 (en) * | 2003-02-12 | 2011-03-15 | Teradata Us, Inc. | Method, data structure, and systems for customer segmentation models |
US7155398B2 (en) * | 2003-02-19 | 2006-12-26 | Cognos Incorporated | Cascaded planning of an enterprise planning model |
US7756901B2 (en) | 2003-02-19 | 2010-07-13 | International Business Machines Corporation | Horizontal enterprise planning in accordance with an enterprise planning model |
US20040177025A1 (en) * | 2003-02-27 | 2004-09-09 | Spoonhower Daniel J. | Real-time recommendations |
US20050198933A1 (en) * | 2004-03-15 | 2005-09-15 | Klein John A. | Deck for mowers |
US8554592B1 (en) * | 2003-03-13 | 2013-10-08 | Mastercard International Incorporated | Systems and methods for transaction-based profiling of customer behavior |
US20040204973A1 (en) * | 2003-04-14 | 2004-10-14 | Thomas Witting | Assigning customers to activities in marketing campaigns |
US20040204975A1 (en) * | 2003-04-14 | 2004-10-14 | Thomas Witting | Predicting marketing campaigns using customer-specific response probabilities and response values |
US8243636B2 (en) | 2003-05-06 | 2012-08-14 | Apple Inc. | Messaging system and service |
US6931309B2 (en) * | 2003-05-06 | 2005-08-16 | Innosurance, Inc. | Motor vehicle operating data collection and analysis |
US6976144B1 (en) * | 2003-05-06 | 2005-12-13 | Pegasystems, Inc. | Methods and apparatus for digital data processing with mutable inheritance |
US7458508B1 (en) | 2003-05-12 | 2008-12-02 | Id Analytics, Inc. | System and method for identity-based fraud detection |
US7562814B1 (en) | 2003-05-12 | 2009-07-21 | Id Analytics, Inc. | System and method for identity-based fraud detection through graph anomaly detection |
US7686214B1 (en) | 2003-05-12 | 2010-03-30 | Id Analytics, Inc. | System and method for identity-based fraud detection using a plurality of historical identity records |
US10521857B1 (en) | 2003-05-12 | 2019-12-31 | Symantec Corporation | System and method for identity-based fraud detection |
US8386377B1 (en) | 2003-05-12 | 2013-02-26 | Id Analytics, Inc. | System and method for credit scoring using an identity network connectivity |
CA2533007A1 (en) * | 2003-06-10 | 2005-01-06 | Citibank, N.A. | System and method for analyzing marketing efforts |
US8112458B1 (en) | 2003-06-17 | 2012-02-07 | AudienceScience Inc. | User segmentation user interface |
US7966333B1 (en) | 2003-06-17 | 2011-06-21 | AudienceScience Inc. | User segment population techniques |
US20050027597A1 (en) * | 2003-06-26 | 2005-02-03 | Peterson Michael W. | Method for establishing cooperative marketing groups |
US20050010477A1 (en) * | 2003-07-01 | 2005-01-13 | Blackbaud, Inc. | Segmenting and analyzing market data |
US8046298B1 (en) | 2003-07-21 | 2011-10-25 | Fannie Mae | Systems and methods for facilitating the flow of capital through the housing finance industry |
US8458033B2 (en) * | 2003-08-11 | 2013-06-04 | Dropbox, Inc. | Determining the relevance of offers |
US20090132347A1 (en) * | 2003-08-12 | 2009-05-21 | Russell Wayne Anderson | Systems And Methods For Aggregating And Utilizing Retail Transaction Records At The Customer Level |
CA2536105A1 (en) * | 2003-08-22 | 2005-03-03 | Mastercard International Incorporated | Methods and systems for predicting business behavior from profiling consumer card transactions |
US8175908B1 (en) | 2003-09-04 | 2012-05-08 | Jpmorgan Chase Bank, N.A. | Systems and methods for constructing and utilizing a merchant database derived from customer purchase transactions data |
WO2005026916A2 (en) | 2003-09-10 | 2005-03-24 | Musicmatch, Inc. | Music purchasing and playing system and method |
US20060015373A1 (en) * | 2003-09-10 | 2006-01-19 | Swiss Reinsurance Company | System and method for automated establishment of experience ratings and/or risk reserves |
KR20090039803A (en) * | 2003-09-15 | 2009-04-22 | 아브 이니티오 소프트웨어 엘엘시 | Data profiling |
US20060143075A1 (en) * | 2003-09-22 | 2006-06-29 | Ryan Carr | Assumed demographics, predicted behaviour, and targeted incentives |
US7698345B2 (en) * | 2003-10-21 | 2010-04-13 | The Nielsen Company (Us), Llc | Methods and apparatus for fusing databases |
US7706574B1 (en) | 2003-11-06 | 2010-04-27 | Admitone Security, Inc. | Identifying and protecting composed and transmitted messages utilizing keystroke dynamics |
US7925579B1 (en) | 2003-12-01 | 2011-04-12 | Fannie Mae | System and method for processing a loan |
US7657475B1 (en) | 2003-12-31 | 2010-02-02 | Fannie Mae | Property investment rating system and method |
US7822680B1 (en) | 2003-12-31 | 2010-10-26 | Fannie Mae | System and method for managing data pertaining to a plurality of financial assets for multifamily and housing developments |
USRE49562E1 (en) * | 2004-01-30 | 2023-06-27 | Applied Predictive Technologies, Inc. | Methods, systems, and articles of manufacture for determining optimal parameter settings for business initiative testing models |
US8521551B1 (en) * | 2004-02-06 | 2013-08-27 | Medco Health Solutions, Inc. | Systems and methods for analyzing spend and/or trend for a prescription drug plan |
US7873529B2 (en) * | 2004-02-20 | 2011-01-18 | Symphonyiri Group, Inc. | System and method for analyzing and correcting retail data |
US20050209907A1 (en) * | 2004-03-17 | 2005-09-22 | Williams Gary A | 3-D customer demand rating method and apparatus |
US20050209908A1 (en) * | 2004-03-17 | 2005-09-22 | Alan Weber | Method and computer program for efficiently identifying a group having a desired characteristic |
US20050216397A1 (en) * | 2004-03-26 | 2005-09-29 | Clearcommerce, Inc. | Method, system, and computer program product for processing a financial transaction request |
US7725300B2 (en) | 2004-04-16 | 2010-05-25 | Fortelligent, Inc. | Target profiling in predictive modeling |
US7499897B2 (en) * | 2004-04-16 | 2009-03-03 | Fortelligent, Inc. | Predictive model variable management |
US7933762B2 (en) | 2004-04-16 | 2011-04-26 | Fortelligent, Inc. | Predictive model generation |
US20050234761A1 (en) * | 2004-04-16 | 2005-10-20 | Pinto Stephen K | Predictive model development |
US8170841B2 (en) * | 2004-04-16 | 2012-05-01 | Knowledgebase Marketing, Inc. | Predictive model validation |
WO2005106656A2 (en) * | 2004-04-16 | 2005-11-10 | Fortelligent, Inc. | Predictive modeling |
US8165853B2 (en) * | 2004-04-16 | 2012-04-24 | Knowledgebase Marketing, Inc. | Dimension reduction in predictive model development |
US7562058B2 (en) * | 2004-04-16 | 2009-07-14 | Fortelligent, Inc. | Predictive model management using a re-entrant process |
US7730003B2 (en) * | 2004-04-16 | 2010-06-01 | Fortelligent, Inc. | Predictive model augmentation by variable transformation |
US20050240468A1 (en) * | 2004-04-21 | 2005-10-27 | Claritas, Inc. | Method and apparatus for population segmentation |
US20050240462A1 (en) * | 2004-04-21 | 2005-10-27 | Inman Kenneth L | Method and apparatus for population segmentation |
US20050261926A1 (en) * | 2004-05-24 | 2005-11-24 | Hartridge Andrew J | System and method for quantifying and communicating a quality of a subject entity between entities |
US7665063B1 (en) | 2004-05-26 | 2010-02-16 | Pegasystems, Inc. | Integration of declarative rule-based processing with procedural programming |
US20140214493A1 (en) * | 2004-05-28 | 2014-07-31 | Vendavo, Inc. | Systems and methods for waterfall adjustment analysis |
US20140214492A1 (en) * | 2004-05-28 | 2014-07-31 | Vendavo, Inc. | Systems and methods for price point analysis |
US7954698B1 (en) | 2004-06-02 | 2011-06-07 | Pliha Robert K | System and method for matching customers to financial products, services, and incentives based on bank account transaction activity |
US7835936B2 (en) * | 2004-06-05 | 2010-11-16 | Sap Ag | System and method for modeling customer response using data observable from customer buying decisions |
US20050283394A1 (en) * | 2004-06-21 | 2005-12-22 | Mcgloin Justin | Automated user evaluation and lifecycle management for digital products, services and content |
US20050284928A1 (en) * | 2004-06-25 | 2005-12-29 | Harrell Daniel C | Method and system for associating customer information with a customer identifier |
US8346593B2 (en) * | 2004-06-30 | 2013-01-01 | Experian Marketing Solutions, Inc. | System, method, and software for prediction of attitudinal and message responsiveness |
US8762191B2 (en) * | 2004-07-02 | 2014-06-24 | Goldman, Sachs & Co. | Systems, methods, apparatus, and schema for storing, managing and retrieving information |
US8996481B2 (en) * | 2004-07-02 | 2015-03-31 | Goldman, Sach & Co. | Method, system, apparatus, program code and means for identifying and extracting information |
US8510300B2 (en) | 2004-07-02 | 2013-08-13 | Goldman, Sachs & Co. | Systems and methods for managing information associated with legal, compliance and regulatory risk |
US8442953B2 (en) | 2004-07-02 | 2013-05-14 | Goldman, Sachs & Co. | Method, system, apparatus, program code and means for determining a redundancy of information |
US7213199B2 (en) * | 2004-07-16 | 2007-05-01 | Cognos Incorporated | Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store |
US7580921B2 (en) * | 2004-07-26 | 2009-08-25 | Google Inc. | Phrase identification in an information retrieval system |
US7580929B2 (en) * | 2004-07-26 | 2009-08-25 | Google Inc. | Phrase-based personalization of searches in an information retrieval system |
US7426507B1 (en) | 2004-07-26 | 2008-09-16 | Google, Inc. | Automatic taxonomy generation in search results using phrases |
US7702618B1 (en) | 2004-07-26 | 2010-04-20 | Google Inc. | Information retrieval system for archiving multiple document versions |
US7536408B2 (en) * | 2004-07-26 | 2009-05-19 | Google Inc. | Phrase-based indexing in an information retrieval system |
US7711679B2 (en) | 2004-07-26 | 2010-05-04 | Google Inc. | Phrase-based detection of duplicate documents in an information retrieval system |
US7584175B2 (en) * | 2004-07-26 | 2009-09-01 | Google Inc. | Phrase-based generation of document descriptions |
US7567959B2 (en) | 2004-07-26 | 2009-07-28 | Google Inc. | Multiple index based information retrieval system |
US7599914B2 (en) * | 2004-07-26 | 2009-10-06 | Google Inc. | Phrase-based searching in an information retrieval system |
US8126767B1 (en) * | 2004-08-09 | 2012-02-28 | Teradata Us, Inc. | System and method for tuning a segmented model representating product flow through a supply chain or manufacturing process |
US7870047B2 (en) * | 2004-09-17 | 2011-01-11 | International Business Machines Corporation | System, method for deploying computing infrastructure, and method for identifying customers at risk of revenue change |
US8732004B1 (en) | 2004-09-22 | 2014-05-20 | Experian Information Solutions, Inc. | Automated analysis of data to generate prospect notifications based on trigger events |
WO2006036150A1 (en) | 2004-09-28 | 2006-04-06 | Nielsen Media Research, Inc | Data classification methods and apparatus for use with data fusion |
US7620819B2 (en) * | 2004-10-04 | 2009-11-17 | The Penn State Research Foundation | System and method for classifying regions of keystroke density with a neural network |
US7792732B2 (en) | 2004-10-29 | 2010-09-07 | American Express Travel Related Services Company, Inc. | Using commercial share of wallet to rate investments |
US8630929B2 (en) | 2004-10-29 | 2014-01-14 | American Express Travel Related Services Company, Inc. | Using commercial share of wallet to make lending decisions |
US7840484B2 (en) | 2004-10-29 | 2010-11-23 | American Express Travel Related Services Company, Inc. | Credit score and scorecard development |
US8086509B2 (en) | 2004-10-29 | 2011-12-27 | American Express Travel Related Services Company, Inc. | Determining commercial share of wallet |
US7610243B2 (en) * | 2004-10-29 | 2009-10-27 | American Express Travel Related Services Company, Inc. | Method and apparatus for rating asset-backed securities |
US20060242050A1 (en) * | 2004-10-29 | 2006-10-26 | American Express Travel Related Services Company, Inc. | Method and apparatus for targeting best customers based on spend capacity |
US20070226114A1 (en) * | 2004-10-29 | 2007-09-27 | American Express Travel Related Services Co., Inc., A New York Corporation | Using commercial share of wallet to manage investments |
US20070016500A1 (en) * | 2004-10-29 | 2007-01-18 | American Express Travel Related Services Co., Inc. A New York Corporation | Using commercial share of wallet to determine insurance risk |
US7814004B2 (en) | 2004-10-29 | 2010-10-12 | American Express Travel Related Services Company, Inc. | Method and apparatus for development and use of a credit score based on spend capacity |
US20060242048A1 (en) * | 2004-10-29 | 2006-10-26 | American Express Travel Related Services Company, Inc. | Method and apparatus for determining credit characteristics of a consumer |
US7912770B2 (en) * | 2004-10-29 | 2011-03-22 | American Express Travel Related Services Company, Inc. | Method and apparatus for consumer interaction based on spend capacity |
US7822665B2 (en) * | 2004-10-29 | 2010-10-26 | American Express Travel Related Services Company, Inc. | Using commercial share of wallet in private equity investments |
US8543499B2 (en) * | 2004-10-29 | 2013-09-24 | American Express Travel Related Services Company, Inc. | Reducing risks related to check verification |
US7788147B2 (en) * | 2004-10-29 | 2010-08-31 | American Express Travel Related Services Company, Inc. | Method and apparatus for estimating the spend capacity of consumers |
US8204774B2 (en) | 2004-10-29 | 2012-06-19 | American Express Travel Related Services Company, Inc. | Estimating the spend capacity of consumer households |
US8326671B2 (en) | 2004-10-29 | 2012-12-04 | American Express Travel Related Services Company, Inc. | Using commercial share of wallet to analyze vendors in online marketplaces |
US8131614B2 (en) | 2004-10-29 | 2012-03-06 | American Express Travel Related Services Company, Inc. | Using commercial share of wallet to compile marketing company lists |
US20070244732A1 (en) | 2004-10-29 | 2007-10-18 | American Express Travel Related Services Co., Inc., A New York Corporation | Using commercial share of wallet to manage vendors |
US20070016501A1 (en) | 2004-10-29 | 2007-01-18 | American Express Travel Related Services Co., Inc., A New York Corporation | Using commercial share of wallet to rate business prospects |
US8326672B2 (en) * | 2004-10-29 | 2012-12-04 | American Express Travel Related Services Company, Inc. | Using commercial share of wallet in financial databases |
US7797197B2 (en) * | 2004-11-12 | 2010-09-14 | Amazon Technologies, Inc. | Method and system for analyzing the performance of affiliate sites |
US20060143071A1 (en) * | 2004-12-14 | 2006-06-29 | Hsbc North America Holdings Inc. | Methods, systems and mediums for scoring customers for marketing |
US7725345B2 (en) * | 2004-12-17 | 2010-05-25 | Sony Ericsson Mobile Communications Ab | Method and system to manage achieving an objective |
US20060140381A1 (en) * | 2004-12-29 | 2006-06-29 | Marian Croak | Method and apparatus for segmenting communication network customers into service tiers |
US20060149674A1 (en) * | 2004-12-30 | 2006-07-06 | Mike Cook | System and method for identity-based fraud detection for transactions using a plurality of historical identity records |
WO2006075032A1 (en) * | 2005-01-05 | 2006-07-20 | Musicstrands, S.A.U. | System and method for recommending multimedia elements |
US7917387B2 (en) * | 2005-01-07 | 2011-03-29 | Kayak Software Corporation | Individualized marketing to improve capacity utilization |
US20060161487A1 (en) * | 2005-01-18 | 2006-07-20 | Hsbc North America Holdings Inc. | Method for establishing lines of credit |
US8335704B2 (en) | 2005-01-28 | 2012-12-18 | Pegasystems Inc. | Methods and apparatus for work management and routing |
US10719859B2 (en) | 2005-01-28 | 2020-07-21 | Wells Fargo Bank, N.A. | Electronic bill pay and bill presentment account number treatment system and method |
US7693887B2 (en) * | 2005-02-01 | 2010-04-06 | Strands, Inc. | Dynamic identification of a new set of media items responsive to an input mediaset |
EP1849099B1 (en) | 2005-02-03 | 2014-05-07 | Apple Inc. | Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics |
EP1844386A4 (en) | 2005-02-04 | 2009-11-25 | Strands Inc | System for browsing through a music catalog using correlation metrics of a knowledge base of mediasets |
US20060248194A1 (en) | 2005-03-18 | 2006-11-02 | Riverbed Technology, Inc. | Connection forwarding |
US20060224558A1 (en) * | 2005-03-24 | 2006-10-05 | Flora John R | Associating multiple categories with single payee or payor in financial software application |
US20060218087A1 (en) * | 2005-03-24 | 2006-09-28 | Zimmerman Jeffrey P | Automated aggregation and comparison of individual spending relative to population of similar users |
US20060218088A1 (en) * | 2005-03-24 | 2006-09-28 | Flora John R | Intelligent auto-fill transaction data |
US20060224435A1 (en) * | 2005-04-01 | 2006-10-05 | Male Kenneth F | Method and system for quantifying relative immediacy of events and likelihood of occurrence |
US20060229866A1 (en) * | 2005-04-07 | 2006-10-12 | Business Objects, S.A. | Apparatus and method for deterministically constructing a text question for application to a data source |
US7809752B1 (en) | 2005-04-14 | 2010-10-05 | AudienceScience Inc. | Representing user behavior information |
US7676467B1 (en) | 2005-04-14 | 2010-03-09 | AudienceScience Inc. | User segment population techniques |
EP1926027A1 (en) * | 2005-04-22 | 2008-05-28 | Strands Labs S.A. | System and method for acquiring and aggregating data relating to the reproduction of multimedia files or elements |
US20060257834A1 (en) * | 2005-05-10 | 2006-11-16 | Lee Linda M | Quantitative EEG as an identifier of learning modality |
US20060259348A1 (en) * | 2005-05-10 | 2006-11-16 | Youbet.Com, Inc. | System and Methods of Calculating Growth of Subscribers and Income From Subscribers |
US8214310B2 (en) * | 2005-05-18 | 2012-07-03 | International Business Machines Corporation | Cross descriptor learning system, method and program product therefor |
BRPI0520270B1 (en) | 2005-06-01 | 2019-10-01 | Allstate Insurance Company | EVALUATION METHOD OF AT LEAST ONE INDIVIDUAL |
US20060277102A1 (en) * | 2005-06-06 | 2006-12-07 | Better, Inc. | System and Method for Generating Effective Advertisements in Electronic Commerce |
US7801809B1 (en) | 2005-06-24 | 2010-09-21 | Fannie Mae | System and method for management of delegated real estate project reviews |
US7818208B1 (en) | 2005-06-28 | 2010-10-19 | Google Inc. | Accurately estimating advertisement performance |
US20070027703A1 (en) * | 2005-07-28 | 2007-02-01 | Jianying Hu | Method and system for determining offering combinations in a multi-product environment |
JP4878131B2 (en) * | 2005-08-04 | 2012-02-15 | 株式会社エヌ・ティ・ティ・ドコモ | User behavior estimation system and user behavior estimation method |
US20070033227A1 (en) * | 2005-08-08 | 2007-02-08 | Gaito Robert G | System and method for rescoring names in mailing list |
JP5065275B2 (en) * | 2005-09-02 | 2012-10-31 | エムセンス コーポレイション | Apparatus and method for detecting electrical activity in an organization |
US8738732B2 (en) | 2005-09-14 | 2014-05-27 | Liveperson, Inc. | System and method for performing follow up based on user interactions |
US9432468B2 (en) | 2005-09-14 | 2016-08-30 | Liveperson, Inc. | System and method for design and dynamic generation of a web page |
US7912755B2 (en) * | 2005-09-23 | 2011-03-22 | Pronto, Inc. | Method and system for identifying product-related information on a web page |
US7716226B2 (en) | 2005-09-27 | 2010-05-11 | Patentratings, Llc | Method and system for probabilistically quantifying and visualizing relevance between two or more citationally or contextually related data objects |
US20090070267A9 (en) * | 2005-09-30 | 2009-03-12 | Musicstrands, Inc. | User programmed media delivery service |
US7877387B2 (en) * | 2005-09-30 | 2011-01-25 | Strands, Inc. | Systems and methods for promotional media item selection and promotional program unit generation |
WO2007041709A1 (en) * | 2005-10-04 | 2007-04-12 | Basepoint Analytics Llc | System and method of detecting fraud |
CN1870025B (en) * | 2005-10-14 | 2012-07-04 | 华为技术有限公司 | Generating method and device of user service property |
US20080222015A1 (en) * | 2005-10-24 | 2008-09-11 | Megdal Myles G | Method and apparatus for development and use of a credit score based on spend capacity |
US20080228541A1 (en) * | 2005-10-24 | 2008-09-18 | Megdal Myles G | Using commercial share of wallet in private equity investments |
US20080222016A1 (en) * | 2005-10-24 | 2008-09-11 | Megdal Myles G | Using commercial share of wallet to manage investments |
US20080221970A1 (en) * | 2005-10-24 | 2008-09-11 | Megdal Myles G | Method and apparatus for targeting best customers based on spend capacity |
US20080221971A1 (en) * | 2005-10-24 | 2008-09-11 | Megdal Myles G | Using commercial share of wallet to rate business prospects |
US20080221947A1 (en) * | 2005-10-24 | 2008-09-11 | Megdal Myles G | Using commercial share of wallet to make lending decisions |
US20080243680A1 (en) * | 2005-10-24 | 2008-10-02 | Megdal Myles G | Method and apparatus for rating asset-backed securities |
US20080033852A1 (en) * | 2005-10-24 | 2008-02-07 | Megdal Myles G | Computer-based modeling of spending behaviors of entities |
US20080228540A1 (en) * | 2005-10-24 | 2008-09-18 | Megdal Myles G | Using commercial share of wallet to compile marketing company lists |
US20080228539A1 (en) * | 2005-10-24 | 2008-09-18 | Megdal Myles G | Using commercial share of wallet to manage vendors |
US20080221973A1 (en) * | 2005-10-24 | 2008-09-11 | Megdal Myles G | Using commercial share of wallet to rate investments |
US20080221972A1 (en) * | 2005-10-24 | 2008-09-11 | Megdal Myles G | Method and apparatus for determining credit characteristics of a consumer |
US7860783B2 (en) * | 2005-11-07 | 2010-12-28 | Fair Isaac Corporation | Account-level fraud detector and associated methods |
US8429184B2 (en) * | 2005-12-05 | 2013-04-23 | Collarity Inc. | Generation of refinement terms for search queries |
EP2437158A1 (en) * | 2005-12-19 | 2012-04-04 | Apple Inc. | User-to-user recommender |
US20070162546A1 (en) * | 2005-12-22 | 2007-07-12 | Musicstrands, Inc. | Sharing tags among individual user media libraries |
US8020005B2 (en) * | 2005-12-23 | 2011-09-13 | Scout Analytics, Inc. | Method and apparatus for multi-model hybrid comparison system |
US20070156887A1 (en) * | 2005-12-30 | 2007-07-05 | Daniel Wright | Predicting ad quality |
US20070157228A1 (en) | 2005-12-30 | 2007-07-05 | Jason Bayer | Advertising with video ad creatives |
US10600090B2 (en) | 2005-12-30 | 2020-03-24 | Google Llc | Query feature based data structure retrieval of predicted values |
US7827060B2 (en) * | 2005-12-30 | 2010-11-02 | Google Inc. | Using estimated ad qualities for ad filtering, ranking and promotion |
US8065184B2 (en) * | 2005-12-30 | 2011-11-22 | Google Inc. | Estimating ad quality from observed user behavior |
US8177121B2 (en) * | 2006-01-13 | 2012-05-15 | Intuit Inc. | Automated aggregation and comparison of business spending relative to similar businesses |
US20070244880A1 (en) * | 2006-02-03 | 2007-10-18 | Francisco Martin | Mediaset generation system |
US20070198712A1 (en) * | 2006-02-07 | 2007-08-23 | Biopassword, Inc. | Method and apparatus for biometric security over a distributed network |
WO2007092053A1 (en) * | 2006-02-10 | 2007-08-16 | Strands, Inc. | Dynamic interactive entertainment |
EP2024811A4 (en) | 2006-02-10 | 2010-11-10 | Strands Inc | Systems and methods for prioritizing mobile media player files |
WO2007096876A2 (en) * | 2006-02-21 | 2007-08-30 | Massive Impact International Limited | Return rate optimization system and method for promotions |
US9129290B2 (en) * | 2006-02-22 | 2015-09-08 | 24/7 Customer, Inc. | Apparatus and method for predicting customer behavior |
US8396741B2 (en) | 2006-02-22 | 2013-03-12 | 24/7 Customer, Inc. | Mining interactions to manage customer experience throughout a customer service lifecycle |
US7761321B2 (en) * | 2006-02-22 | 2010-07-20 | 24/7 Customer, Inc. | System and method for customer requests and contact management |
US9858579B1 (en) | 2006-02-28 | 2018-01-02 | International Business Machines Corporation | Plan tuning engine |
US9785951B1 (en) | 2006-02-28 | 2017-10-10 | International Business Machines Corporation | Scalable tuning engine |
US9300920B2 (en) * | 2006-03-03 | 2016-03-29 | Sharp Laboratories Of America, Inc. | Method and system for configuring media-playing sets |
US7640222B2 (en) * | 2006-03-03 | 2009-12-29 | Pegasystems Inc. | Rules base systems and methods with circumstance translation |
US20070283389A1 (en) * | 2006-06-01 | 2007-12-06 | Sharp Laboratories Of America, Inc. | Method and system for helping operate a media-playing set |
US8521611B2 (en) | 2006-03-06 | 2013-08-27 | Apple Inc. | Article trading among members of a community |
US20070213992A1 (en) * | 2006-03-07 | 2007-09-13 | International Business Machines Corporation | Verifying a usage of a transportation resource |
US7711636B2 (en) * | 2006-03-10 | 2010-05-04 | Experian Information Solutions, Inc. | Systems and methods for analyzing data |
US8000995B2 (en) * | 2006-03-22 | 2011-08-16 | Sas Institute Inc. | System and method for assessing customer segmentation strategies |
US7966256B2 (en) | 2006-09-22 | 2011-06-21 | Corelogic Information Solutions, Inc. | Methods and systems of predicting mortgage payment risk |
US7587348B2 (en) * | 2006-03-24 | 2009-09-08 | Basepoint Analytics Llc | System and method of detecting mortgage related fraud |
US7747526B1 (en) | 2006-03-27 | 2010-06-29 | Fannie Mae | System and method for transferring mortgage loan servicing rights |
US8504575B2 (en) * | 2006-03-29 | 2013-08-06 | Yahoo! Inc. | Behavioral targeting system |
US8438170B2 (en) * | 2006-03-29 | 2013-05-07 | Yahoo! Inc. | Behavioral targeting system that generates user profiles for target objectives |
US20070233902A1 (en) * | 2006-03-30 | 2007-10-04 | Alan Trefler | User interface methods and apparatus for rules processing |
US8924335B1 (en) | 2006-03-30 | 2014-12-30 | Pegasystems Inc. | Rule-based user interface conformance methods |
US20090132232A1 (en) * | 2006-03-30 | 2009-05-21 | Pegasystems Inc. | Methods and apparatus for implementing multilingual software applications |
US7526412B2 (en) * | 2006-03-31 | 2009-04-28 | Biopassword, Inc. | Method and apparatus for multi-distant weighted scoring system |
US20070245373A1 (en) * | 2006-03-31 | 2007-10-18 | Sharp Laboratories Of America, Inc. | Method for configuring media-playing sets |
US20070233667A1 (en) * | 2006-04-01 | 2007-10-04 | Biopassword, Llc | Method and apparatus for sample categorization |
US8600916B2 (en) * | 2006-04-21 | 2013-12-03 | International Business Machines Corporation | Office system content prediction based on regular expression pattern analysis |
US10345922B2 (en) | 2006-04-21 | 2019-07-09 | International Business Machines Corporation | Office system prediction configuration sharing |
US20070265905A1 (en) * | 2006-05-10 | 2007-11-15 | Microsoft Corporation | Agent for discovering relevant content |
US8463843B2 (en) * | 2006-05-26 | 2013-06-11 | Riverbed Technology, Inc. | Throttling of predictive ACKs in an accelerated network communication system |
US7849030B2 (en) | 2006-05-31 | 2010-12-07 | Hartford Fire Insurance Company | Method and system for classifying documents |
US7690564B2 (en) * | 2006-06-13 | 2010-04-06 | American Express Travel Related Services Company, Inc. | Automatic classification of credit card customers |
US7814098B2 (en) * | 2006-06-14 | 2010-10-12 | Yakov Kamen | Method and apparatus for keyword mass generation |
US20070294154A1 (en) * | 2006-06-16 | 2007-12-20 | Caterpillar Inc. | Financial recommendation method for a business entity |
US20070300077A1 (en) * | 2006-06-26 | 2007-12-27 | Seshadri Mani | Method and apparatus for biometric verification of secondary authentications |
US9251222B2 (en) * | 2006-06-29 | 2016-02-02 | International Business Machines Corporation | Abstracted dynamic report definition generation for use within information technology infrastructure |
US8712965B2 (en) * | 2006-06-29 | 2014-04-29 | International Business Machines Corporation | Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse |
US7992086B2 (en) * | 2006-06-30 | 2011-08-02 | Sharp Laboratories Of America, Inc. | System and method for adjusting a media-playing set |
US10152736B2 (en) * | 2006-07-06 | 2018-12-11 | Fair Isaac Corporation | Auto adaptive anomaly detection system for streams |
US20080015910A1 (en) * | 2006-07-11 | 2008-01-17 | Claudia Reisz | Ranking-based method and system for evaluating customer predication models |
US7617156B1 (en) * | 2006-07-14 | 2009-11-10 | Carreker Corporation | Method for minimizing overdraft charge-off |
US9489680B2 (en) | 2011-02-04 | 2016-11-08 | American Express Travel Related Services Company, Inc. | Systems and methods for providing location based coupon-less offers to registered card members |
US9767467B2 (en) | 2006-07-18 | 2017-09-19 | American Express Travel Related Services Company, Inc. | System and method for providing coupon-less discounts based on a user broadcasted message |
US9430773B2 (en) | 2006-07-18 | 2016-08-30 | American Express Travel Related Services Company, Inc. | Loyalty incentive program using transaction cards |
US9613361B2 (en) * | 2006-07-18 | 2017-04-04 | American Express Travel Related Services Company, Inc. | System and method for E-mail based rewards |
US9934537B2 (en) | 2006-07-18 | 2018-04-03 | American Express Travel Related Services Company, Inc. | System and method for providing offers through a social media channel |
US20110264490A1 (en) | 2006-07-18 | 2011-10-27 | American Express Travel Related Services Company, Inc. | System and method for administering marketing programs |
US9558505B2 (en) | 2006-07-18 | 2017-01-31 | American Express Travel Related Services Company, Inc. | System and method for prepaid rewards |
US9542690B2 (en) | 2006-07-18 | 2017-01-10 | American Express Travel Related Services Company, Inc. | System and method for providing international coupon-less discounts |
US8589523B2 (en) | 2006-08-08 | 2013-11-19 | Sharp Laboratories Of America, Inc. | Personalized assistance with setup of a media-playing set |
US20080040430A1 (en) * | 2006-08-10 | 2008-02-14 | Sharp Laboratories Of America, Inc. | System and method to facilitate operating a media-playing set |
CA2660493A1 (en) | 2006-08-17 | 2008-02-21 | Experian Information Solutions, Inc. | System and method for providing a score for a used vehicle |
US20080065395A1 (en) * | 2006-08-25 | 2008-03-13 | Ferguson Eric J | Intelligent marketing system and method |
US20080065462A1 (en) * | 2006-08-25 | 2008-03-13 | International Business Machines Corporation | Determining which potential customers to solicit for new product or service |
US20080066067A1 (en) * | 2006-09-07 | 2008-03-13 | Cognos Incorporated | Enterprise performance management software system having action-based data capture |
US20080065476A1 (en) * | 2006-09-07 | 2008-03-13 | Loyalty Builders, Inc. | Online direct marketing system |
US20080065464A1 (en) * | 2006-09-07 | 2008-03-13 | Mark Klein | Predicting response rate |
US20080071630A1 (en) * | 2006-09-14 | 2008-03-20 | J.J. Donahue & Company | Automatic classification of prospects |
US7801836B2 (en) | 2006-09-27 | 2010-09-21 | Infosys Technologies Ltd. | Automated predictive data mining model selection using a genetic algorithm |
US9087335B2 (en) * | 2006-09-29 | 2015-07-21 | American Express Travel Related Services Company, Inc. | Multidimensional personal behavioral tomography |
US20080082373A1 (en) * | 2006-10-03 | 2008-04-03 | American Express Travel Related Services Co., Inc. | System and method for improved itinerary providing merchant information |
US8036979B1 (en) | 2006-10-05 | 2011-10-11 | Experian Information Solutions, Inc. | System and method for generating a finance attribute from tradeline data |
US8812351B2 (en) * | 2006-10-05 | 2014-08-19 | Richard Zollino | Method of analyzing credit card transaction data |
US8442972B2 (en) * | 2006-10-11 | 2013-05-14 | Collarity, Inc. | Negative associations for search results ranking and refinement |
US7599898B2 (en) * | 2006-10-17 | 2009-10-06 | International Business Machines Corporation | Method and apparatus for improved regression modeling |
JP2010507843A (en) * | 2006-10-20 | 2010-03-11 | ストランズ インコーポレイテッド | Personal music recommendation mapping |
US20080100708A1 (en) * | 2006-10-30 | 2008-05-01 | Coffey Timothy J | System and Method for Obtaining Consumer Information |
US20080109348A1 (en) * | 2006-11-02 | 2008-05-08 | Hsbc Finance Corporation | Credit System with Over-Limit Analysis |
US8025220B2 (en) * | 2006-11-10 | 2011-09-27 | Fair Isaac Corporation | Cardholder localization based on transaction data |
US7657569B1 (en) | 2006-11-28 | 2010-02-02 | Lower My Bills, Inc. | System and method of removing duplicate leads |
US20110106607A1 (en) * | 2006-11-30 | 2011-05-05 | Chris Alfonso | Techniques For Targeted Offers |
US8239250B2 (en) | 2006-12-01 | 2012-08-07 | American Express Travel Related Services Company, Inc. | Industry size of wallet |
US7778885B1 (en) | 2006-12-04 | 2010-08-17 | Lower My Bills, Inc. | System and method of enhancing leads |
US8281990B2 (en) * | 2006-12-07 | 2012-10-09 | Smart Systems Innovations, Llc | Public transit system fare processor for transfers |
US7913901B2 (en) * | 2006-12-07 | 2011-03-29 | American Express Travel Related Services Company, Inc. | Spend diagnostics and lead management |
WO2008067618A1 (en) * | 2006-12-08 | 2008-06-12 | Crosssell Pty Ltd | Methods and systems for providing on-demand data and for analysing customer requirements |
US7953627B2 (en) * | 2006-12-12 | 2011-05-31 | American Express Travel Related Services Company, Inc. | Identifying industry segments with highest potential for new customers or new spending for current customers |
US9754273B2 (en) * | 2006-12-19 | 2017-09-05 | Microsoft Technology Licensing, Llc | Enterprise resource tracking of knowledge |
US8010403B2 (en) * | 2006-12-29 | 2011-08-30 | American Express Travel Related Services Company, Inc. | System and method for targeting transaction account product holders to receive upgraded transaction account products |
US7617194B2 (en) * | 2006-12-29 | 2009-11-10 | Microsoft Corporation | Supervised ranking of vertices of a directed graph |
US20080178214A1 (en) * | 2007-01-19 | 2008-07-24 | Sharp Laboratories Of America, Inc. | Context relevant controls |
US7647326B2 (en) * | 2007-01-29 | 2010-01-12 | Sharp Laboratories Of America, Inc. | Method and system for evaluating media-playing sets |
US8606626B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | Systems and methods for providing a direct marketing campaign planning environment |
US8606666B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | System and method for providing an aggregation tool |
US20080221978A1 (en) * | 2007-02-26 | 2008-09-11 | Samuel Richard I | Microscale geospatial graphic analysis of voter characteristics for precise voter targeting |
US8250525B2 (en) | 2007-03-02 | 2012-08-21 | Pegasystems Inc. | Proactive performance management for multi-user enterprise software systems |
US9215996B2 (en) * | 2007-03-02 | 2015-12-22 | The Nielsen Company (Us), Llc | Apparatus and method for objectively determining human response to media |
US20090253996A1 (en) * | 2007-03-02 | 2009-10-08 | Lee Michael J | Integrated Sensor Headset |
US8230457B2 (en) | 2007-03-07 | 2012-07-24 | The Nielsen Company (Us), Llc. | Method and system for using coherence of biological responses as a measure of performance of a media |
US20090070798A1 (en) * | 2007-03-02 | 2009-03-12 | Lee Hans C | System and Method for Detecting Viewer Attention to Media Delivery Devices |
US8473044B2 (en) * | 2007-03-07 | 2013-06-25 | The Nielsen Company (Us), Llc | Method and system for measuring and ranking a positive or negative response to audiovisual or interactive media, products or activities using physiological signals |
US20080221969A1 (en) * | 2007-03-07 | 2008-09-11 | Emsense Corporation | Method And System For Measuring And Ranking A "Thought" Response To Audiovisual Or Interactive Media, Products Or Activities Using Physiological Signals |
US8782681B2 (en) * | 2007-03-08 | 2014-07-15 | The Nielsen Company (Us), Llc | Method and system for rating media and events in media based on physiological data |
US8764652B2 (en) * | 2007-03-08 | 2014-07-01 | The Nielson Company (US), LLC. | Method and system for measuring and ranking an “engagement” response to audiovisual or interactive media, products, or activities using physiological signals |
US20080228685A1 (en) * | 2007-03-13 | 2008-09-18 | Sharp Laboratories Of America, Inc. | User intent prediction |
US8055536B1 (en) | 2007-03-21 | 2011-11-08 | Qurio Holdings, Inc. | Automated real-time secure user data sourcing |
US8655381B2 (en) * | 2007-03-23 | 2014-02-18 | Mastercard International Incorporated | Method and apparatus for merchant search and offer presentation |
US7702614B1 (en) | 2007-03-30 | 2010-04-20 | Google Inc. | Index updating using segment swapping |
US7693813B1 (en) | 2007-03-30 | 2010-04-06 | Google Inc. | Index server architecture using tiered and sharded phrase posting lists |
US8166045B1 (en) | 2007-03-30 | 2012-04-24 | Google Inc. | Phrase extraction using subphrase scoring |
US8086594B1 (en) | 2007-03-30 | 2011-12-27 | Google Inc. | Bifurcated document relevance scoring |
US7925655B1 (en) | 2007-03-30 | 2011-04-12 | Google Inc. | Query scheduling using hierarchical tiers of index servers |
US8166021B1 (en) | 2007-03-30 | 2012-04-24 | Google Inc. | Query phrasification |
US7975299B1 (en) | 2007-04-05 | 2011-07-05 | Consumerinfo.Com, Inc. | Child identity monitor |
WO2008127288A1 (en) | 2007-04-12 | 2008-10-23 | Experian Information Solutions, Inc. | Systems and methods for determining thin-file records and determining thin-file risk levels |
US8010502B2 (en) | 2007-04-13 | 2011-08-30 | Harris Corporation | Methods and systems for data recovery |
US20100106586A1 (en) * | 2007-04-17 | 2010-04-29 | American Express Travel Related Services Company, Inc. | System and method for determining positive consumer behavior based upon structural risk |
BRPI0810369B8 (en) | 2007-04-17 | 2019-05-28 | Visa Usa Inc | method, computer readable medium, directory server, and telephone |
US8671000B2 (en) | 2007-04-24 | 2014-03-11 | Apple Inc. | Method and arrangement for providing content to multimedia devices |
US8521542B1 (en) | 2007-05-24 | 2013-08-27 | United Services Automobile Association (Usaa) | Systems and methods for classifying account data using artificial neural networks |
US20080294492A1 (en) * | 2007-05-24 | 2008-11-27 | Irina Simpson | Proactively determining potential evidence issues for custodial systems in active litigation |
WO2008147918A2 (en) | 2007-05-25 | 2008-12-04 | Experian Information Solutions, Inc. | System and method for automated detection of never-pay data sets |
US20080300984A1 (en) * | 2007-05-29 | 2008-12-04 | Lehmann Li | Methods and apparatuses related to the offer of purchase incentives |
US9286639B1 (en) * | 2007-05-30 | 2016-03-15 | Intuit Inc. | System and method for providing price information |
EP2168089A4 (en) * | 2007-06-14 | 2020-09-09 | The Nielsen Company (US), LLC | Methods and apparatus to weight incomplete respondent data |
BRPI0815494A2 (en) * | 2007-08-14 | 2015-07-14 | Visa Usa Inc | Method implemented by computer, and, system. |
US8376952B2 (en) * | 2007-09-07 | 2013-02-19 | The Nielsen Company (Us), Llc. | Method and apparatus for sensing blood oxygen |
US8117223B2 (en) | 2007-09-07 | 2012-02-14 | Google Inc. | Integrating external related phrase information into a phrase-based indexing information retrieval system |
US8086524B1 (en) | 2007-09-10 | 2011-12-27 | Patrick James Craig | Systems and methods for transaction processing and balance transfer processing |
US20090099920A1 (en) * | 2007-09-11 | 2009-04-16 | Asaf Aharoni | Data Mining |
US8301574B2 (en) | 2007-09-17 | 2012-10-30 | Experian Marketing Solutions, Inc. | Multimedia engagement study |
US20090083169A1 (en) * | 2007-09-26 | 2009-03-26 | Wachovia Corporation | Financial opportunity information obtainment and evaluation |
US20090083170A1 (en) * | 2007-09-26 | 2009-03-26 | Wachovia Corporation | Product and service manipulation for opportunity pursuit |
US8346583B2 (en) | 2007-09-26 | 2013-01-01 | Wells Fargo Bank, N.A. | Economic opportunity pursuit management and presentation generation |
US9690820B1 (en) | 2007-09-27 | 2017-06-27 | Experian Information Solutions, Inc. | Database system for triggering event notifications based on updates to database records |
US20090089190A1 (en) * | 2007-09-27 | 2009-04-02 | Girulat Jr Rollin M | Systems and methods for monitoring financial activities of consumers |
US20090094627A1 (en) | 2007-10-02 | 2009-04-09 | Lee Hans C | Providing Remote Access to Media, and Reaction and Survey Data From Viewers of the Media |
US20100217701A1 (en) * | 2007-10-03 | 2010-08-26 | Yossef Mesilaty | System and Method for Predicting of Future Transactions in Customers Bank Account |
US8600870B2 (en) * | 2007-10-29 | 2013-12-03 | Fair Isaac Corporation | Distributed scoring of data transactions |
CN101917898A (en) | 2007-10-31 | 2010-12-15 | 埃姆申塞公司 | Physiological responses from spectators is provided the system and method for distributed collection and centralized processing |
US20090125377A1 (en) * | 2007-11-14 | 2009-05-14 | Microsoft Corporation | Profiling system for online marketplace |
US7996521B2 (en) | 2007-11-19 | 2011-08-09 | Experian Marketing Solutions, Inc. | Service for mapping IP addresses to user segments |
US8332932B2 (en) * | 2007-12-07 | 2012-12-11 | Scout Analytics, Inc. | Keystroke dynamics authentication techniques |
US8126881B1 (en) | 2007-12-12 | 2012-02-28 | Vast.com, Inc. | Predictive conversion systems and methods |
US8347326B2 (en) * | 2007-12-18 | 2013-01-01 | The Nielsen Company (US) | Identifying key media events and modeling causal relationships between key events and reported feelings |
US8572043B2 (en) | 2007-12-20 | 2013-10-29 | International Business Machines Corporation | Method and system for storage of unstructured data for electronic discovery in external data stores |
US8112406B2 (en) * | 2007-12-21 | 2012-02-07 | International Business Machines Corporation | Method and apparatus for electronic data discovery |
US8738486B2 (en) * | 2007-12-31 | 2014-05-27 | Mastercard International Incorporated | Methods and apparatus for implementing an ensemble merchant prediction system |
US8380559B2 (en) * | 2007-12-31 | 2013-02-19 | American Express Travel Related Services Company, Inc. | Identifying luxury merchants and consumers |
US20090171687A1 (en) * | 2007-12-31 | 2009-07-02 | American Express Travel Related Services Company, Inc. | Identifying Industry Passionate Consumers |
US8364614B2 (en) * | 2008-01-08 | 2013-01-29 | General Electric Company | Method for building predictive models with incomplete data |
US8140494B2 (en) | 2008-01-21 | 2012-03-20 | International Business Machines Corporation | Providing collection transparency information to an end user to achieve a guaranteed quality document search and production in electronic data discovery |
US20090198602A1 (en) * | 2008-01-31 | 2009-08-06 | Intuit Inc. | Ranking commercial offers based on user financial data |
WO2009100488A1 (en) * | 2008-02-13 | 2009-08-20 | Global Red Australia Pty Ltd | Targeted promotions to consumers purchasing goods or services |
US8249912B2 (en) | 2008-02-20 | 2012-08-21 | Sebastian Elliot | Method for determining, correlating and examining the causal relationships between media program and commercial content with response rates to advertising and product placement |
US8499247B2 (en) | 2008-02-26 | 2013-07-30 | Livingsocial, Inc. | Ranking interactions between users on the internet |
US20090228296A1 (en) * | 2008-03-04 | 2009-09-10 | Collarity, Inc. | Optimization of social distribution networks |
US20090228327A1 (en) * | 2008-03-07 | 2009-09-10 | Microsoft Corporation | Rapid statistical inventory estimation for direct email marketing |
US20090228397A1 (en) * | 2008-03-07 | 2009-09-10 | Blue Kai, Lnc. | Exchange for tagged user information with scarcity control |
US20090240695A1 (en) * | 2008-03-18 | 2009-09-24 | International Business Machines Corporation | Unique cohort discovery from multimodal sensory devices |
US20090240556A1 (en) * | 2008-03-18 | 2009-09-24 | International Business Machines Corporation | Anticipating merchandising trends from unique cohorts |
US8335698B2 (en) * | 2008-03-24 | 2012-12-18 | International Business Machines Corporation | Optimizing cluster based cohorts to support advanced analytics |
US7953762B2 (en) * | 2008-04-09 | 2011-05-31 | American Express Travel Related Services Company, Inc. | Infrastructure and architecture for development and execution of predictive models |
US8341166B2 (en) * | 2008-04-09 | 2012-12-25 | American Express Travel Related Services Company, Inc. | Infrastructure and architecture for development and execution of predictive models |
JP5166949B2 (en) * | 2008-04-10 | 2013-03-21 | 株式会社エヌ・ティ・ティ・ドコモ | RECOMMENDATION INFORMATION GENERATION DEVICE AND RECOMMENDATION INFORMATION GENERATION METHOD |
US20090265231A1 (en) * | 2008-04-22 | 2009-10-22 | Xerox Corporation | Online discount optimizer service |
US20090271327A1 (en) * | 2008-04-23 | 2009-10-29 | Raghav Lal | Payment portfolio optimization |
US20090271246A1 (en) * | 2008-04-28 | 2009-10-29 | American Express Travel Related Services Company, Inc. | Merchant recommendation system and method |
WO2009134817A1 (en) * | 2008-04-28 | 2009-11-05 | Strands, Inc. | Method for providing personalized recommendations of financial products based on user data |
US20090276351A1 (en) * | 2008-04-30 | 2009-11-05 | Strands, Inc. | Scaleable system and method for distributed prediction markets |
US20090300008A1 (en) * | 2008-05-31 | 2009-12-03 | Strands, Inc. | Adaptive recommender technology |
US20090299945A1 (en) * | 2008-06-03 | 2009-12-03 | Strands, Inc. | Profile modeling for sharing individual user preferences |
US20090307049A1 (en) * | 2008-06-05 | 2009-12-10 | Fair Isaac Corporation | Soft Co-Clustering of Data |
US20090307060A1 (en) * | 2008-06-09 | 2009-12-10 | Merz Christopher J | Methods and systems for determining a loyalty profile for a financial transaction cardholder |
US8275720B2 (en) * | 2008-06-12 | 2012-09-25 | International Business Machines Corporation | External scoping sources to determine affected people, systems, and classes of information in legal matters |
US10373198B1 (en) | 2008-06-13 | 2019-08-06 | Lmb Mortgage Services, Inc. | System and method of generating existing customer leads |
US8438178B2 (en) * | 2008-06-26 | 2013-05-07 | Collarity Inc. | Interactions among online digital identities |
US9830563B2 (en) | 2008-06-27 | 2017-11-28 | International Business Machines Corporation | System and method for managing legal obligations for data |
US8484069B2 (en) | 2008-06-30 | 2013-07-09 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US8327384B2 (en) | 2008-06-30 | 2012-12-04 | International Business Machines Corporation | Event driven disposition |
US8515924B2 (en) * | 2008-06-30 | 2013-08-20 | International Business Machines Corporation | Method and apparatus for handling edge-cases of event-driven disposition |
US8489439B2 (en) | 2008-06-30 | 2013-07-16 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US8073729B2 (en) * | 2008-09-30 | 2011-12-06 | International Business Machines Corporation | Forecasting discovery costs based on interpolation of historic event patterns |
US7991689B1 (en) | 2008-07-23 | 2011-08-02 | Experian Information Solutions, Inc. | Systems and methods for detecting bust out fraud using credit data |
US8762313B2 (en) | 2008-07-25 | 2014-06-24 | Liveperson, Inc. | Method and system for creating a predictive model for targeting web-page to a surfer |
US20100023374A1 (en) * | 2008-07-25 | 2010-01-28 | American Express Travel Related Services Company, Inc. | Providing Tailored Messaging to Customers |
US8260846B2 (en) | 2008-07-25 | 2012-09-04 | Liveperson, Inc. | Method and system for providing targeted content to a surfer |
US8805844B2 (en) | 2008-08-04 | 2014-08-12 | Liveperson, Inc. | Expert search |
US20100036884A1 (en) * | 2008-08-08 | 2010-02-11 | Brown Robert G | Correlation engine for generating anonymous correlations between publication-restricted data and personal attribute data |
US20100076836A1 (en) * | 2008-09-19 | 2010-03-25 | Bank Of America Corporation | Consumer information and promotion system |
US8204869B2 (en) * | 2008-09-30 | 2012-06-19 | International Business Machines Corporation | Method and apparatus to define and justify policy requirements using a legal reference library |
US20100082384A1 (en) * | 2008-10-01 | 2010-04-01 | American Express Travel Related Services Company, Inc. | Systems and methods for comprehensive consumer relationship management |
US20100088152A1 (en) * | 2008-10-02 | 2010-04-08 | Dominic Bennett | Predicting user response to advertisements |
US20100088177A1 (en) * | 2008-10-02 | 2010-04-08 | Turn Inc. | Segment optimization for targeted advertising |
EP2374066A4 (en) | 2008-10-02 | 2013-12-04 | Apple Inc | Real-time visualization of user consumption of media items |
US9002729B2 (en) * | 2008-10-21 | 2015-04-07 | Accenture Global Services Limited | System and method for determining sets of online advertisement treatments using confidences |
US8473327B2 (en) * | 2008-10-21 | 2013-06-25 | International Business Machines Corporation | Target marketing method and system |
US9892417B2 (en) | 2008-10-29 | 2018-02-13 | Liveperson, Inc. | System and method for applying tracing tools for network locations |
US8775230B2 (en) * | 2008-11-03 | 2014-07-08 | Oracle International Corporation | Hybrid prediction model for a sales prospector |
US9031866B1 (en) | 2008-11-17 | 2015-05-12 | Jpmorgan Chase Bank, N.A. | Systems and methods for use of transaction data for customers |
US20100125546A1 (en) * | 2008-11-19 | 2010-05-20 | Melyssa Barrett | System and method using superkeys and subkeys |
US9535959B2 (en) * | 2008-11-21 | 2017-01-03 | Li Sun | Method and apparatus for reconciliation of multiple sets of data |
US10430803B2 (en) * | 2008-12-23 | 2019-10-01 | Mastercard International Incorporated | Methods and systems for predicting consumer behavior from transaction card purchases |
US20100169328A1 (en) * | 2008-12-31 | 2010-07-01 | Strands, Inc. | Systems and methods for making recommendations using model-based collaborative filtering with user communities and items collections |
US20100174638A1 (en) | 2009-01-06 | 2010-07-08 | ConsumerInfo.com | Report existence monitoring |
AU2010204567A1 (en) * | 2009-01-15 | 2011-08-11 | Visa U.S.A. Inc. | Incentives associated with linked financial accounts |
US20110231410A1 (en) * | 2009-01-19 | 2011-09-22 | Appature, Inc. | Marketing survey import systems and methods |
US8244573B2 (en) * | 2009-01-19 | 2012-08-14 | Appature Inc. | Dynamic marketing system and method |
US8874460B2 (en) * | 2009-01-19 | 2014-10-28 | Appature, Inc. | Healthcare marketing data optimization system and method |
US20100185489A1 (en) * | 2009-01-21 | 2010-07-22 | Satyavolu Ramakrishna V | Method for determining a personalized true cost of service offerings |
US8600857B2 (en) | 2009-01-21 | 2013-12-03 | Truaxis, Inc. | System and method for providing a savings opportunity in association with a financial account |
US10504126B2 (en) | 2009-01-21 | 2019-12-10 | Truaxis, Llc | System and method of obtaining merchant sales information for marketing or sales teams |
US20120053987A1 (en) * | 2009-01-21 | 2012-03-01 | Billshrink, Inc. | System and method for spend pattern analysis and applications thereof |
US8566197B2 (en) | 2009-01-21 | 2013-10-22 | Truaxis, Inc. | System and method for providing socially enabled rewards through a user financial instrument |
US10594870B2 (en) | 2009-01-21 | 2020-03-17 | Truaxis, Llc | System and method for matching a savings opportunity using census data |
US20100205041A1 (en) * | 2009-02-12 | 2010-08-12 | Samsung Electronics Co., Ltd. | Determining the interest of individual entities based on a general interest |
US20100228595A1 (en) * | 2009-03-05 | 2010-09-09 | Merkle, Inc. | System and method for scoring target lists for advertising |
US8843435B1 (en) | 2009-03-12 | 2014-09-23 | Pegasystems Inc. | Techniques for dynamic data processing |
US7783515B1 (en) * | 2009-03-27 | 2010-08-24 | Bank Of America Corporation | Itemized receipt tracking system |
US8260645B2 (en) * | 2009-03-27 | 2012-09-04 | Bank Of America Corporation | Transaction recurrence engine |
US8468492B1 (en) | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
US20100257066A1 (en) * | 2009-04-06 | 2010-10-07 | Bank Of America Corporation | Electronic receipts collection and management system |
US8027912B1 (en) * | 2009-04-30 | 2011-09-27 | Intuit Inc. | System and method for merchant risk management |
WO2010129563A2 (en) | 2009-05-04 | 2010-11-11 | Visa International Service Association | Determining targeted incentives based on consumer transaction history |
US8355945B1 (en) * | 2009-05-11 | 2013-01-15 | Sprint Communications Company L.P. | Identifying and ranking high-impact churn sectors |
US10002019B2 (en) * | 2009-05-11 | 2018-06-19 | International Business Machines Corporation | System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups |
US10282752B2 (en) * | 2009-05-15 | 2019-05-07 | Excalibur Ip, Llc | Computerized system and method for displaying a map system user interface and digital content |
US20100301114A1 (en) | 2009-05-26 | 2010-12-02 | Lo Faro Walter F | Method and system for transaction based profiling of customers within a merchant network |
US9105006B2 (en) | 2009-05-29 | 2015-08-11 | Red Hat, Inc. | Generating floating desktop representation of extracted model object |
US9292592B2 (en) * | 2009-05-29 | 2016-03-22 | Red Hat, Inc. | Object-based modeling using composite model object having independently updatable component objects |
US9009006B2 (en) | 2009-05-29 | 2015-04-14 | Red Hat, Inc. | Generating active links between model objects |
US9292485B2 (en) * | 2009-05-29 | 2016-03-22 | Red Hat, Inc. | Extracting data cell transformable to model object |
US8930487B2 (en) * | 2009-05-29 | 2015-01-06 | Red Hat, Inc. | Object-based modeling using model objects exportable to external modeling tools |
US20100306029A1 (en) * | 2009-06-01 | 2010-12-02 | Ryan Jolley | Cardholder Clusters |
US8301692B1 (en) * | 2009-06-16 | 2012-10-30 | Amazon Technologies, Inc. | Person to person similarities based on media experiences |
US8405996B2 (en) * | 2009-06-30 | 2013-03-26 | General Electric Company | Article including thermal interface element and method of preparation |
US9841282B2 (en) | 2009-07-27 | 2017-12-12 | Visa U.S.A. Inc. | Successive offer communications with an offer recipient |
US10223632B2 (en) * | 2009-07-27 | 2019-03-05 | International Business Machines Corporation | Modeling states of an entity |
US9443253B2 (en) | 2009-07-27 | 2016-09-13 | Visa International Service Association | Systems and methods to provide and adjust offers |
US10546332B2 (en) | 2010-09-21 | 2020-01-28 | Visa International Service Association | Systems and methods to program operations for interaction with users |
US8266031B2 (en) * | 2009-07-29 | 2012-09-11 | Visa U.S.A. | Systems and methods to provide benefits of account features to account holders |
US20110035278A1 (en) * | 2009-08-04 | 2011-02-10 | Visa U.S.A. Inc. | Systems and Methods for Closing the Loop between Online Activities and Offline Purchases |
US20110035280A1 (en) * | 2009-08-04 | 2011-02-10 | Visa U.S.A. Inc. | Systems and Methods for Targeted Advertisement Delivery |
JP2011034524A (en) * | 2009-08-06 | 2011-02-17 | Hitachi Ltd | Transaction support method |
WO2011019759A2 (en) * | 2009-08-10 | 2011-02-17 | Visa U.S.A. Inc. | Systems and methods for targeting offers |
US20110040600A1 (en) * | 2009-08-17 | 2011-02-17 | Deidre Paknad | E-discovery decision support |
US9152435B2 (en) | 2009-08-31 | 2015-10-06 | Red Hat, Inc. | Generating a set of linked rotational views of model objects |
US9152944B2 (en) * | 2009-08-31 | 2015-10-06 | Red Hat, Inc. | Generating rapidly rotatable dimensional view of data objects |
US20110060738A1 (en) | 2009-09-08 | 2011-03-10 | Apple Inc. | Media item clustering based on similarity data |
US9342835B2 (en) | 2009-10-09 | 2016-05-17 | Visa U.S.A | Systems and methods to deliver targeted advertisements to audience |
US20110087547A1 (en) * | 2009-10-09 | 2011-04-14 | Visa U.S.A. | Systems and Methods for Advertising Services Based on a Local Profile |
US20110087546A1 (en) * | 2009-10-09 | 2011-04-14 | Visa U.S.A. Inc. | Systems and Methods for Anticipatory Advertisement Delivery |
US9031860B2 (en) | 2009-10-09 | 2015-05-12 | Visa U.S.A. Inc. | Systems and methods to aggregate demand |
US8595058B2 (en) | 2009-10-15 | 2013-11-26 | Visa U.S.A. | Systems and methods to match identifiers |
US11257112B1 (en) * | 2009-10-15 | 2022-02-22 | Livingsocial, Inc. | Ad targeting and display optimization based on social and community data |
US20110093324A1 (en) | 2009-10-19 | 2011-04-21 | Visa U.S.A. Inc. | Systems and Methods to Provide Intelligent Analytics to Cardholders and Merchants |
US8676639B2 (en) | 2009-10-29 | 2014-03-18 | Visa International Service Association | System and method for promotion processing and authorization |
US9922331B2 (en) * | 2009-11-04 | 2018-03-20 | Blue Kai, Inc. | Filter for user information based on enablement of persistent identification |
US20120072334A1 (en) * | 2009-11-04 | 2012-03-22 | Feinstein Jeffrey A | Responsibility analytics |
US8626705B2 (en) * | 2009-11-05 | 2014-01-07 | Visa International Service Association | Transaction aggregator for closed processing |
US20110125565A1 (en) | 2009-11-24 | 2011-05-26 | Visa U.S.A. Inc. | Systems and Methods for Multi-Channel Offer Redemption |
US11409825B2 (en) | 2009-12-18 | 2022-08-09 | Graphika Technologies, Inc. | Methods and systems for identifying markers of coordinated activity in social media movements |
US10324598B2 (en) | 2009-12-18 | 2019-06-18 | Graphika, Inc. | System and method for a search engine content filter |
US8543445B2 (en) * | 2009-12-21 | 2013-09-24 | Hartford Fire Insurance Company | System and method for direct mailing insurance solicitations utilizing hierarchical bayesian inference for prospect selection |
US8655856B2 (en) * | 2009-12-22 | 2014-02-18 | International Business Machines Corporation | Method and apparatus for policy distribution |
US8250041B2 (en) | 2009-12-22 | 2012-08-21 | International Business Machines Corporation | Method and apparatus for propagation of file plans from enterprise retention management applications to records management systems |
US8589250B2 (en) * | 2009-12-30 | 2013-11-19 | Truecar, Inc. | System, method and computer program product for predicting value of lead |
US8489499B2 (en) | 2010-01-13 | 2013-07-16 | Corelogic Solutions, Llc | System and method of detecting and assessing multiple types of risks related to mortgage lending |
US8875038B2 (en) | 2010-01-19 | 2014-10-28 | Collarity, Inc. | Anchoring for content synchronization |
RU2563163C2 (en) * | 2010-01-19 | 2015-09-20 | Виза Интернэшнл Сервис Ассосиэйшн | Remote variable authentication processing |
US20110178841A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, Inc. | System and method for clustering a population using spend level data |
US8255268B2 (en) * | 2010-01-20 | 2012-08-28 | American Express Travel Related Services Company, Inc. | System and method for matching merchants based on consumer spend behavior |
US20110178845A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, Inc. | System and method for matching merchants to a population of consumers |
US20110178846A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, Inc. | System and method for using spend level data to match a population of consumers to merchants |
US20110178843A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, Inc. | System and method for using spend behavior to identify a population of consumers that meet a specified criteria |
US8571919B2 (en) * | 2010-01-20 | 2013-10-29 | American Express Travel Related Services Company, Inc. | System and method for identifying attributes of a population using spend level data |
US20110178847A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, Inc. | System and method for identifying a selected demographic's preferences using spend level data |
US20110178855A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, | System and method for increasing marketing performance using spend level data |
US20110178844A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, Inc. | System and method for using spend behavior to identify a population of merchants |
US20110178848A1 (en) * | 2010-01-20 | 2011-07-21 | American Express Travel Related Services Company, Inc. | System and method for matching consumers based on spend behavior |
US8355934B2 (en) * | 2010-01-25 | 2013-01-15 | Hartford Fire Insurance Company | Systems and methods for prospecting business insurance customers |
WO2011106015A1 (en) * | 2010-02-26 | 2011-09-01 | Hewlett-Packard Development Company, L.P. | Eliciting customer preference from purchasing behavior surveys |
EP2543013A4 (en) * | 2010-03-01 | 2014-12-24 | Opera Solutions Llc | Computer-implemented method for enhancing targeted product sales |
US20110213661A1 (en) * | 2010-03-01 | 2011-09-01 | Joseph Milana | Computer-Implemented Method For Enhancing Product Sales |
US20110213651A1 (en) * | 2010-03-01 | 2011-09-01 | Opera Solutions, Llc | Computer-Implemented Method For Enhancing Targeted Product Sales |
US8639567B2 (en) | 2010-03-19 | 2014-01-28 | Visa U.S.A. Inc. | Systems and methods to identify differences in spending patterns |
US20110231305A1 (en) * | 2010-03-19 | 2011-09-22 | Visa U.S.A. Inc. | Systems and Methods to Identify Spending Patterns |
US20110231258A1 (en) * | 2010-03-19 | 2011-09-22 | Visa U.S.A. Inc. | Systems and Methods to Distribute Advertisement Opportunities to Merchants |
US20110231225A1 (en) * | 2010-03-19 | 2011-09-22 | Visa U.S.A. Inc. | Systems and Methods to Identify Customers Based on Spending Patterns |
US20110231224A1 (en) * | 2010-03-19 | 2011-09-22 | Visa U.S.A. Inc. | Systems and Methods to Perform Checkout Funnel Analyses |
US8738418B2 (en) | 2010-03-19 | 2014-05-27 | Visa U.S.A. Inc. | Systems and methods to enhance search data with transaction based data |
US9697520B2 (en) | 2010-03-22 | 2017-07-04 | Visa U.S.A. Inc. | Merchant configured advertised incentives funded through statement credits |
US9652802B1 (en) | 2010-03-24 | 2017-05-16 | Consumerinfo.Com, Inc. | Indirect monitoring and reporting of a user's credit data |
US20110238550A1 (en) * | 2010-03-24 | 2011-09-29 | Joshua Reich | Systems and methods for predicting financial behaviors |
EP2553643A4 (en) | 2010-03-31 | 2014-03-26 | Mediamath Inc | Systems and methods for integration of a demand side platform |
US20130085769A1 (en) * | 2010-03-31 | 2013-04-04 | Risk Management Solutions Llc | Characterizing healthcare provider, claim, beneficiary and healthcare merchant normal behavior using non-parametric statistical outlier detection scoring techniques |
US10049391B2 (en) | 2010-03-31 | 2018-08-14 | Mediamath, Inc. | Systems and methods for providing a demand side platform |
WO2011127049A1 (en) | 2010-04-07 | 2011-10-13 | Liveperson, Inc. | System and method for dynamically enabling customized web content and applications |
US10332135B2 (en) | 2010-04-12 | 2019-06-25 | First Data Corporation | Financial data normalization systems and methods |
US8781874B2 (en) * | 2010-04-12 | 2014-07-15 | First Data Corporation | Network analytics systems and methods |
US8306846B2 (en) * | 2010-04-12 | 2012-11-06 | First Data Corporation | Transaction location analytics systems and methods |
US8799204B1 (en) | 2010-04-19 | 2014-08-05 | Express Scripts, Inc. | Methods and systems for member messaging |
US8666926B1 (en) | 2010-04-19 | 2014-03-04 | Express Scripts, Inc. | Methods and systems for improving therapy adherence |
US9990641B2 (en) | 2010-04-23 | 2018-06-05 | Excalibur Ip, Llc | Finding predictive cross-category search queries for behavioral targeting |
US20110264497A1 (en) * | 2010-04-23 | 2011-10-27 | Visa U.S.A. Inc. | Systems and Methods to Transfer Tax Credits |
US20110264581A1 (en) * | 2010-04-23 | 2011-10-27 | Visa U.S.A. Inc. | Systems and Methods to Provide Market Analyses and Alerts |
US9471926B2 (en) | 2010-04-23 | 2016-10-18 | Visa U.S.A. Inc. | Systems and methods to provide offers to travelers |
US10453093B1 (en) | 2010-04-30 | 2019-10-22 | Lmb Mortgage Services, Inc. | System and method of optimizing matching of leads |
US8359274B2 (en) | 2010-06-04 | 2013-01-22 | Visa International Service Association | Systems and methods to provide messages in real-time with transaction processing |
EP2249300A1 (en) * | 2010-06-08 | 2010-11-10 | Pay & Save N.V. | Method and system for providing universal access to a service amongst a plurality of services |
US20110307374A1 (en) * | 2010-06-09 | 2011-12-15 | James Allan Grundner | Account Prediction Tools |
US9986277B2 (en) | 2010-06-17 | 2018-05-29 | The Nielsen Company (Us), Llc | Systems and methods to select targeted advertising |
US8566903B2 (en) | 2010-06-29 | 2013-10-22 | International Business Machines Corporation | Enterprise evidence repository providing access control to collected artifacts |
US8781896B2 (en) | 2010-06-29 | 2014-07-15 | Visa International Service Association | Systems and methods to optimize media presentations |
US8832148B2 (en) | 2010-06-29 | 2014-09-09 | International Business Machines Corporation | Enterprise evidence repository |
US8402359B1 (en) | 2010-06-30 | 2013-03-19 | International Business Machines Corporation | Method and apparatus for managing recent activity navigation in web applications |
US10223703B2 (en) | 2010-07-19 | 2019-03-05 | Mediamath, Inc. | Systems and methods for determining competitive market values of an ad impression |
US8554653B2 (en) * | 2010-07-22 | 2013-10-08 | Visa International Service Association | Systems and methods to identify payment accounts having business spending activities |
US9760905B2 (en) | 2010-08-02 | 2017-09-12 | Visa International Service Association | Systems and methods to optimize media presentations using a camera |
CN102346894B (en) * | 2010-08-03 | 2017-03-01 | 阿里巴巴集团控股有限公司 | The output intent of recommendation information, system and server |
US9972021B2 (en) | 2010-08-06 | 2018-05-15 | Visa International Service Association | Systems and methods to rank and select triggers for real-time offers |
US9767475B2 (en) | 2010-08-20 | 2017-09-19 | Blue Kai, Inc. | Real time audience forecasting |
US10032176B2 (en) * | 2010-08-20 | 2018-07-24 | Blue Kai, Inc. | Real time statistics extraction from arbitrary advertising audiences |
US20120053951A1 (en) * | 2010-08-26 | 2012-03-01 | Twenty-Ten, Inc. | System and method for identifying a targeted prospect |
US9679299B2 (en) | 2010-09-03 | 2017-06-13 | Visa International Service Association | Systems and methods to provide real-time offers via a cooperative database |
US9477967B2 (en) | 2010-09-21 | 2016-10-25 | Visa International Service Association | Systems and methods to process an offer campaign based on ineligibility |
US10055745B2 (en) | 2010-09-21 | 2018-08-21 | Visa International Service Association | Systems and methods to modify interaction rules during run time |
US8688557B2 (en) | 2010-09-29 | 2014-04-01 | Fiserv, Inc. | Systems and methods for customer value optimization involving relationship optimization |
US8930262B1 (en) | 2010-11-02 | 2015-01-06 | Experian Technology Ltd. | Systems and methods of assisted strategy design |
US9558502B2 (en) | 2010-11-04 | 2017-01-31 | Visa International Service Association | Systems and methods to reward user interactions |
US10977727B1 (en) | 2010-11-18 | 2021-04-13 | AUTO I.D., Inc. | Web-based system and method for providing comprehensive vehicle build information |
US11301922B2 (en) | 2010-11-18 | 2022-04-12 | AUTO I.D., Inc. | System and method for providing comprehensive vehicle information |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
US20120136869A1 (en) * | 2010-11-30 | 2012-05-31 | Sap Ag | System and Method of Processing Information Stored in Databases |
US8918465B2 (en) | 2010-12-14 | 2014-12-23 | Liveperson, Inc. | Authentication of service requests initiated from a social networking site |
US9350598B2 (en) | 2010-12-14 | 2016-05-24 | Liveperson, Inc. | Authentication of service requests using a communications initiation feature |
US8260657B1 (en) * | 2010-12-20 | 2012-09-04 | Google Inc. | Dynamic pricing of electronic content |
US8738549B2 (en) * | 2010-12-21 | 2014-05-27 | International Business Machines Corporation | Predictive modeling |
US10007915B2 (en) | 2011-01-24 | 2018-06-26 | Visa International Service Association | Systems and methods to facilitate loyalty reward transactions |
US8650184B2 (en) | 2011-02-04 | 2014-02-11 | Twenty-Ten, Inc. | System and method for identifying a targeted consumer |
US8880487B1 (en) | 2011-02-18 | 2014-11-04 | Pegasystems Inc. | Systems and methods for distributed rules processing |
US8620887B2 (en) * | 2011-03-01 | 2013-12-31 | Bank Of America Corporation | Optimization of output data associated with a population |
US8745413B2 (en) | 2011-03-02 | 2014-06-03 | Appature, Inc. | Protected health care data marketing system and method |
US8458069B2 (en) * | 2011-03-04 | 2013-06-04 | Brighterion, Inc. | Systems and methods for adaptive identification of sources of fraud |
US10438299B2 (en) | 2011-03-15 | 2019-10-08 | Visa International Service Association | Systems and methods to combine transaction terminal location data and social networking check-in |
US20120246048A1 (en) * | 2011-03-25 | 2012-09-27 | Michael Cohen | Cross-Sectional Economic Modeling and Forward Looking Odds |
US8620720B2 (en) * | 2011-04-28 | 2013-12-31 | Yahoo! Inc. | Embedding calendar knowledge in event-driven inventory forecasting |
US9558519B1 (en) | 2011-04-29 | 2017-01-31 | Consumerinfo.Com, Inc. | Exposing reporting cycle information |
US10127578B2 (en) | 2011-05-09 | 2018-11-13 | Capital One Services, Llc | Method and system for matching purchase transaction history to real-time location information |
US20120296700A1 (en) * | 2011-05-20 | 2012-11-22 | International Business Machines Corporation | Modeling the temporal behavior of clients to develop a predictive system |
US10719834B2 (en) | 2011-05-20 | 2020-07-21 | Mastercard International Incorporated | Systems and methods for recommending merchants |
WO2012167191A1 (en) * | 2011-06-01 | 2012-12-06 | Al Gharabally Faisal | Promotional content provided privately via client devices |
US20120317027A1 (en) * | 2011-06-13 | 2012-12-13 | Ho Ming Luk | Computer-Implemented Systems And Methods For Real-Time Scoring Of Enterprise Data |
US20120323631A1 (en) * | 2011-06-14 | 2012-12-20 | American Express Travel Related Services Company, Inc. | Systems and methods for tracking industry spend |
US8626791B1 (en) * | 2011-06-14 | 2014-01-07 | Google Inc. | Predictive model caching |
US10540646B2 (en) * | 2011-06-22 | 2020-01-21 | Jpmorgan Chase Bank, N.A. | Itemized receipts and digital payments system and methods |
CN103827906B (en) | 2011-07-01 | 2018-01-05 | 真车股份有限公司 | For selecting, filtering or presenting the method and system of available Sales Channel |
US10740772B2 (en) * | 2011-07-25 | 2020-08-11 | Prevedere, Inc. | Systems and methods for forecasting based upon time series data |
US10896388B2 (en) | 2011-07-25 | 2021-01-19 | Prevedere, Inc. | Systems and methods for business analytics management and modeling |
US8909550B2 (en) * | 2011-08-15 | 2014-12-09 | Bank Of America Corporation | Relationship-based pricing |
US8694456B2 (en) * | 2011-08-19 | 2014-04-08 | Bank Of America Corporation | Predicting future travel based on a user's historical financial institution transaction data and providing offers based on the predicted future travel |
US10223707B2 (en) | 2011-08-19 | 2019-03-05 | Visa International Service Association | Systems and methods to communicate offer options via messaging in real time with processing of payment transaction |
US8635134B2 (en) | 2011-09-07 | 2014-01-21 | Fiserv, Inc. | Systems and methods for optimizations involving insufficient funds (NSF) conditions |
RU2476920C1 (en) * | 2011-09-16 | 2013-02-27 | Открытое акционерное общество "ОКБ Сухого" | Multi-task aircraft control data system |
US9466075B2 (en) | 2011-09-20 | 2016-10-11 | Visa International Service Association | Systems and methods to process referrals in offer campaigns |
US8849699B2 (en) | 2011-09-26 | 2014-09-30 | American Express Travel Related Services Company, Inc. | Systems and methods for targeting ad impressions |
US10380617B2 (en) | 2011-09-29 | 2019-08-13 | Visa International Service Association | Systems and methods to provide a user interface to control an offer campaign |
JP5794881B2 (en) * | 2011-09-30 | 2015-10-14 | 楽天株式会社 | Information processing apparatus, information processing method, and information processing program |
US8983905B2 (en) | 2011-10-03 | 2015-03-17 | Apple Inc. | Merging playlists from multiple sources |
RU2480828C1 (en) * | 2011-10-14 | 2013-04-27 | Общество С Ограниченной Ответственностью "Лайфстайл Маркетинг" | Method of predicting target value of events based on unlimited number of characteristics |
US9462004B1 (en) | 2011-11-04 | 2016-10-04 | Google Inc. | Automatic group assignment of users in a social network |
US20130117103A1 (en) * | 2011-11-08 | 2013-05-09 | Insightexpress, Llc | Universal control |
US10290018B2 (en) | 2011-11-09 | 2019-05-14 | Visa International Service Association | Systems and methods to communicate with users via social networking sites |
US8478688B1 (en) * | 2011-12-19 | 2013-07-02 | Emc Corporation | Rapid transaction processing |
US20130166379A1 (en) * | 2011-12-21 | 2013-06-27 | Akintunde Ehindero | Social Targeting |
JP5785869B2 (en) * | 2011-12-22 | 2015-09-30 | 株式会社日立製作所 | Behavior attribute analysis program and apparatus |
US9195936B1 (en) | 2011-12-30 | 2015-11-24 | Pegasystems Inc. | System and method for updating or modifying an application without manual coding |
US10497022B2 (en) | 2012-01-20 | 2019-12-03 | Visa International Service Association | Systems and methods to present and process offers |
US20130198113A1 (en) * | 2012-01-28 | 2013-08-01 | Anirban Ray | Method and technique to create single intelligent collaboration platform spanning across web, mobile and cloud |
US8473410B1 (en) | 2012-02-23 | 2013-06-25 | American Express Travel Related Services Company, Inc. | Systems and methods for identifying financial relationships |
US8781954B2 (en) | 2012-02-23 | 2014-07-15 | American Express Travel Related Services Company, Inc. | Systems and methods for identifying financial relationships |
US8442886B1 (en) | 2012-02-23 | 2013-05-14 | American Express Travel Related Services Company, Inc. | Systems and methods for identifying financial relationships |
US8538869B1 (en) | 2012-02-23 | 2013-09-17 | American Express Travel Related Services Company, Inc. | Systems and methods for identifying financial relationships |
US9477988B2 (en) | 2012-02-23 | 2016-10-25 | American Express Travel Related Services Company, Inc. | Systems and methods for identifying financial relationships |
US8744899B2 (en) | 2012-02-28 | 2014-06-03 | Fiserv, Inc. | Systems and methods for migrating customers to alternative financial products |
US8762194B2 (en) | 2012-02-28 | 2014-06-24 | Fiserv, Inc. | Systems and methods for evaluating alternative financial products |
US10372741B2 (en) | 2012-03-02 | 2019-08-06 | Clarabridge, Inc. | Apparatus for automatic theme detection from unstructured data |
US10002349B2 (en) * | 2012-03-05 | 2018-06-19 | First Data Corporation | System and method for evaluating transaction patterns |
US8805941B2 (en) | 2012-03-06 | 2014-08-12 | Liveperson, Inc. | Occasionally-connected computing interface |
US10672018B2 (en) | 2012-03-07 | 2020-06-02 | Visa International Service Association | Systems and methods to process offers via mobile devices |
US20130238460A1 (en) * | 2012-03-12 | 2013-09-12 | Intuit Inc. | Determining shopping intent based on financial objects |
US9672526B2 (en) | 2012-03-13 | 2017-06-06 | American Express Travel Related Services Company, Inc. | Systems and methods for tailoring marketing |
US9195988B2 (en) | 2012-03-13 | 2015-11-24 | American Express Travel Related Services Company, Inc. | Systems and methods for an analysis cycle to determine interest merchants |
US9563336B2 (en) | 2012-04-26 | 2017-02-07 | Liveperson, Inc. | Dynamic user interface customization |
US8972415B2 (en) | 2012-04-30 | 2015-03-03 | Hewlett-Packard Development Company, L.P. | Similarity search initialization |
US9853959B1 (en) | 2012-05-07 | 2017-12-26 | Consumerinfo.Com, Inc. | Storage and maintenance of personal data |
CN103426096A (en) * | 2012-05-14 | 2013-12-04 | 阿里巴巴集团控股有限公司 | User recommending method and device |
US9672196B2 (en) | 2012-05-15 | 2017-06-06 | Liveperson, Inc. | Methods and systems for presenting specialized content using campaign metrics |
US8918891B2 (en) | 2012-06-12 | 2014-12-23 | Id Analytics, Inc. | Identity manipulation detection system and method |
US9378112B2 (en) | 2012-06-25 | 2016-06-28 | International Business Machines Corporation | Predictive alert threshold determination tool |
US9947004B2 (en) | 2012-06-28 | 2018-04-17 | Green Dot Corporation | Wireless client transaction systems and related methods |
US20140012740A1 (en) * | 2012-07-06 | 2014-01-09 | Great Bridge Corporation | Collecting and analyzing transaction datacollecting and analyzing transaction and demographic data to fulfill queries and target surveys |
US20140019322A1 (en) | 2012-07-13 | 2014-01-16 | Green Dot Corporation | Mobile banking systems and related methods |
US20140039974A1 (en) * | 2012-08-01 | 2014-02-06 | Mastercard International Incorporated | System and method for using credit/debit card transaction data as a measure of customer satisfaction with a merchant |
US8989835B2 (en) | 2012-08-17 | 2015-03-24 | The Nielsen Company (Us), Llc | Systems and methods to gather and analyze electroencephalographic data |
US9336494B1 (en) * | 2012-08-20 | 2016-05-10 | Context Relevant, Inc. | Re-training a machine learning model |
US20140052594A1 (en) * | 2012-08-20 | 2014-02-20 | Capital One Financial Corporation | Systems and computer-implemented processes for switching accounts |
US20140067472A1 (en) * | 2012-08-29 | 2014-03-06 | State Farm Mutual Automobile Insurance Company | System and Method For Segmenting A Customer Base |
US9715700B2 (en) | 2012-09-07 | 2017-07-25 | American Express Travel Related Services Company, Inc. | Marketing campaign application for multiple electronic distribution channels |
US9710822B2 (en) | 2012-09-16 | 2017-07-18 | American Express Travel Related Services Company, Inc. | System and method for creating spend verified reviews |
US10664883B2 (en) | 2012-09-16 | 2020-05-26 | American Express Travel Related Services Company, Inc. | System and method for monitoring activities in a digital channel |
US20140089044A1 (en) * | 2012-09-25 | 2014-03-27 | Zilliant, Inc. | System and method for identifying and presenting business-to-business sales opportunities |
US20140089041A1 (en) * | 2012-09-27 | 2014-03-27 | Bank Of America Corporation | Two sigma intelligence |
US20140108209A1 (en) * | 2012-10-16 | 2014-04-17 | Mastercard International, Inc. | Aggregate merchant monitoring |
CN104756107B (en) | 2012-10-22 | 2019-01-01 | 起元科技有限公司 | Using location information profile data |
US9449056B1 (en) | 2012-11-01 | 2016-09-20 | Intuit Inc. | Method and system for creating and updating an entity name alias table |
US20140136259A1 (en) | 2012-11-15 | 2014-05-15 | Grant Stephen Kinsey | Methods and systems for the sale of consumer services |
US10504132B2 (en) | 2012-11-27 | 2019-12-10 | American Express Travel Related Services Company, Inc. | Dynamic rewards program |
US9087298B2 (en) | 2012-12-05 | 2015-07-21 | International Business Machines Corporation | Inference of anomalous behavior of members of cohorts and associate actors related to the anomalous behavior based on divergent movement from the cohort context centroid |
US10672008B2 (en) | 2012-12-06 | 2020-06-02 | Jpmorgan Chase Bank, N.A. | System and method for data analytics |
US10255598B1 (en) | 2012-12-06 | 2019-04-09 | Consumerinfo.Com, Inc. | Credit card account data extraction |
US20140164057A1 (en) * | 2012-12-07 | 2014-06-12 | Capital One Financial Corporation | Systems and methods for determining consumer purchasing behavior |
US10360627B2 (en) | 2012-12-13 | 2019-07-23 | Visa International Service Association | Systems and methods to provide account features via web based user interfaces |
US20140172690A1 (en) * | 2012-12-17 | 2014-06-19 | Sas Institute Inc. | Systems and Methods For Matching Domain Specific Transactions |
EP2936412A4 (en) | 2012-12-21 | 2016-06-22 | Truecar Inc | Pay-per-sale system, method and computer program product therefor |
US10121156B2 (en) | 2012-12-25 | 2018-11-06 | International Business Machines Corporation | Analysis device, analysis program, analysis method, estimation device, estimation program, and estimation method |
US10417653B2 (en) * | 2013-01-04 | 2019-09-17 | PlaceIQ, Inc. | Inferring consumer affinities based on shopping behaviors with unsupervised machine learning models |
US20140195303A1 (en) * | 2013-01-07 | 2014-07-10 | Y13 Ltd | Method of automated group identification based on social and behavioral information |
US20140200968A1 (en) * | 2013-01-15 | 2014-07-17 | Visa International Service Association | System and method for determining competitive opportunity metrics and indices |
US20140229233A1 (en) * | 2013-02-13 | 2014-08-14 | Mastercard International Incorporated | Consumer spending forecast system and method |
KR101364768B1 (en) * | 2013-02-26 | 2014-02-18 | 주식회사 한국프라임테크놀로지 | Financial account transaction pattern analysis system and a method thereof |
US20140257933A1 (en) * | 2013-03-05 | 2014-09-11 | Bank Of America Corporation | Micro segments optimization engine |
US20140257932A1 (en) * | 2013-03-05 | 2014-09-11 | Bank Of America Corporation | Segment assignment optimization engine |
US10007946B1 (en) | 2013-03-07 | 2018-06-26 | Vast.com, Inc. | Systems, methods, and devices for measuring similarity of and generating recommendations for unique items |
US9465873B1 (en) | 2013-03-07 | 2016-10-11 | Vast.com, Inc. | Systems, methods, and devices for identifying and presenting identifications of significant attributes of unique items |
US9104718B1 (en) | 2013-03-07 | 2015-08-11 | Vast.com, Inc. | Systems, methods, and devices for measuring similarity of and generating recommendations for unique items |
US20140278768A1 (en) * | 2013-03-12 | 2014-09-18 | Michael J. Zenor | Methods, systems and apparatus to select store sites |
US10438269B2 (en) * | 2013-03-12 | 2019-10-08 | Mastercard International Incorporated | Systems and methods for recommending merchants |
US20140278774A1 (en) * | 2013-03-13 | 2014-09-18 | Experian Information Solutions, Inc. | In the market model systems and methods |
US9830635B1 (en) | 2013-03-13 | 2017-11-28 | Vast.com, Inc. | Systems, methods, and devices for determining and displaying market relative position of unique items |
US9320450B2 (en) | 2013-03-14 | 2016-04-26 | The Nielsen Company (Us), Llc | Methods and apparatus to gather and analyze electroencephalographic data |
US9870589B1 (en) | 2013-03-14 | 2018-01-16 | Consumerinfo.Com, Inc. | Credit utilization tracking and reporting |
US20140277921A1 (en) * | 2013-03-14 | 2014-09-18 | General Electric Company | System and method for data entity identification and analysis of maintenance data |
US9594907B2 (en) | 2013-03-14 | 2017-03-14 | Sas Institute Inc. | Unauthorized activity detection and classification |
US9501506B1 (en) | 2013-03-15 | 2016-11-22 | Google Inc. | Indexing system |
US20140278507A1 (en) * | 2013-03-15 | 2014-09-18 | Myrtle S. POTTER | Methods and systems for growing and retaining the value of brand drugs by computer predictive model |
US20140324524A1 (en) * | 2013-04-30 | 2014-10-30 | Wal-Mart Stores, Inc. | Evolving a capped customer linkage model using genetic models |
US20140324523A1 (en) * | 2013-04-30 | 2014-10-30 | Wal-Mart Stores, Inc. | Missing String Compensation In Capped Customer Linkage Model |
US9852400B2 (en) * | 2013-05-01 | 2017-12-26 | Palo Alto Research Center Incorporated | System and method for detecting quitting intention based on electronic-communication dynamics |
CA2851019A1 (en) * | 2013-05-08 | 2014-11-08 | Prabaharan Sivashanmugam | System and method for consumer-merchant transaction analysis |
US9898710B2 (en) * | 2013-05-24 | 2018-02-20 | Bank Of America Corporation | Routing different parts of a mail item to different destinations |
US9483568B1 (en) | 2013-06-05 | 2016-11-01 | Google Inc. | Indexing system |
US10373180B2 (en) * | 2013-06-11 | 2019-08-06 | Ace Metrix, Inc. | Creating a survey sample group according to a desired participant distribution in real time |
US20140372178A1 (en) * | 2013-06-18 | 2014-12-18 | Target Brands, Inc. | Correlating product sales to store segmentation |
US20140372338A1 (en) * | 2013-06-18 | 2014-12-18 | Capital One Financial Corporation | Systems and methods for recommending merchants to a consumer |
US10102575B1 (en) * | 2013-06-24 | 2018-10-16 | Dividex Analytics, LLC | Securities claims identification, optimization and recovery system and methods |
US20150019290A1 (en) * | 2013-07-12 | 2015-01-15 | Capital One Financial Corporation | Systems and methods for representing consumer behavior |
US9600839B2 (en) | 2013-07-29 | 2017-03-21 | Bank Of America Corporation | Price evaluation based on electronic receipt data |
US9519928B2 (en) | 2013-07-29 | 2016-12-13 | Bank Of American Corporation | Product evaluation based on electronic receipt data |
US9286332B1 (en) | 2013-08-29 | 2016-03-15 | Intuit Inc. | Method and system for identifying entities and obtaining financial profile data for the entities using de-duplicated data from two or more types of financial management systems |
US9323852B2 (en) | 2013-09-20 | 2016-04-26 | Bank Of America Corporation | Activity list filters for a financial and social management system |
US9324115B2 (en) | 2013-09-20 | 2016-04-26 | Bank Of America Corporation | Activity review for a financial and social management system |
US9786019B2 (en) | 2013-09-20 | 2017-10-10 | Bank Of America Corporation | Grouped packages for a financial and social management system |
US9786018B2 (en) | 2013-09-20 | 2017-10-10 | Bank Of America Corporation | Activity list enhanced with images for a financial and social management system |
US9934536B2 (en) | 2013-09-20 | 2018-04-03 | Bank Of America Corporation | Interactive map for grouped activities within a financial and social management system |
US9324114B2 (en) | 2013-09-20 | 2016-04-26 | Bank Of America Corporation | Interactive map for grouped activities within a financial and social management system |
US10002395B2 (en) | 2013-09-20 | 2018-06-19 | Bank Of America Corporation | Interactive mapping system for user experience augmentation |
US8831969B1 (en) * | 2013-10-02 | 2014-09-09 | Linkedin Corporation | System and method for determining users working for the same employers in a social network |
US10521866B2 (en) | 2013-10-15 | 2019-12-31 | Mastercard International Incorporated | Systems and methods for associating related merchants |
US10319013B2 (en) | 2013-10-28 | 2019-06-11 | Square, Inc. | Electronic ordering system |
US10489754B2 (en) | 2013-11-11 | 2019-11-26 | Visa International Service Association | Systems and methods to facilitate the redemption of offer benefits in a form of third party statement credits |
US10296928B1 (en) * | 2013-11-12 | 2019-05-21 | Coherent Path Inc. | System and methods for measuring and influencing customer trajectory within a product space |
US10102536B1 (en) | 2013-11-15 | 2018-10-16 | Experian Information Solutions, Inc. | Micro-geographic aggregation system |
US20150142515A1 (en) * | 2013-11-20 | 2015-05-21 | Mastercard International Incorporated | Methods, systems and computer readable media for determining a relational strength index associated with a plurality of merchant entities |
US20150154590A1 (en) * | 2013-12-04 | 2015-06-04 | Mastercard International Incorporated | Method and system for leveraging transaction data to facilitate merchant operations |
US10127596B1 (en) | 2013-12-10 | 2018-11-13 | Vast.com, Inc. | Systems, methods, and devices for generating recommendations of unique items |
US20150170161A1 (en) * | 2013-12-12 | 2015-06-18 | Mastercard International Incorporated | Systems and methods for assessing market saturation |
US20150178749A1 (en) * | 2013-12-23 | 2015-06-25 | Mastercard International, Inc. | Methods, systems and computer readable media for predicting consumer purchase behavior |
US20150193790A1 (en) * | 2014-01-06 | 2015-07-09 | Mastercard International Incorporated | Virtual panel creation method and apparatus |
US10115166B2 (en) * | 2014-01-21 | 2018-10-30 | Capital One Services, Llc | System and method for account transaction and balance prediction |
US20150220937A1 (en) * | 2014-01-31 | 2015-08-06 | Mastercard International Incorporated | Systems and methods for appending payment network data to non-payment network transaction based datasets through inferred match modeling |
US20150220945A1 (en) * | 2014-01-31 | 2015-08-06 | Mastercard International Incorporated | Systems and methods for developing joint predictive scores between non-payment system merchants and payment systems through inferred match modeling system and methods |
WO2015120204A1 (en) * | 2014-02-05 | 2015-08-13 | Vendavo, Inc. | Systems and methods for price point and waterfall adjustment analysis |
US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
WO2015134193A1 (en) | 2014-03-07 | 2015-09-11 | Ab Initio Technology Llc | Managing data profiling operations related to data type |
WO2015143373A1 (en) * | 2014-03-21 | 2015-09-24 | ITG Software Solutions, Inc | Network communication system for exchange trading |
US11159415B2 (en) * | 2014-03-24 | 2021-10-26 | Secureworks Corp. | Method for determining normal sequences of events |
US11373189B2 (en) * | 2014-03-27 | 2022-06-28 | EMC IP Holding Company LLC | Self-learning online multi-layer method for unsupervised risk assessment |
US11386442B2 (en) | 2014-03-31 | 2022-07-12 | Liveperson, Inc. | Online behavioral predictor |
US10896421B2 (en) * | 2014-04-02 | 2021-01-19 | Brighterion, Inc. | Smart retail analytics and commercial messaging |
US20180053114A1 (en) | 2014-10-23 | 2018-02-22 | Brighterion, Inc. | Artificial intelligence for context classifier |
US9622702B2 (en) | 2014-04-03 | 2017-04-18 | The Nielsen Company (Us), Llc | Methods and apparatus to gather and analyze electroencephalographic data |
US20150287145A1 (en) * | 2014-04-04 | 2015-10-08 | Mastercard International Incorporated | Assessing merchant affinity |
US10419379B2 (en) | 2014-04-07 | 2019-09-17 | Visa International Service Association | Systems and methods to program a computing system to process related events via workflows configured using a graphical user interface |
CN103927675B (en) * | 2014-04-18 | 2017-07-11 | 北京京东尚科信息技术有限公司 | Judge the method and device of age of user section |
US9491031B2 (en) | 2014-05-06 | 2016-11-08 | At&T Intellectual Property I, L.P. | Devices, methods, and computer readable storage devices for collecting information and sharing information associated with session flows between communication devices and servers |
US20150324822A1 (en) * | 2014-05-06 | 2015-11-12 | Mastercard International Incorporated | Predicting transient population based on payment card usage |
US9576030B1 (en) | 2014-05-07 | 2017-02-21 | Consumerinfo.Com, Inc. | Keeping up with the joneses |
US20150324810A1 (en) * | 2014-05-07 | 2015-11-12 | Ebay Inc. | Personal universal profile |
US10354268B2 (en) | 2014-05-15 | 2019-07-16 | Visa International Service Association | Systems and methods to organize and consolidate data for improved data storage and processing |
US9449346B1 (en) | 2014-05-21 | 2016-09-20 | Plaid Technologies, Inc. | System and method for programmatically accessing financial data |
US9595023B1 (en) | 2014-05-21 | 2017-03-14 | Plaid Technologies, Inc. | System and method for facilitating programmatic verification of transactions |
US10395237B2 (en) | 2014-05-22 | 2019-08-27 | American Express Travel Related Services Company, Inc. | Systems and methods for dynamic proximity based E-commerce transactions |
US20150348057A1 (en) * | 2014-05-28 | 2015-12-03 | DecisionGPS. LLC | Determination of a Customer Store Segment Sales Model |
US10650398B2 (en) | 2014-06-16 | 2020-05-12 | Visa International Service Association | Communication systems and methods to transmit data among a plurality of computing systems in processing benefit redemption |
US11257117B1 (en) | 2014-06-25 | 2022-02-22 | Experian Information Solutions, Inc. | Mobile device sighting location analytics and profiling system |
US10614400B2 (en) | 2014-06-27 | 2020-04-07 | o9 Solutions, Inc. | Plan modeling and user feedback |
US11379781B2 (en) | 2014-06-27 | 2022-07-05 | o9 Solutions, Inc. | Unstructured data processing in plan modeling |
US11216765B2 (en) | 2014-06-27 | 2022-01-04 | o9 Solutions, Inc. | Plan modeling visualization |
WO2016006995A1 (en) * | 2014-07-09 | 2016-01-14 | Manja Technologies Sdn Bhd | Systems and methods for providing a social media platform with a loyalty system |
US10438226B2 (en) | 2014-07-23 | 2019-10-08 | Visa International Service Association | Systems and methods of using a communication network to coordinate processing among a plurality of separate computing systems |
US20160034925A1 (en) * | 2014-07-29 | 2016-02-04 | Mastercard International Incorporated | Systems and methods for identifying cardholder stock-piling behavior |
US20170249669A1 (en) * | 2014-07-29 | 2017-08-31 | Wal-Mart Stores, Inc. | Providing relevant product demonstrations |
US20160034968A1 (en) * | 2014-07-31 | 2016-02-04 | Huawei Technologies Co., Ltd. | Method and device for determining target user, and network server |
US20150339673A1 (en) | 2014-10-28 | 2015-11-26 | Brighterion, Inc. | Method for detecting merchant data breaches with a computer network server |
US20160055427A1 (en) | 2014-10-15 | 2016-02-25 | Brighterion, Inc. | Method for providing data science, artificial intelligence and machine learning as-a-service |
US20150032589A1 (en) | 2014-08-08 | 2015-01-29 | Brighterion, Inc. | Artificial intelligence fraud management solution |
US20150066771A1 (en) | 2014-08-08 | 2015-03-05 | Brighterion, Inc. | Fast access vectors in real-time behavioral profiling |
US20160055501A1 (en) * | 2014-08-19 | 2016-02-25 | Palantir Technologies Inc. | System and method for determining a cohort |
US10410272B1 (en) * | 2014-08-20 | 2019-09-10 | Square, Inc. | Predicting orders from buyer behavior |
US10469396B2 (en) | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
US11080709B2 (en) | 2014-10-15 | 2021-08-03 | Brighterion, Inc. | Method of reducing financial losses in multiple payment channels upon a recognition of fraud first appearing in any one payment channel |
US10546099B2 (en) | 2014-10-15 | 2020-01-28 | Brighterion, Inc. | Method of personalizing, individualizing, and automating the management of healthcare fraud-waste-abuse to unique individual healthcare providers |
US20160078367A1 (en) | 2014-10-15 | 2016-03-17 | Brighterion, Inc. | Data clean-up method for improving predictive model training |
US20160063502A1 (en) | 2014-10-15 | 2016-03-03 | Brighterion, Inc. | Method for improving operating profits with better automated decision making with artificial intelligence |
US20160071017A1 (en) | 2014-10-15 | 2016-03-10 | Brighterion, Inc. | Method of operating artificial intelligence machines to improve predictive model training and performance |
US20160110671A1 (en) * | 2014-10-20 | 2016-04-21 | Mastercard International Incorporated | Systems and methods for valuing a merchant using transaction data |
US11210669B2 (en) | 2014-10-24 | 2021-12-28 | Visa International Service Association | Systems and methods to set up an operation at a computer system connected with a plurality of computer systems via a computer network using a round trip communication of an identifier of the operation |
US20160117689A1 (en) * | 2014-10-27 | 2016-04-28 | Mastercard International Incorporated | Process and apparatus for assigning a match confidence metric for inferred match modeling |
US10140623B1 (en) * | 2014-10-27 | 2018-11-27 | Square, Inc. | Detection and explanation of lifts in merchant data |
US10290001B2 (en) | 2014-10-28 | 2019-05-14 | Brighterion, Inc. | Data breach detection |
KR102274069B1 (en) * | 2014-10-30 | 2021-07-06 | 삼성에스디에스 주식회사 | Apparatus and method for generating prediction model |
US9530151B2 (en) | 2014-11-26 | 2016-12-27 | Mastercard International Incorporated | Method and system for recommending a merchant based on transaction data |
US10852151B2 (en) | 2014-12-12 | 2020-12-01 | Square, Inc. | Dynamic reconfiguring of geo-fences |
US9483546B2 (en) | 2014-12-15 | 2016-11-01 | Palantir Technologies Inc. | System and method for associating related records to common entities across multiple lists |
US10580054B2 (en) | 2014-12-18 | 2020-03-03 | Experian Information Solutions, Inc. | System, method, apparatus and medium for simultaneously generating vehicle history reports and preapproved financing options |
JP6558765B2 (en) | 2014-12-18 | 2019-08-14 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Processing device, processing method, estimation device, estimation method, and program |
US10242019B1 (en) | 2014-12-19 | 2019-03-26 | Experian Information Solutions, Inc. | User behavior segmentation using latent topic detection |
US20160189203A1 (en) * | 2014-12-27 | 2016-06-30 | Teradata Us, Inc. | Automatic and dynamic predictive analytics |
CN105590223A (en) * | 2014-12-29 | 2016-05-18 | 中国银联股份有限公司 | Merchant business area information calibration |
US9589290B1 (en) | 2014-12-31 | 2017-03-07 | Square, Inc. | Client-side use of customer preferences |
US10127595B1 (en) | 2014-12-31 | 2018-11-13 | Square, Inc. | Categorization of items based on attributes |
US10430849B1 (en) | 2014-12-31 | 2019-10-01 | Square, Inc. | Propagation of customer preferences |
US20160253686A1 (en) * | 2015-01-15 | 2016-09-01 | Steven A. Roberts | Transaction-specific customer survey system |
US10185975B2 (en) * | 2015-02-04 | 2019-01-22 | Adobe Systems Incorporated | Predicting unsubscription of potential customers |
US20160232545A1 (en) * | 2015-02-10 | 2016-08-11 | Mastercard International Incorporated | System and method for detecting changes of employment |
US20180040010A1 (en) * | 2015-02-23 | 2018-02-08 | Nec Corporation | Grouping system, method and program |
US10565601B2 (en) | 2015-02-27 | 2020-02-18 | The Nielsen Company (Us), Llc | Methods and apparatus to identify non-traditional asset-bundles for purchasing groups using social media |
US9341490B1 (en) * | 2015-03-13 | 2016-05-17 | Telenav, Inc. | Navigation system with spelling error detection mechanism and method of operation thereof |
US10102582B2 (en) | 2015-03-13 | 2018-10-16 | Bank Of America Corporation | Streamlining application using a social network platform |
US20160314483A1 (en) * | 2015-04-22 | 2016-10-27 | Tata Consultancy Services Limited | Grouping of entities for delivery of tangible assets |
US20160314528A1 (en) * | 2015-04-24 | 2016-10-27 | Bank Of America Corporation | System for spend analysis data transformation for life event inference tracking |
US9691085B2 (en) | 2015-04-30 | 2017-06-27 | Visa International Service Association | Systems and methods of natural language processing and statistical analysis to identify matching categories |
AU2016270937B2 (en) | 2015-06-02 | 2021-07-29 | Liveperson, Inc. | Dynamic communication routing based on consistency weighting and routing rules |
CN105095646A (en) * | 2015-06-29 | 2015-11-25 | 北京京东尚科信息技术有限公司 | Data prediction method and electronic device |
US10440185B2 (en) * | 2015-07-09 | 2019-10-08 | Genesys Telecommunications Laboratories, Inc. | System and method for contact center shared economy |
US10671915B2 (en) | 2015-07-31 | 2020-06-02 | Brighterion, Inc. | Method for calling for preemptive maintenance and for equipment failure prevention |
US10430788B2 (en) | 2015-08-06 | 2019-10-01 | Green Dot Corporation | Systems and methods for fund transfers |
US10546320B2 (en) * | 2015-08-14 | 2020-01-28 | International Business Machines Corporation | Determining feature importance and target population in the context of promotion recommendation |
EP3347846B1 (en) | 2015-09-08 | 2021-12-22 | Plaid Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
US11216478B2 (en) | 2015-10-16 | 2022-01-04 | o9 Solutions, Inc. | Plan model searching |
US10740681B2 (en) * | 2015-11-09 | 2020-08-11 | Accenture Global Solutions Limited | Predictive modeling for adjusting initial values |
US11410230B1 (en) | 2015-11-17 | 2022-08-09 | Consumerinfo.Com, Inc. | Realtime access and control of secure regulated data |
US9767309B1 (en) | 2015-11-23 | 2017-09-19 | Experian Information Solutions, Inc. | Access control system for implementing access restrictions of regulated database records while identifying and providing indicators of regulated database records matching validation criteria |
US10757154B1 (en) | 2015-11-24 | 2020-08-25 | Experian Information Solutions, Inc. | Real-time event-based notification system |
MX2018006571A (en) * | 2015-12-11 | 2018-08-01 | Mastercard International Inc | Systems and methods for generating recommendations using a corpus of data. |
US10726491B1 (en) | 2015-12-28 | 2020-07-28 | Plaid Inc. | Parameter-based computer evaluation of user accounts based on user account data stored in one or more databases |
US10565627B2 (en) * | 2015-12-30 | 2020-02-18 | Google Llc | Systems and methods for automatically generating remarketing lists |
US10373131B2 (en) | 2016-01-04 | 2019-08-06 | Bank Of America Corporation | Recurring event analyses and data push |
US9679426B1 (en) | 2016-01-04 | 2017-06-13 | Bank Of America Corporation | Malfeasance detection based on identification of device signature |
US10984468B1 (en) | 2016-01-06 | 2021-04-20 | Plaid Inc. | Systems and methods for estimating past and prospective attribute values associated with a user account |
US11676060B2 (en) * | 2016-01-20 | 2023-06-13 | Adobe Inc. | Digital content interaction prediction and training that addresses imbalanced classes |
US20210264429A1 (en) | 2016-03-25 | 2021-08-26 | State Farm Mutual Automobile Insurance Company | Reducing false positive fraud alerts for card-present financial transactions |
US10832218B1 (en) * | 2016-04-05 | 2020-11-10 | Palantir Technologies Inc. | User interface for visualization of an attrition value |
MX2018012578A (en) | 2016-04-15 | 2019-03-01 | Walmart Apollo Llc | Systems and methods for providing content-based product recommendations. |
WO2017180966A1 (en) * | 2016-04-15 | 2017-10-19 | Wal-Mart Stores, Inc. | Systems and methods to generate coupon offerings to identified customers |
WO2017180977A1 (en) | 2016-04-15 | 2017-10-19 | Wal-Mart Stores, Inc. | Systems and methods for facilitating shopping in a physical retail facility |
WO2017181017A1 (en) | 2016-04-15 | 2017-10-19 | Wal-Mart Stores, Inc. | Partiality vector refinement systems and methods through sample probing |
US10346871B2 (en) * | 2016-04-22 | 2019-07-09 | Facebook, Inc. | Automatic targeting of content by clustering based on user feedback data |
US10997613B2 (en) * | 2016-04-29 | 2021-05-04 | Ncr Corporation | Cross-channel recommendation processing |
WO2017201605A1 (en) * | 2016-05-03 | 2017-11-30 | Affinio Inc. | Large scale social graph segmentation |
US20210142401A1 (en) * | 2016-05-05 | 2021-05-13 | State Farm Mutual Automobile Insurance Company | Customizing loan specifics on a per-user basis |
US11010810B1 (en) * | 2016-05-12 | 2021-05-18 | Brett Pylant | Computerized system and method for automatically establishing a network connection for a real-time video conference between users |
US11227304B2 (en) | 2016-05-13 | 2022-01-18 | Zeta Global Corp. | Adaptive real time modeling and scoring |
US11080714B2 (en) * | 2016-05-27 | 2021-08-03 | Mastercard International Incorporated | Systems and methods for providing stand-in authorization |
US10698599B2 (en) | 2016-06-03 | 2020-06-30 | Pegasystems, Inc. | Connecting graphical shapes using gestures |
EP3469505A4 (en) | 2016-06-13 | 2019-12-18 | Affinio Inc. | Method and apparatus for interacting with information distribution system |
MX2018015784A (en) | 2016-06-15 | 2019-05-09 | Walmart Apollo Llc | Vector-based characterizations of products and individuals with respect to customer service agent assistance. |
US10409867B1 (en) | 2016-06-16 | 2019-09-10 | Experian Information Solutions, Inc. | Systems and methods of managing a database of alphanumeric values |
US10463975B2 (en) * | 2016-06-30 | 2019-11-05 | Oath Inc. | Automatic fantasy sports data analysis method and apparatus |
US10373464B2 (en) | 2016-07-07 | 2019-08-06 | Walmart Apollo, Llc | Apparatus and method for updating partiality vectors based on monitoring of person and his or her home |
US10698647B2 (en) | 2016-07-11 | 2020-06-30 | Pegasystems Inc. | Selective sharing for collaborative application usage |
US10467659B2 (en) | 2016-08-03 | 2019-11-05 | Mediamath, Inc. | Methods, systems, and devices for counterfactual-based incrementality measurement in digital ad-bidding platform |
EP4130998A1 (en) | 2016-08-14 | 2023-02-08 | Liveperson Inc. | Systems and methods for real-time remote control of mobile applications |
US10678894B2 (en) | 2016-08-24 | 2020-06-09 | Experian Information Solutions, Inc. | Disambiguation and authentication of device users |
US10748171B2 (en) * | 2016-09-14 | 2020-08-18 | International Business Machines Corporation | Automated marketing rate optimizer |
US20180096250A1 (en) * | 2016-09-30 | 2018-04-05 | Salesforce.Com, Inc. | Predicting aggregate value of objects representing potential transactions |
WO2018069817A1 (en) * | 2016-10-10 | 2018-04-19 | Tata Consultancy Services Limited | System and method for predicting repeat behavior of customers |
US10896396B1 (en) * | 2016-10-18 | 2021-01-19 | Wells Fargo Bank, N.A. | Cognitive and heuristics-based emergent financial management |
US11294972B2 (en) * | 2016-11-10 | 2022-04-05 | Adobe Inc. | Generating sequential segments with pre-sequence and post-sequence analytics data |
MX2019005849A (en) * | 2016-11-21 | 2019-09-26 | Walmart Apollo Llc | Selecting products in a virtual environment. |
US10701163B2 (en) * | 2016-12-16 | 2020-06-30 | Visa International Service Association | Lines prediction model |
US10387968B2 (en) * | 2017-01-26 | 2019-08-20 | Intuit Inc. | Method to determine account similarity in an online accounting system |
US10402836B2 (en) * | 2017-01-31 | 2019-09-03 | Facebook, Inc. | System and method for selecting geographic regions for presentation of content based on characteristics of online system users in different geographic regions |
CA3050139A1 (en) | 2017-01-31 | 2018-08-09 | Experian Information Solutions, Inc. | Massive scale heterogeneous data ingestion and user resolution |
US20200013106A1 (en) * | 2017-02-10 | 2020-01-09 | Visa International Service Association | System for determining preferences based on past data |
US11481661B2 (en) | 2017-02-17 | 2022-10-25 | Visa International Service Association | Segmentation platform using feature and label pairs |
US10402723B1 (en) | 2018-09-11 | 2019-09-03 | Cerebri AI Inc. | Multi-stage machine-learning models to control path-dependent processes |
US10762563B2 (en) | 2017-03-10 | 2020-09-01 | Cerebri AI Inc. | Monitoring and controlling continuous stochastic processes based on events in time series data |
WO2018177503A1 (en) * | 2017-03-27 | 2018-10-04 | Swiss Reinsurance Company Ltd. | Adaptive, self-optimizing, leveraged capacity system and corresponding method thereof |
US20180285944A1 (en) * | 2017-03-30 | 2018-10-04 | Mastercard International Incorporated | Methods and Systems for Use in Providing Spend Profiles for Reviewers, in Response to Requests for Validation of Reviews Submitted by the Reviewers |
WO2018191451A1 (en) | 2017-04-13 | 2018-10-18 | Walmart Apollo, Llc | Systems and methods for receiving retail products at a delivery destination |
US11144844B2 (en) * | 2017-04-26 | 2021-10-12 | Bank Of America Corporation | Refining customer financial security trades data model for modeling likelihood of successful completion of financial security trades |
US10628843B2 (en) * | 2017-04-27 | 2020-04-21 | Mastercard International Incorporated | Systems and methods for facilitating loyalty reward environments |
US10354276B2 (en) | 2017-05-17 | 2019-07-16 | Mediamath, Inc. | Systems, methods, and devices for decreasing latency and/or preventing data leakage due to advertisement insertion |
US10997672B2 (en) * | 2017-05-31 | 2021-05-04 | Intuit Inc. | Method for predicting business income from user transaction data |
US10936653B2 (en) | 2017-06-02 | 2021-03-02 | Apple Inc. | Automatically predicting relevant contexts for media items |
US10769193B2 (en) * | 2017-06-20 | 2020-09-08 | International Business Machines Corporation | Predictive model clustering |
US10524165B2 (en) | 2017-06-22 | 2019-12-31 | Bank Of America Corporation | Dynamic utilization of alternative resources based on token association |
US10511692B2 (en) | 2017-06-22 | 2019-12-17 | Bank Of America Corporation | Data transmission to a networked resource based on contextual information |
US10313480B2 (en) | 2017-06-22 | 2019-06-04 | Bank Of America Corporation | Data transmission between networked resources |
US10762423B2 (en) | 2017-06-27 | 2020-09-01 | Asapp, Inc. | Using a neural network to optimize processing of user requests |
WO2019010245A1 (en) * | 2017-07-03 | 2019-01-10 | Leadcrunch, Inc. | Method and system for creating and updating entity vectors |
WO2019013741A1 (en) * | 2017-07-10 | 2019-01-17 | Visa International Service Association | System, method, and computer program product for segmenting users in a region based on predicted activity |
US11210276B1 (en) | 2017-07-14 | 2021-12-28 | Experian Information Solutions, Inc. | Database system for automated event analysis and detection |
US10650391B2 (en) | 2017-07-18 | 2020-05-12 | Mastercard International Incorporated | System and method for determining population movement |
US10878421B2 (en) | 2017-07-22 | 2020-12-29 | Plaid Inc. | Data verified deposits |
US11468085B2 (en) | 2017-07-22 | 2022-10-11 | Plaid Inc. | Browser-based aggregation |
US10796303B2 (en) * | 2017-09-06 | 2020-10-06 | Visa International Service Association | System, method, and computer program product for predicting payment transactions using a machine learning technique based on merchant categories and transaction time data |
US10614402B2 (en) | 2017-09-15 | 2020-04-07 | International Business Machines Corporation | Human steering dashboard to analyze 360-degree market view for merchants based on financial transactions |
US11715154B2 (en) | 2017-09-22 | 2023-08-01 | Green Dot Corporation | Systems and methods for managing accounts in a financial services system |
US10268704B1 (en) | 2017-10-12 | 2019-04-23 | Vast.com, Inc. | Partitioned distributed database systems, devices, and methods |
US11250040B2 (en) | 2017-10-19 | 2022-02-15 | Capital One Services, Llc | Systems and methods for extracting information from a text string generated in a distributed computing operation |
US11935024B1 (en) | 2017-10-20 | 2024-03-19 | Block, Inc. | Account-based data and marketplace generation |
US11449899B2 (en) * | 2017-10-30 | 2022-09-20 | Meta Platforms, Inc. | Systems and methods for promoting groups |
US10963921B2 (en) * | 2017-11-07 | 2021-03-30 | Facebook, Inc. | Presenting content to an online system user assigned to a stage of a classification scheme and determining a value associated with an advancement of the user to a succeeding stage |
US20190180345A1 (en) * | 2017-12-08 | 2019-06-13 | Visa International Service Association | System, Method, and Computer Program Product for Determining Category Alignment of an Account |
US10769647B1 (en) * | 2017-12-21 | 2020-09-08 | Wells Fargo Bank, N.A. | Divergent trend detection and mitigation computing system |
US11068540B2 (en) | 2018-01-25 | 2021-07-20 | Ab Initio Technology Llc | Techniques for integrating validation results in data profiling and related systems and methods |
US11348142B2 (en) | 2018-02-08 | 2022-05-31 | Mediamath, Inc. | Systems, methods, and devices for componentization, modification, and management of creative assets for diverse advertising platform environments |
US10740404B1 (en) | 2018-03-07 | 2020-08-11 | Experian Information Solutions, Inc. | Database system for dynamically generating customized models |
US20190295124A1 (en) * | 2018-03-26 | 2019-09-26 | DoorDash, Inc. | Dynamic predictive similarity grouping based on vectorization of merchant data |
CN110809778A (en) * | 2018-03-30 | 2020-02-18 | 加藤宽之 | Stock price prediction support system and method |
US20190342297A1 (en) | 2018-05-01 | 2019-11-07 | Brighterion, Inc. | Securing internet-of-things with smart-agent technology |
US11195205B2 (en) * | 2018-06-12 | 2021-12-07 | Capital One Services, Llc | Systems and methods for processing and providing transaction affinity profile information |
WO2019245559A2 (en) * | 2018-06-21 | 2019-12-26 | Visa International Service Association | System and method for detecting and preventing "friendly fraud" |
WO2020005895A1 (en) * | 2018-06-25 | 2020-01-02 | Nasdaq, Inc. | Systems and methods of windowing time series data for pattern detection |
US20210264448A1 (en) * | 2018-07-24 | 2021-08-26 | Visa International Service Association | Privacy preserving ai derived simulated world |
US11048488B2 (en) | 2018-08-14 | 2021-06-29 | Pegasystems, Inc. | Software code optimizer and method |
US11361337B2 (en) * | 2018-08-21 | 2022-06-14 | Accenture Global Solutions Limited | Intelligent case management platform |
US11093462B1 (en) | 2018-08-29 | 2021-08-17 | Intuit Inc. | Method and system for identifying account duplication in data management systems |
US11265324B2 (en) | 2018-09-05 | 2022-03-01 | Consumerinfo.Com, Inc. | User permissions for access to secure data at third-party |
US11301853B2 (en) * | 2018-09-13 | 2022-04-12 | Paypal, Inc. | Speculative transaction operations for recognized devices |
US11316862B1 (en) | 2018-09-14 | 2022-04-26 | Plaid Inc. | Secure authorization of access to user accounts by one or more authorization mechanisms |
US20200097879A1 (en) * | 2018-09-25 | 2020-03-26 | Oracle International Corporation | Techniques for automatic opportunity evaluation and action recommendation engine |
US11132689B2 (en) * | 2018-09-28 | 2021-09-28 | Square, Inc. | Intelligent management of authorization requests |
US10402817B1 (en) * | 2018-10-12 | 2019-09-03 | Capital One Services, Llc | Relaxed fraud detection for transactions using virtual transaction cards |
US11210721B1 (en) | 2018-10-15 | 2021-12-28 | Square, Inc. | Converting items into vectors to determine optimized locations |
WO2020081043A1 (en) * | 2018-10-15 | 2020-04-23 | Visa International Service Association | System, method, and computer program product for processing a chargeback or pre-processing request |
US11068942B2 (en) * | 2018-10-19 | 2021-07-20 | Cerebri AI Inc. | Customer journey management engine |
AU2018256664A1 (en) * | 2018-11-02 | 2020-05-21 | Australian Bond Exchange Holdings Limited | System and Computer Implemented Method for Facilitating the Transaction and Settlement of a Financial Instrument |
US11157835B1 (en) | 2019-01-11 | 2021-10-26 | Experian Information Solutions, Inc. | Systems and methods for generating dynamic models based on trigger events |
US10509949B1 (en) * | 2019-01-24 | 2019-12-17 | Capital One Services, Llc | Method and system for customizing user experience |
US11544629B2 (en) * | 2019-02-28 | 2023-01-03 | DoorDash, Inc. | Personalized merchant scoring based on vectorization of merchant and customer data |
KR102205324B1 (en) * | 2019-04-25 | 2021-01-20 | (주)밸류파인더스 | Merchant Recommend Method using Double DNN |
US11531875B2 (en) | 2019-05-14 | 2022-12-20 | Nasdaq, Inc. | Systems and methods for generating datasets for model retraining |
US10664742B1 (en) * | 2019-05-16 | 2020-05-26 | Capital One Services, Llc | Systems and methods for training and executing a recurrent neural network to determine resolutions |
US20220230209A1 (en) * | 2019-05-22 | 2022-07-21 | Affinio Inc. | Marketing inference engine and method therefor |
US11762950B1 (en) * | 2019-05-27 | 2023-09-19 | ExSano, Inc. | Automatic and blind segmentation of diverse data |
US11315177B2 (en) * | 2019-06-03 | 2022-04-26 | Intuit Inc. | Bias prediction and categorization in financial tools |
US11216832B2 (en) * | 2019-06-24 | 2022-01-04 | Advanced New Technologies Co., Ltd. | Predicting future user transactions |
US11023879B2 (en) * | 2019-08-30 | 2021-06-01 | Advanced New Technologies Co., Ltd. | Recommending target transaction code setting region |
US11593847B2 (en) * | 2019-09-03 | 2023-02-28 | Visa International Service Association | Unsupervised embeddings disentanglement using a GAN for merchant recommendations |
US11385782B2 (en) | 2019-09-06 | 2022-07-12 | Ebay Inc. | Machine learning-based interactive visual monitoring tool for high dimensional data sets across multiple KPIs |
US11036607B2 (en) | 2019-09-06 | 2021-06-15 | Ebay Inc. | Visualization of high-dimensional data |
US11182829B2 (en) | 2019-09-23 | 2021-11-23 | Mediamath, Inc. | Systems, methods, and devices for digital advertising ecosystems implementing content delivery networks utilizing edge computing |
US11257088B2 (en) * | 2019-09-30 | 2022-02-22 | Microsoft Technology Licensing, Llc | Knowledge neighbourhoods for evaluating business events |
US11144935B2 (en) | 2019-10-18 | 2021-10-12 | Capital One Services, Llc | Technique to aggregate merchant level information for use in a supervised learning model to detect recurring trends in consumer transactions |
US11216751B2 (en) * | 2019-10-18 | 2022-01-04 | Capital One Services, Llc | Incremental time window procedure for selecting training samples for a supervised learning algorithm |
US11386408B2 (en) * | 2019-11-01 | 2022-07-12 | Intuit Inc. | System and method for nearest neighbor-based bank account number validation |
US11556734B2 (en) | 2019-11-05 | 2023-01-17 | International Business Machines Corporation | System and method for unsupervised abstraction of sensitive data for realistic modeling |
US11842357B2 (en) | 2019-11-05 | 2023-12-12 | International Business Machines Corporation | Intelligent agent to simulate customer data |
US11599884B2 (en) | 2019-11-05 | 2023-03-07 | International Business Machines Corporation | Identification of behavioral pattern of simulated transaction data |
US11488185B2 (en) | 2019-11-05 | 2022-11-01 | International Business Machines Corporation | System and method for unsupervised abstraction of sensitive data for consortium sharing |
US11494835B2 (en) | 2019-11-05 | 2022-11-08 | International Business Machines Corporation | Intelligent agent to simulate financial transactions |
US11461728B2 (en) | 2019-11-05 | 2022-10-04 | International Business Machines Corporation | System and method for unsupervised abstraction of sensitive data for consortium sharing |
US11475467B2 (en) | 2019-11-05 | 2022-10-18 | International Business Machines Corporation | System and method for unsupervised abstraction of sensitive data for realistic modeling |
US11488172B2 (en) | 2019-11-05 | 2022-11-01 | International Business Machines Corporation | Intelligent agent to simulate financial transactions |
US11475468B2 (en) * | 2019-11-05 | 2022-10-18 | International Business Machines Corporation | System and method for unsupervised abstraction of sensitive data for detection model sharing across entities |
US11461793B2 (en) | 2019-11-05 | 2022-10-04 | International Business Machines Corporation | Identification of behavioral pattern of simulated transaction data |
US11676218B2 (en) | 2019-11-05 | 2023-06-13 | International Business Machines Corporation | Intelligent agent to simulate customer data |
CN110968584B (en) * | 2019-12-03 | 2023-03-14 | 北京明略软件系统有限公司 | Portrait generation system, method, electronic device and readable storage medium |
US20210201237A1 (en) * | 2019-12-27 | 2021-07-01 | Oracle International Corporation | Enhanced user selection for communication workflows using machine-learning techniques |
US11682041B1 (en) | 2020-01-13 | 2023-06-20 | Experian Marketing Solutions, Llc | Systems and methods of a tracking analytics platform |
US11537923B2 (en) * | 2020-02-04 | 2022-12-27 | Ford Global Technologies, Llc | Predictive methodology to identify potential unknown sweet spots |
CN111274501B (en) * | 2020-02-25 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | Method, system and non-transitory storage medium for pushing information |
TR202003219A1 (en) * | 2020-03-02 | 2021-09-21 | Borusan Makina Ve Guec Sistemleri Sanayi Ve Ticaret Anonim Sirketi | SCORING METHOD WITH RFM-S |
US11423432B2 (en) | 2020-04-21 | 2022-08-23 | Capital One Services, Llc | System, method and computer-accessible medium for providing financial account recommendation based on use of benefits |
KR102252859B1 (en) * | 2020-05-04 | 2021-05-14 | 윤성민 | Foreign currency exchange system and method thereof |
US11887069B2 (en) | 2020-05-05 | 2024-01-30 | Plaid Inc. | Secure updating of allocations to user accounts |
US20230267507A1 (en) * | 2020-07-02 | 2023-08-24 | Catalina Marketing Corporation | Generating and handling optimized consumer segments |
CN111930604B (en) * | 2020-08-14 | 2023-11-10 | 中国工商银行股份有限公司 | Online transaction performance analysis method and device, electronic equipment and readable storage medium |
CN114078008A (en) * | 2020-08-20 | 2022-02-22 | 腾讯科技(深圳)有限公司 | Abnormal behavior detection method, device, equipment and computer readable storage medium |
US11900457B2 (en) * | 2020-08-24 | 2024-02-13 | Leonid Chuzhoy | Methods for prediction and rating aggregation |
US11567945B1 (en) | 2020-08-27 | 2023-01-31 | Pegasystems Inc. | Customized digital content generation systems and methods |
US11327960B1 (en) | 2020-10-16 | 2022-05-10 | Plaid Inc. | Systems and methods for data parsing |
TWI779387B (en) * | 2020-11-06 | 2022-10-01 | 台北富邦商業銀行股份有限公司 | Smart customer tagging device and method thereof |
US11551251B2 (en) * | 2020-11-12 | 2023-01-10 | Rodney Yates | System and method for transactional data acquisition, aggregation, processing, and dissemination in coordination with a preference matching algorithm |
WO2022101866A1 (en) * | 2020-11-15 | 2022-05-19 | Financial & Risk Organisation Limited | User-defined matching |
US11676169B1 (en) | 2021-01-15 | 2023-06-13 | Walgreen Co. | Machine learning system for personally optimized offer decay curves |
US20220277249A1 (en) * | 2021-02-26 | 2022-09-01 | Intuit Inc. | Benchmarking based on company vendor data |
WO2022178640A1 (en) * | 2021-02-28 | 2022-09-01 | The Toronto-Dominion Bank | Predicting occurrences of targeted classes of events using trained artificial-intelligence processes |
US20220318906A1 (en) * | 2021-04-05 | 2022-10-06 | Pranil Ram | Interactive Grid-based Graphical Trading System with Smart Order Action |
US20220335489A1 (en) * | 2021-04-16 | 2022-10-20 | Maplebear, Inc.(dba Instacart) | Clustering items offered by an online concierge system to create and to recommend collections of items to users |
CN113256116A (en) * | 2021-05-26 | 2021-08-13 | 陈新燊 | Transaction price reference index calculation method realized through computer |
US11301473B1 (en) | 2021-06-18 | 2022-04-12 | Sas Institute Inc. | Dataset overlap query system |
US20230036263A1 (en) * | 2021-07-27 | 2023-02-02 | Capital One Services, Llc | Entity embeddings for virtual card number payment verification |
US20230039776A1 (en) * | 2021-08-09 | 2023-02-09 | Known Global LLC | Systems and methods of log optimization for television advertisements |
US20230073226A1 (en) * | 2021-09-09 | 2023-03-09 | Yahoo Assets Llc | System and method for bounding means of discrete-valued distributions |
US20230121239A1 (en) * | 2021-10-15 | 2023-04-20 | Tomer Karni | Systems and methods for dynamically determining the best respected moving average lines associated with a time series data set |
US20230169494A1 (en) * | 2021-12-01 | 2023-06-01 | Curve Os Limited | System and method for application of smart rules to data transactions |
US11715130B2 (en) * | 2021-12-13 | 2023-08-01 | Fmr Llc | Systems and methods for designing targeted marketing campaigns |
US20230267520A1 (en) * | 2022-02-18 | 2023-08-24 | Morgan Stanley Services Group Inc. | Systems and methods for automatically predicting future events |
CN116415990B (en) * | 2023-06-09 | 2023-09-01 | 吉贝克信息技术(北京)有限公司 | Cloud computing-based self-service data analysis method, system and storage medium |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4908761A (en) | 1988-09-16 | 1990-03-13 | Innovare Resourceful Marketing Group, Inc. | System for identifying heavy product purchasers who regularly use manufacturers' purchase incentives and predicting consumer promotional behavior response patterns |
US5644723A (en) | 1989-05-01 | 1997-07-01 | Credit Verification Corporation | Method and system for selective incentive point-of-sale marketing in response to customer shopping histories |
US5201010A (en) | 1989-05-01 | 1993-04-06 | Credit Verification Corporation | Method and system for building a database and performing marketing based upon prior shopping history |
US5621812A (en) | 1989-05-01 | 1997-04-15 | Credit Verification Corporation | Method and system for building a database for use with selective incentive marketing in response to customer shopping histories |
US5299115A (en) | 1989-09-12 | 1994-03-29 | Mrs. Fields Software Group Inc. | Product demand system and method |
US5712985A (en) | 1989-09-12 | 1998-01-27 | Lee; Michael D. | System and method for estimating business demand based on business influences |
US5459656A (en) | 1989-09-12 | 1995-10-17 | Park City Group, Inc. | Business demand projection system and method |
US5317507A (en) | 1990-11-07 | 1994-05-31 | Gallant Stephen I | Method for document retrieval and for word sense disambiguation using neural networks |
US5325298A (en) | 1990-11-07 | 1994-06-28 | Hnc, Inc. | Methods for generating or revising context vectors for a plurality of word stems |
US5832457A (en) | 1991-05-06 | 1998-11-03 | Catalina Marketing International, Inc. | Method and apparatus for selective distribution of discount coupons based on prior customer behavior |
US5819226A (en) | 1992-09-08 | 1998-10-06 | Hnc Software Inc. | Fraud detection using predictive modeling |
AU674189B2 (en) | 1993-02-23 | 1996-12-12 | Moore North America, Inc. | A method and system for gathering and analyzing customer and purchasing information |
US5619709A (en) | 1993-09-20 | 1997-04-08 | Hnc, Inc. | System and method of context vector generation and retrieval |
GB9320072D0 (en) | 1993-09-29 | 1993-11-17 | Ncr Int Inc | Self-service system having predictive capability |
US5675711A (en) | 1994-05-13 | 1997-10-07 | International Business Machines Corporation | Adaptive statistical regression and classification of data strings, with application to the generic detection of computer viruses |
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5615341A (en) | 1995-05-08 | 1997-03-25 | International Business Machines Corporation | System and method for mining generalized association rules in databases |
US5675706A (en) | 1995-03-31 | 1997-10-07 | Lucent Technologies Inc. | Vocabulary independent discriminative utterance verification for non-keyword rejection in subword based speech recognition |
US5704017A (en) | 1996-02-16 | 1997-12-30 | Microsoft Corporation | Collaborative filtering utilizing a belief network |
US6026397A (en) * | 1996-05-22 | 2000-02-15 | Electronic Data Systems Corporation | Data analysis system and method |
US5778362A (en) | 1996-06-21 | 1998-07-07 | Kdl Technologies Limted | Method and system for revealing information structures in collections of data items |
US5956693A (en) * | 1996-07-19 | 1999-09-21 | Geerlings; Huib | Computer system for merchant communication to customers |
JPH10124478A (en) * | 1996-10-23 | 1998-05-15 | Nri & Ncc Co Ltd | Device for constructing segment generation type predicted model and method therefor |
US5742985A (en) * | 1996-12-23 | 1998-04-28 | Larrabee; Christopher M. | Clip-on camouflage outfit accessory |
US5819258A (en) | 1997-03-07 | 1998-10-06 | Digital Equipment Corporation | Method and apparatus for automatically generating hierarchical categories from large document collections |
US5895470A (en) | 1997-04-09 | 1999-04-20 | Xerox Corporation | System for categorizing documents in a linked collection of documents |
US6484149B1 (en) | 1997-10-10 | 2002-11-19 | Microsoft Corporation | Systems and methods for viewing product information, and methods for generating web pages |
US6230143B1 (en) | 1997-11-12 | 2001-05-08 | Valassis Communications, Inc. | System and method for analyzing coupon redemption data |
US6134532A (en) | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
US20010014868A1 (en) | 1997-12-05 | 2001-08-16 | Frederick Herz | System for the automatic determination of customized prices and promotions |
JP3478967B2 (en) * | 1998-03-04 | 2003-12-15 | 日本電信電話株式会社 | Two-phase data cluster method and apparatus and recording medium recording two-phase data cluster program |
US6078893A (en) * | 1998-05-21 | 2000-06-20 | Khimetrics, Inc. | Method for stabilized tuning of demand models |
WO2000002138A1 (en) | 1998-07-06 | 2000-01-13 | Bios Group Lp | A method for performing market segmentation and for predicting consumer demand |
US6327574B1 (en) * | 1998-07-07 | 2001-12-04 | Encirq Corporation | Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner |
US6189005B1 (en) * | 1998-08-21 | 2001-02-13 | International Business Machines Corporation | System and method for mining surprising temporal patterns |
US6338066B1 (en) | 1998-09-25 | 2002-01-08 | International Business Machines Corporation | Surfaid predictor: web-based system for predicting surfer behavior |
US6289354B1 (en) | 1998-10-07 | 2001-09-11 | International Business Machines Corporation | System and method for similarity searching in high-dimensional data space |
US6263334B1 (en) * | 1998-11-11 | 2001-07-17 | Microsoft Corporation | Density-based indexing method for efficient execution of high dimensional nearest-neighbor queries on large databases |
US6216129B1 (en) * | 1998-12-03 | 2001-04-10 | Expanse Networks, Inc. | Advertisement selection system supporting discretionary target market characteristics |
US7035855B1 (en) | 2000-07-06 | 2006-04-25 | Experian Marketing Solutions, Inc. | Process and system for integrating information from disparate databases for purposes of predicting consumer behavior |
JP2003524221A (en) | 1999-01-27 | 2003-08-12 | リチャード・ソーンダーズ・インターナショナル | Simulation method of human response to stimulus |
US7130808B1 (en) | 1999-12-29 | 2006-10-31 | The Product Engine, Inc. | Method, algorithm, and computer program for optimizing the performance of messages including advertisements in an interactive measurable medium |
AU2001238621A1 (en) | 2000-02-22 | 2001-09-03 | Bluestreak.Com | Dynamic targeting with experimentation over a network |
US7472072B2 (en) | 2000-02-24 | 2008-12-30 | Twenty-Ten, Inc. | Systems and methods for targeting consumers attitudinally aligned with determined attitudinal segment definitions |
WO2001063495A2 (en) | 2000-02-24 | 2001-08-30 | Craig Kowalchuk | Targeted profitability system |
US7376618B1 (en) | 2000-06-30 | 2008-05-20 | Fair Isaac Corporation | Detecting and measuring risk with predictive models using content mining |
US6978249B1 (en) | 2000-07-28 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Profile-based product demand forecasting |
-
1999
- 1999-05-06 US US09/306,237 patent/US6430539B1/en not_active Expired - Lifetime
-
2000
- 2000-05-04 EP EP00109516A patent/EP1050833A3/en not_active Withdrawn
- 2000-05-04 CA CA002307484A patent/CA2307484A1/en not_active Expired - Lifetime
- 2000-05-04 CA CA002619667A patent/CA2619667A1/en not_active Expired - Lifetime
- 2000-05-08 JP JP2000139422A patent/JP4707797B2/en not_active Expired - Lifetime
- 2000-10-03 US US09/679,022 patent/US6839682B1/en not_active Expired - Lifetime
-
2004
- 2004-12-14 US US11/012,812 patent/US7165037B2/en not_active Ceased
-
2007
- 2007-01-15 US US11/623,266 patent/US7533038B2/en not_active Expired - Lifetime
-
2010
- 2010-03-22 US US12/729,218 patent/USRE42663E1/en not_active Expired - Lifetime
- 2010-03-22 US US12/729,215 patent/USRE42577E1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138632B2 (en) * | 2008-03-17 | 2021-10-05 | Segmint Inc. | System and method for authenticating a customer for a pre-approved offer of credit |
US11232477B1 (en) * | 2013-07-30 | 2022-01-25 | Groupon, Inc. | Sourcing goods based on pre-feature analytics |
Also Published As
Publication number | Publication date |
---|---|
EP1050833A2 (en) | 2000-11-08 |
USRE42663E1 (en) | 2011-08-30 |
US7165037B2 (en) | 2007-01-16 |
US20050159996A1 (en) | 2005-07-21 |
JP4707797B2 (en) | 2011-06-22 |
US6839682B1 (en) | 2005-01-04 |
US20070244741A1 (en) | 2007-10-18 |
US6430539B1 (en) | 2002-08-06 |
CA2619667A1 (en) | 2000-11-06 |
EP1050833A3 (en) | 2004-03-17 |
US7533038B2 (en) | 2009-05-12 |
USRE42577E1 (en) | 2011-07-26 |
JP2000357204A (en) | 2000-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6430539B1 (en) | Predictive modeling of consumer financial behavior | |
Linoff et al. | Data mining techniques: for marketing, sales, and customer relationship management | |
US8032448B2 (en) | Detecting and measuring risk with predictive models using content mining | |
Olson et al. | Advanced data mining techniques | |
US7853469B2 (en) | Methods and systems for predicting business behavior from profiling consumer card transactions | |
US20090132347A1 (en) | Systems And Methods For Aggregating And Utilizing Retail Transaction Records At The Customer Level | |
Hsieh | An integrated data mining and behavioral scoring model for analyzing bank customers | |
Bose et al. | Quantitative models for direct marketing: A review from systems perspective | |
Chiang | To mine association rules of customer values via a data mining procedure with improved model: An empirical case study | |
Raorane et al. | Data mining techniques: A source for consumer behavior analysis | |
US20200250185A1 (en) | System and method for deriving merchant and product demographics from a transaction database | |
Yanchenko et al. | Multivariate dynamic modeling for Bayesian forecasting of business revenue | |
Sumathi et al. | Data mining tasks, techniques, and applications | |
Ehsani | Customer churn prediction from Internet banking transactions data using an ensemble meta-classifier algorithm | |
Levin et al. | Data mining for target marketing | |
Khan | LRFS: online shoppers’ behavior based efficient customer segmentation model | |
HARINI et al. | CUSTOMER SEGMENTATION AND MARKET BASKET ANALYSIS USING MACHINE LEARNING AND DATA MINING TECHNIQUES | |
Virk | Improving E-Commerce Recommendations using High Utility Sequential Patterns of Historical Purchase and Click Stream Data | |
Priya et al. | An overview of data mining-A survey paper | |
Silva et al. | OMBA: User-Guided Product Representations for Online Market Basket Analysis | |
PERERA | Market Outreach for Retail Supermarkets through Customer Segmentation | |
Sen | An overview of data mining and marketing | |
Mahdee et al. | Customer segmentation using K-means | |
Lin | Data Mining and Mathematical Models for Direct Market Campaign Optimization for Fred Meyer Jewelers | |
Sadibhakdi et al. | Market basket analysis of drugs stores in a monthly period |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20200504 |