# Patent

## Title
Systems and methods for providing predictive affinity relationship information

## Abstract

In certain aspects, the disclosed implementations include methods and systems for dynamically generating and determining transaction affinity relationship information associated with a set of merchants involved in a set of transactions. In certain implementations, the transaction affinity relationship information may reflect affinity relationships between merchant chains in a merchant affinity network. The disclosed implementations may receive an adjustment to an affinity relationship associated with a merchant chain, and based on the adjustment, predicts one or more changes to affinity relationships associated with other merchant chains in the merchant affinity network.

## Background
RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 16/006,718, filed Jun. 12, 2018 (now U.S. Pat. No. 11,068,933), which is a continuation-in-part of U.S. patent application Ser. No. 16/006,075, filed on Jun. 12, 2018 (now U.S. Pat. No. 10,521,820), entitled “SYSTEMS AND METHODS FOR PROVIDING TRANSACTION AFFINITY INFORMATION.” The contents of both of the above-referenced applications are expressly incorporated by reference herein.


BACKGROUND
Technologies for processing transaction-related data enable data to be processed to provide information to computing components for intelligent analysis and feedback to users. Monitoring transactions enables back-end and client-side systems to analyze and provide targeted feedback. The analysis provides opportunities for a computing system to process information in an efficient manner to generate and provide, for example, targeted and predictive feedback information that can be used to adjust subsequent operations, actions and/or decisions.
SUMMARY
Consistent with the disclosure, systems and methods are provided for dynamically analyzing transaction data to determine, generate, and provide transaction affinity recommendation data. In some examples, the disclosed implementations may perform one or more transaction affinity processes that collect and analyze transaction information associated with one or more accounts to determine and generate transaction affinity data reflecting one or more relationships between the transactions and merchants associated with the transactions. Based on the transaction affinity relationships, the disclosed implementations may dynamically determine and provide transaction affinity recommendation data that may be used by user(s) and/or computing systems for adjusting subsequent events, actions, and processes relating to the transactions, account(s), and/or user(s). These and other exemplary aspects of the disclosed implementations are described in detail below.
It is to be understood that both the general and detailed descriptions below are exemplary and are not restrictive of the implementations and aspects of the disclosed and claimed implementations.
The accompanying drawings illustrate exemplary aspects of the disclosed implementations and, together with the descriptions below, provide explanations relating to the general and/or technical features relating to the disclosed implementations.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an exemplary system consistent with disclosed implementations;
FIG. 2 is a block diagram of an exemplary transaction affinity platform system, consistent with disclosed implementations;
FIG. 3 is a block diagram of an exemplary client system, consistent with disclosed implementations;
FIG. 4 is a block diagram of an exemplary merchant system, consistent with disclosed implementations;
FIG. 5 is a flow chart of an exemplary transaction affinity process, consistent with disclosed implementations;
FIG. 6 is a flow chart of an exemplary transaction affinity data collection process, consistent with disclosed implementations;
FIG. 7 is a block diagram of exemplary transaction affinity data, consistent with disclosed implementations;
FIG. 8 is a flow chart of an exemplary trip transaction data determination process, consistent with disclosed implementations;
FIG. 9 is a block diagram of exemplary time gap data, consistent with disclosed implementations;
FIG. 10 is a flow chart of an exemplary transaction affinity relationship determination process, consistent with disclosed implementations;
FIG. 11 is a block diagram of exemplary count data, consistent with disclosed implementations;
FIG. 12 is a block diagram of an exemplary merchant affinity relationship network, consistent with disclosed implementations;
FIG. 13 is a block diagram of exemplary merchant affinity relationships, consistent with disclosed implementations;
FIG. 14 is a flow chart of an exemplary merchant recommendation process, consistent with disclosed implementations;
FIG. 15 is a block diagram of exemplary location information, consistent with disclosed implementations;
FIG. 16 is a block diagram of an exemplary merchant affinity network, consistent with disclosed implementations;
FIG. 17 is a block diagram of exemplary location information stores, consistent with disclosed implementations;
FIG. 18 is a block diagram of an exemplary merchant information store and an exemplary merchant affinity relationship store, consistent with disclosed implementations;
FIG. 19 is a flow chart of an exemplary transaction affinity provisioning process, consistent with disclosed implementations;
FIG. 20 is a block diagram of an exemplary merchant affinity network, consistent with disclosed implementations;
FIG. 21 is a block diagram of an exemplary merchant affinity network with merchant affinity relationships, consistent with disclosed implementations;
FIG. 22 is a block diagram of another exemplary merchant affinity network with adjusted merchant affinity relationships, consistent with disclosed implementations;
FIG. 23 is a block diagram of an exemplary merchant affinity network associated with related merchant business locations, consistent with disclosed implementations; and
FIG. 24 is a block diagram of an exemplary adjusted merchant affinity network associated with related merchant business locations, consistent with disclosed implementations.



DETAILED DESCRIPTION
The following detailed description of exemplary implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar components, functionalities, processes, elements, and the like.
The disclosed implementations include methods, systems, and tangible articles of manufacture that may be configured to provide, for example, transaction affinity information that may be used to provide efficient computing of transaction information. In certain aspects, the disclosed implementations may perform transaction affinity process(es) to determine transaction affinity relationship data that may be used to provide data relating to one or more recommendations concerning action and events, such as a user event involving the use of an account to perform one or more transactions in a related sequence. In additional aspects, the disclosed implementations may perform process(es) to collect and process transaction data to determine, generate, and analyze transaction affinity data, which may be used to determine transaction affinity relationships. In certain examples, the disclosed implementations may perform recommendation process(es) that analyze transaction affinity relationship data to identify potential merchants for consideration by computing system(s) and/or user(s). Based on such analysis and processing, the disclosed implementations may generate and provide merchant recommendation data for subsequent processing and analysis. In other aspects, the disclosed implementations may perform predictive transaction affinity relationship processes that provide predictive affinity relationship information.
For example, the disclosed embodiments may include transaction affinity platform computing components that execute software stored in a memory to perform processes for determining predictive affinity relationship information. In certain aspects, the processes may include receiving transaction data associated with a set of transactions involving merchants and at least one user account used for the set of transactions, generating a transaction affinity data set based on the transaction data, and generating transaction affinity relationship information for a merchant affinity network based on the transaction affinity data set, the merchant affinity network including a set of merchants having affinity relationships based on the transaction data. In certain implementations, the transaction affinity relationship information may include merchant chain information for a set of merchant chains having affinity relationships in the merchant affinity network. Moreover, the transaction affinity relationship information may include, for each merchant chain in the set of merchant chains, hop information reflecting a number of sequentially related transactions between at least an originating merchant and a terminating merchant in the merchant chain, merchant location information reflecting one or more location areas associated with each merchant in the merchant chain, merchant chain category information reflecting a transaction category associated with the merchants in the merchant chain, and affinity value information reflecting an affinity relationship strength for the merchant chain. The processes may also include receiving an adjustment to a first affinity value corresponding to a first merchant chain in the set of merchant chains of the merchant chain information. Further, the processes may include analyzing at least one of time information associated with the affinity value adjustment to the first merchant chain, time information associated with the merchant chains included in the transaction affinity relationship information, the merchant location information, the merchant category information, and the affinity value information associated with the set of merchant chains in the merchant affinity network. In certain aspects, the processes may also include determining predictive affinity relationship information for the merchant affinity network based on the analysis and the affinity value adjustment to the first merchant chain, the predictive affinity relationship information including predictive change information reflecting a predicted change to a second affinity value corresponding to a second merchant chain in the merchant affinity network that is different from the first merchant chain.
In other aspects, the transaction affinity platform computing components may execute the software to further generate the merchant chain information to reflect that the first merchant chain in the set of merchants includes a first originating merchant involving a first originating transaction included in the set of transactions and a first terminating merchant involving a terminating transaction in the set of transactions, where the first originating transaction having occurred before the terminating transaction within a specified time period. Moreover, the transaction affinity platform computing components may execute the software to generate the merchant chain information to include first hop information for the first merchant chain reflecting a single affinity relationship count value.
Additionally, the transaction affinity platform computing components may perform processes including generating the merchant chain information to reflect that the second originating merchant chain includes a second merchant involved in a second originating transaction included in the set of transactions and a second terminating merchant involved in a second terminating transaction in the set of transactions. In some instances, the second originating transaction having occurred before the second terminating transaction within the specified time period. The processes may also include generating the merchant chain information to include second hop information for the second merchant chain reflecting a single affinity relationship count value.
In additional aspects, the processes may include generating the merchant chain information to reflect that the set of merchant chains includes a third merchant chain including a third originating merchant involving a third originating transaction included in the set of transactions, an intermediary merchant involving an intermediary transaction included in the set of transactions, and a third terminating merchant involving a third terminating transaction in the set of transactions. The third originating transaction may have occurred before the intermediary transaction and the third terminating transaction and the intermediary transaction may have occurred before the third terminating transaction within the specified time period. The transaction affinity platform computing components may also generate the merchant chain information to include third hop information for the third merchant chain reflecting a two affinity relationship count value.
Moreover, the processes performed by the transaction affinity platform computing components may also include determining that the adjustment to the first affinity value corresponding to the first merchant chain is a reduction of the first affinity value that reflects a reduction in an affinity relationship strength of transactions associated with merchants in the first merchant chain. The processes may additionally include determining that the predicted change to the second affinity value corresponding to the second merchant chain is an increase of the second affinity value that reflects an increase in an affinity relationship strength of transactions associated with merchants in the second merchant chain.
Additionally, the transaction affinity platform computing components may also perform processes including determining that the time information associated with the affinity value adjustment to the first merchant chain includes proposed time information reflecting a proposed time of day and proposed day of week corresponding to transactions included in the first merchant chain. Further the processes may include determining that the time information associated with the merchant chains included in the transaction affinity relationship information includes historical time information including time of day information and time of week information corresponding to each transaction included in each merchant chain of the set of merchant chains. The processes may further include comparing the proposed time information and the historical time information to predict the change to the second affinity value corresponding to the second merchant chain in the merchant affinity network.
In certain aspects of the disclosed implementations, the transaction affinity platform computing components may generate the merchant location information to include first merchant location corresponding to the merchants included in the first merchant chain and second merchant location information corresponding to the merchants included in the second merchant chain. The transaction affinity platform computing components may also analyze the first information and the second location information to determine a location relationship between merchants included in the first and second merchant chains. Based on at least the determined location relationship, the transaction affinity platform computing components may predict the change to the second affinity value corresponding to the second merchant chain in the merchant affinity network based on at least the determined location relationship.
Further, the processes performed by the disclosed implementations may include generating the merchant chain category information to include first merchant category information corresponding to the first merchant chain, the first merchant category information reflecting a first type of transaction event. The processes may also further include generating the merchant chain category information to include second merchant category information corresponding to the second merchant chain, the second merchant category information reflecting a second type of transaction event. The transaction affinity platform computing components may also generate the merchant chain category information to include second merchant category information corresponding to the second merchant chain, the second merchant category information reflecting a second type of transaction event. The computing components may also analyze the first merchant category information and the second merchant category information to determine a merchant category relationship between one or more merchants included in the first and second merchant chains. Moreover, the computing components may perform processes to predict the change to the second affinity value corresponding to the second merchant chain in the merchant affinity network based on at least the determined merchant category relationship.
In certain implementations, the transaction affinity platform computing components may generate an interface including a graphical representation of the merchant affinity network. In some aspects, the graphical representation of the merchant affinity network may include merchant node representations reflecting the merchants included in the merchant affinity network. The merchant node representations may include a first merchant chain representation including a first originating merchant node representation relating to a first originating merchant included in the first merchant chain. The merchant node representations may also include a first terminating merchant node representation relating to a first terminating merchant included in the first merchant chain. The merchant node representations may also include a first affinity relationship link representation that graphically connects the first originating merchant node representation and the first terminating merchant node representation. In some aspects, the affinity relationship link representation may have a first width reflecting a first affinity value between the first originating merchant and the first terminating merchant. The transaction affinity platform computing components may receive input adjustment data reflecting a change to the first width of the first affinity relationship link representation, determine the affinity value adjustment to the first merchant chain based on the input adjustment data, and determine the predictive affinity relationship information for the merchant affinity network based on the determined affinity value adjustment to the first merchant chain.
In other implementations, the processes performed by the transaction affinity computing components may include generating an updated interface including an updated graphical representation of the merchant affinity network that is adjusted to reflect the predicted change to the second affinity value corresponding to the second merchant chain in the merchant affinity network. The updated interface may also include updated graphical representations reflecting the change to the first width of the first affinity relationship link representation.
The disclosed implementations may perform these and other processes that may relate to transactions, such as transactions associated with a financial account (e.g., credit card account, checking account, debit account, line of credit, etc.). In some instances, transactions may occur at brick and mortar locations such as a merchant location (e.g., a store location) that includes one or more computing systems (e.g., point of sale computing devices, local server and/or client computing systems, and the like) that perform processes consistent with the features of the disclosed implementations. In other instances, transactions may occur through electronic communications between computing systems (e.g., online via a network such as the Internet), and thus may involve the electronic purchase of a service or a good remotely.
FIG. 1 is a block diagram of an exemplary system 100 for performing one or more processes consistent with the disclosed implementations. In one implementation, system 100 may include a Transaction Affinity Platform (TAP) 110, one or more clients 120 (exemplary clients 120A and 120B shown), one or more merchants 130 (exemplary merchants 130A and 130B shown), and network 140. The configuration and arrangement of the components in system 100 may vary. For example, system 100 may further include one or more service platform(s) (not shown) that provides information and service(s) for use by other components of system 100 (e.g., transaction affinity platform 110, merchant 130, client 120, etc.). In certain aspects of the disclosed implementations, a component may refer to hardware, firmware, and/or software, or a combination thereof.
In certain aspects, transaction affinity platform 110 may include one or more computing systems arranged and configured to perform one or more processes consistent with the disclosed implementations. For example, transaction affinity platform 110 may include one or more computing systems configured to execute software instructions stored on one or more memory devices to perform one or more processes consistent with one or more of the disclosed features discussed below. In one example, transaction affinity platform 110 may be a system that is associated with an entity (e.g., company, organization, business, and the like) that provides one or more services. For instance, transaction affinity platform 110 may be a system provided by and/or associated with an entity that offers and provides transaction affinity services and/or functionalities to users (e.g., account holders, members, or the like). Alternatively, or in addition, transaction affinity platform 110 may be a system that provides transaction affinity features for one or more users associated with the same entity that may host platform 110 (e.g., employees of the hosting entity). In one non-limiting example, transaction affinity platform 110 may be a system provided by a financial services provider that provides financial services, such as a bank, credit card issuer, financial accounts, or other type of financial service entity that generates, provides, manages, and/or maintains financial service accounts for one or more users. In such implementations, financial service accounts may include, for example, credit card accounts, loan accounts, capital loan accounts, checking accounts, savings accounts, reward accounts, and any other types of financial service accounts known to those skilled in the art. As another example, transaction affinity platform 110 may be a system that is associated with a merchant entity that offers and sells services or items to one or more other entities and/or customers. The disclosed implementations are not limited to the type of entity that may host transaction affinity platform 110 or provide transaction affinity features consistent with the disclosed implementations.
In one aspect, transaction affinity platform 110 may include one or more computing systems that execute software instructions stored on one or more memory devices to perform one or more processes consistent with the disclosed embodiments. For example, transaction affinity platform 110 may include one or more server computing devices that execute software instructions stored in memory to perform one or more processes consistent with the disclosed implementations. In one aspect, the transaction affinity platform 110 server computing device(s) (e.g., TAP computing device(s)) may include one or more memory device(s) storing data and software instructions, and one or more processor(s) programmed and configured to access the data and execute the software instructions to perform processes consistent with the disclosed implementations. The TAP computing device(s) may be standalone, or it may be part of a subsystem, which may be part of a larger system having other computing components that may work collectively to perform one or more processes consistent with the disclosed implementations. For example, transaction affinity platform 110 may include distributed computing device(s) that are remotely located and communicate over a communication link (e.g., a local area network, wide-area network, secured network, public network, combination of secured and public network, etc.). In certain aspects where transaction affinity platform 110 is associated with an entity (hosting entity), the distributed computing device(s) may be distributed across the entity (e.g., computing devices remotely located in different geographic locations associated with the hosting entity). In certain aspects, the configuration and/or programming, and other technical aspects of how transaction affinity platform 110 is arranged may provide efficient and streamlined processing and delivery of information consistent with providing transaction affinity features of the disclosed implementations.
In certain aspects, the TAP computing device(s) may include or may connect to one or more storage devices configured to store data and/or software instructions used by one or more processors to perform one or more processes consistent with disclosed embodiments. For example, the TAP computing device(s) may include memory configured to store one or more software programs that performs functions when executed by one or more processors. The disclosed implementations are not limited to separate programs or computers configured to perform dedicated processes. For example, the TAP computing device(s) may include memory that stores a single program or multiple programs. Additionally, the TAP computing device(s) may execute one or more programs located remotely from the TAP computing device(s) of transaction affinity platform 110. For example, the TAP computing device(s) may access one or more remote programs stored in memory included with a remote component that, when executed, perform one or more processes consistent with the disclosed embodiments. In certain aspects, transaction affinity platform 110 may include (or communicate and interface with) web server software and processing components that generate, maintain, and provide web site(s) that are accessible over network 140. In other aspects. Transaction affinity platform 110 may connect to operate with one or more separate web server(s) or similar computing devices that generate, maintain, and provide web site(s) for use by transaction affinity platform 110 and/or other components of the entity hosting transaction affinity platform 110.
In some implementations, transaction affinity platform 110 may include processing components and/or software executed by one or more processors that provide functionalities for use with mobile computing device consistent with the disclosed implementations. For example, transaction affinity platform 110's TAP computing device(s) may include components that provide data and/or processing instructions, messages, content, etc. to one or more mobile computing devices via, for example, network 140. Examples of such mobile computing devices may include mobile phones, smart phones, personal digital assistants, tablets, laptops, or other types of mobile computing devices known to those or ordinary skill in the art. In certain aspects, the mobile computing devices that operate with the TAP computing device(s) may include one or more processing components and/or software that are configured to provide one or more processes consistent with the disclosed implementations.
In certain aspects, a user may operate, interact with (e.g., provide input, commands, etc.) to one or more components of transaction affinity platform 110 to perform one or more processes consistent with the disclosed implementations. In one aspect, the user may be an employee of, or associated with, the hosting entity (e.g., a person authorized to use one or more components of transaction affinity platform 110). In other implementations, the user may not be an employee of, or otherwise associated with the hosting entity of transaction affinity platform 110. In further aspects, the user may be an employee of, or otherwise associated with, a third-party entity that provides services or items for other users or entities. For example, the user may be an individual who is employed by, or otherwise associated with, an entity that provides transaction affinity services consistent with disclosed implementations that interfaces with and makes use of features provided by transaction affinity platform 110 (e.g., a business entity that offers transaction affinity services that is partnered with or has a relationship with the hosting entity of transaction affinity platform 110). For example, transaction affinity platform 110 may be hosted by a first entity that allows a second entity to access and use the features and functionalities provided by transaction affinity platform 110. For instance, the second entity may be a financial service provider and the first entity may be an entity that provides access to features consistent with those provided by transaction affinity platform 110.
Client 120 (e.g., client 120A and 120B exemplary shown) may be a computing system that connects to other components of system 100 to perform one or more processes consistent with the disclosed implementations. For example, client 120 may be a computing device that is operated by a user to provide, request, and/or receive information from transaction affinity platform 110 or one or more other components, such as merchant 130. While referenced as a client, client 120 is not limited to operating as a client in a typical and known client-server type configuration. For example, in certain implementations, client 120 may be a system that is configured to perform server-type functionalities, such as (for example), receive and process requests for providing and/or processing information or services to other computing components or programs, manage access to a resource (e.g., memory and information stored in the memory), and provide a response to such requests.
In certain aspects, client 120 may include one or more computing devices that perform data processing and electronic communications with components over a communication link, such as network 140. For example, client 120 may include a personal desktop computer, laptop, notebook, tablet, smart phone, or any other device with data processing and electronic communication capabilities that may perform one or more processes consistent with the disclosed implementations. In some aspects, client 120 may be a wired or wireless device such as a Personal Data Assistant (PDA), cellular phone, mobile telephone, computing device connected to a wired communication network (e.g., wired LAN line, etc.) through which a user may provide information (e.g., via an input device).
Client 120 (e.g., client 120A, 120B) may include one or more computing devices that execute software instructions stored in memory to perform one or more processes consistent with the disclosed implementations. For example, client 120 may include one or more memory device(s) storing data and software instructions and one or more processor(s) programmed and arranged to use the data and execute the software instructions to perform processes consistent with the disclosed implementations. Client 120 may be may be standalone, or it may be part of a subsystem, which may be part of a larger system. For example, client 120 may represent a distributed system with processing components that are remotely located and communicate over a network (e.g., network 140). Alternatively, client 120 may be a system including processing components in a housing that perform processes consistent with the disclosed implementations. In certain aspects, client 120 may include one or more computing device(s) that operate as a client or similar computing device that interfaces and operates in connection with other components of system 100, such as transaction affinity platform 110. The type and configuration of client 120 is not limiting to the disclosed implementations. Moreover, in certain aspects, a user may operate client 120 to perform one or more processes consistent with the disclosed implementations. For example, a user may access, use, and otherwise operate client 120 (e.g., client 120A) to perform processes such as, data entry and transmission via network 140 to transaction affinity platform 110 and/or merchant 130. In certain implementations, client 120 may be a mobile computing device that is carried by a user while performing actions and events, such as a smart phone that is carried with a user while performing transactions with one or more merchants.
Merchant 130 (merchant 130A, 130B exemplary shown) may be one or more computing system(s) that perform one or more merchant processes consistent with disclosed implementations. For example, merchant 130 may be a computing system that connects to other components of system 100 to communicate and/or process information in accordance with certain features of the disclosed implementations. Merchant 130 may be associated with an entity that offers and provides services or goods to one or more entities or users. In certain aspects, for example, merchant 130 may be a computing system associated with a brick and mortar merchant location (e.g., a merchant store location with computing devices, infrastructure, etc.) where a user (e.g., a user of client 120) may physically visit to purchase service(s) or good(s). In other aspects, merchant 130 may be a computing system(s) that provides an online portal (e.g., web site, etc.) that provides a mechanism for users to review, request, and purchase service(s) or good(s) via client 120 consistent with disclosed implementations. Thus, in certain aspects, merchant 130 may include one or more web servers that generate, maintain, and manage web site pages that provide interfaces that are accessed by users, via client 120 using browser software (or other software) executing in the computing components of client 120.
In some aspects, merchant 130 may include one or more computing devices that execute software instructions stored in memory to perform one or more processes consistent with the disclosed implementations. In one aspect, the merchant 130 computing device(s) may include one or more memory device(s) storing data and software instructions, and one or more processor(s) programmed and configured to access the data and execute the software instructions to perform one or more processes consistent with the disclosed implementations. The merchant 130 computing device(s) may be standalone, or it may be part of a subsystem, which may be part of a larger system having other computing components that may work collectively to perform one or more processes consistent with the disclosed implementations. For example, merchant 130 may include distributed computing devices that are remotely located and communicate over a communication link (e.g., a local area network, wide-area network, secured network, public network, combination of secured and public network, etc.). For example, the distributed merchant 130 computing devices may be distributed across the entity (e.g., computing devices remotely located in different geographic locations associated with the hosting entity). In certain aspects, the configuration and/or programming, and other technical aspects of how merchant 130 is arranged may provide efficient and streamlined processing and delivery of information consistent with providing transaction affinity features of the disclosed implementations.
In certain aspects, the merchant 130 computing device(s) may include and/or connect to one or more storage devices that store data and/or software instructions used by one or more processors to perform one or more processes consistent with disclosed embodiments. For example, the merchant 130 computing device(s) may include memory that stores one or more software programs that performs functions when executed by one or more processors. The disclosed implementations are not limited to separate programs or computers configured to perform dedicated processes. For example, the merchant 130 computing device(s) may include memory that stores a single program or multiple programs. Additionally, the merchant 130 computing device(s) may execute one or more programs located remotely from the merchant 130 computing device(s). Merchant 130 computing device(s) may access one or more remote programs stored in memory included with a remote component that, when executed, perform one or more processes consistent with the disclosed embodiments. In certain aspects, merchant 130 may include (or communicate and interface with) web server software and processing components that generate, maintain, and provide web site(s) that are accessible over network 140. In other aspects. merchant 130 may connect to operate with one or more separate web server(s) or similar computing devices that generate, maintain, and provide web site(s) for use by merchant 130 and/or other components of the entity hosting merchant 130. In some implementations, merchant 130 may include processing components and/or software executed by one or more processors that provide functionalities for use with a mobile computing device consistent with the disclosed implementations. For example, merchant 130's computing device(s) may include components that provide data and/or processing instructions, messages, content, etc. to one or more mobile computing devices via, for example, network 140. Such mobile computing devices may include mobile phones, smart phones personal digital assistants, tablets, laptops, or other types of mobile computing devices known to those or ordinary skill in the art. In certain aspects, the mobile computing devices that operate with the merchant 130 computing device(s) may include one or more processing components and/or software that provide one or more processes consistent with the disclosed implementations.
In certain aspects, a user may operate one or more components of the hosting entity of merchant 130 to perform one or more one or more processes consistent with the disclosed implementations. In one aspect, the user may be an employee of, or associated with, the hosting entity (e.g., a person authorized to use one or more components of merchant 130). In other implementations, the user may not be an employee of, or is otherwise associated with the hosting entity of merchant 130. In further aspects, the user may be an employee of, or otherwise associated with, a third-party entity that provides services or items for other users or entities. For example, the user may be an individual employed or otherwise associated with an entity that provides transaction affinity services consistent with disclosed implementations that interfaces with and makes use of features provided by merchant 130 (e.g., a business entity that offers transaction affinity services that is partnered with or has a relationship with the hosting entity of merchant 130). For example, in one aspect, merchant 130 may be hosted by a first entity that allows a second entity to access and use the features and functionalities provided by merchant 130. For instance, the second entity may be an entity that provides transaction affinity services and features consistent with those provided by transaction affinity platform 110, and the first entity may be a merchant entity that provides transaction affinity features to user(s) (e.g., customer(s) of the hosting entity of merchant 130), which may be consistent with those provided by transaction affinity platform 110.
The disclosed implementations of system 100 may include different merchants 130 associated with different merchant entities. For example, merchant 130B may be a first merchant entity that provides certain types of service(s) and/or goods (e.g., a home improvement store), and merchant 130A may be a second merchant entity, different from merchant 130B, that provides similar and/or different types of service(s) and/or goods (e.g., a supermarket, a pharmacy, a refueling station, etc.)
Network 140 may be any type of network configured to provide communications between components of system 100. For example, network 100 may be any type of network (including infrastructure) that provides communications, exchanges information, and/or facilitates the exchange of information, such as the Internet, a Local Area Network, or other suitable connection(s) that enables the sending and receiving of information between the components of system 100, and/or combinations of networks (e.g., public network and private networks). In other implementations, one or more components of system 100 may communicate directly through a dedicated communication link(s), such as the exemplary links between transaction affinity platform 110 and client 120A and between transaction affinity platform 110 and merchant 130. Network 140 may include wired or wireless communication paths and infrastructures, or combinations of both. Thus, for example, network 140 may include wireless communication paths and infrastructure and wired communication paths and infrastructure to allow client 120B to wirelessly communicate with another component of system 100 (e.g., merchant 130A). For instance, merchant 130 may include network interface components that connect to portions of network 140 that may facilitate private network and public network communications, protocols, etc. Similar arrangements may apply to other components of system 100 (e.g., transaction affinity platform 110, etc.).
FIG. 2 shows an exemplary transaction affinity platform 110 consistent with disclosed implementations. In one aspect, transaction affinity platform 110 may include a computing system 211 having one or more processors 221, one or more memories 223, one or more Transaction Affinity Platform (TAP) components 222, and one or more input/output (I/O) components 228. Computing system 211 may include components of a computing system not shown that enable computing system 211 to generate, store, process, and receive information in accordance with the disclosed implementations. Computing system 211 may be standalone, or it may be part of a subsystem, which may be part of a larger system. Computing system 211 may correspond to the computing device(s) discussed above in connection with FIG. 1 and transaction affinity platform 110 in system 100.
Processor(s) 221 may include one or more processing devices configured to perform one or more processes consistent with disclosed implementations. For example, processor(s) 221 may be programmed processor(s) that are configured to execute software instructions and process data to provide transaction affinity functionalities. In certain aspects, processor(s) 221 may be configured to operate with one or more TAP components 222 to provide one or more processes consistent with the transaction affinity features of the disclosed implementations. The disclosed implementations are not limited to any type of processor(s) configured in computing system 211.
TAP components 222 may include one or more computing components that perform transaction affinity processes consistent with disclosed implementations. For example, TAP components 222 may include software components (e.g., software instructions in a program, collection of inter-related programs, etc.) executed by processor(s) 221 to perform one or more processes consistent with disclosed implementations. In one aspect, software TAP components may be stored in memory 223 as part of software components 224 (disclosed below). In other aspects, software TAP components may be stored in one or more memory device(s) as part of TAP components 222. Moreover, TAP components 222 may include one or more computing TAP components that are configured to provide one or more processes consistent with disclosed implementations. For instance, TAP components 222 may include processing device(s), circuitry, and the like that are configured, programmed, and/or arranged to provide efficient transaction affinity processes and information. For instance, TAP components 222 may include processing device(s) that are arranged and programmed to process transaction affinity data that conserves the use of other resource(s) of transaction affinity platform 110, such as processor(s) 221, memory 224, etc. TAP components 222 may operate independent of, or in conjunction with, other components of computing system 211, such as processor(s) 221, I/O components 228, and memory 223, etc.
Memory 223 may include one or more storage devices that store instructions that may be used by processor(s) 221 and/or TAP components 222 to perform functions related to disclosed implementations. For example, memory 223 may include one or more software instructions, such as software components 224 that may perform one or more processes when executed by processor 221 and/or by processing component(s) of TAP components 222. In certain aspects, memory 223 may include a single program 224 that performs the functions of the computing system 211, or program 224 could comprise multiple programs. Additionally, processor(s) 221 may execute one or more programs located remotely from computing system 211. For example, transaction affinity platform 110, via computing system 211, may access one or more remote programs that, when executed, perform functions related to certain disclosed implementations.
Memory 223 may also store data 225 that may reflect any type of information in one or more formats that transaction affinity platform 110 may use to perform transaction affinity functions. For example, data 225 may include transaction data associated with one or more users of transaction affinity platform 110 (e.g., clients 120A and/or 120B).
I/O components 228 may be one or more devices and related software configured to allow information to be received and/or transmitted by computing system 211. I/O components 228 may include one or more digital and/or analog communication devices that allow computing system 211 to communicate with other components of system 100 (e.g., clients 120A, 120B, merchants 130A, 130B, etc.) and/or components of transaction affinity platform 110.
Computing system 211 may be communicatively connected to one or more database(s) 227. Computing system 211 may be communicatively connected to database(s) 227 through network 140 or may be connected to database(s) 227 via other components (e.g., TAP component(s) 222.) Database(s) 227 may include one or more memory devices that store information and are accessed and/or managed through computing system 211. The databases may include, for example, data and information related to the source and destination of a network request, the data contained in the request, and other aspects consistent with disclosed implementations. Systems and methods consistent with the disclosed implementations, however, are not limited to the use of separate databases 227. In one aspect, transaction affinity platform 110 may include database 227. Alternatively, database 227 may be located remotely from transaction affinity platform 110. Database 227 may include one or more computing components (e.g., database management system, database server(s), etc.) configured to receive and process requests for data stored in memory devices of database(s) 227 and to provide data from database 227. In other aspects, TAP components 222 may include component(s) that provide database management, access, manipulation, and processing of information in database(s) 227 in manners consistent with the disclosed implementations.
FIG. 3 shows an exemplary client 120 (e.g., client 120A or 120B). In one embodiment, client 120 may include a computing system 311 having one or more processors 321, one or more memories 323, one or more TAP components 322, and one or more input/output (I/O) devices 328. Computing system 311 may be standalone, or it may be part of a subsystem, which may be part of a larger system.
Processor(s) 321 may include one or more processing devices that perform one or more processes consistent with disclosed implementations. For example, processor(s) 321 may be programmed processor(s) that execute software instructions and process data to provide transaction affinity functionalities. In certain aspects, processor(s) 321 may operate with one or more TAP components 322 to provide one or more processes consistent with the transaction affinity features of the disclosed implementations. The disclosed implementations are not limited to any type of processor(s) configured in computing system 311.
TAP components 322 may include one or more computing components that perform transaction affinity processes consistent with disclosed implementations. For example, TAP components 322 may include software components (e.g., software instructions in a program, collection of inter-related programs, etc.) executed by processor(s) 321 to perform one or more processes consistent with disclosed implementations. In one aspect, software TAP components 322 may be stored in memory 323 as part of software components 324 (disclosed below). In other aspects, software TAP components 322 may be stored in one or more memory device(s) as part of TAP components 322. Moreover, TAP components 322 may include one or more computing TAP components that are configured to provide one or more processes consistent with disclosed implementations. For instance, TAP components 322 may include (in addition to, or alternative to, software TAP components), processing device(s), circuitry, and the like that are configured, programmed, and/or arranged to provide efficient transaction affinity processes and information. For instance, TAP components 322 may include processing device(s) that are arranged and programmed to process transaction affinity data that conserves the use of other resource(s) of transaction affinity platform 110, such as processor(s) 321, memory 324, etc. TAP components 322 may operate independent of, or in conjunction with, other components of computing system 311, such as processor(s) 321, I/O components 328, and memory 323, etc.
Memory 323 may include one or more storage devices configured to store instructions used by processor 321 to perform functions related to disclosed embodiments. For example, memory 323 may include one or more software instructions, such as software components 324 that may perform one or more processes when executed by processor(s) 321. The disclosed embodiments are not limited to separate programs or computers configured to perform dedicated tasks. For example, memory 323 may include a single program 324 that performs the functions of the computing system 311, or program 324 could comprise multiple programs. Additionally, processor(s) 321 may execute one or more programs located remotely from computing system 311. Memory 323 may also store data 325 that may reflect any type of information in one or more formats that client 120 and/or transaction affinity platform 110 may use to perform transaction affinity functions. For example, data 325 may include transaction data associated with one or more users of client 120.
I/O components 328 may be one or more devices and related software that receives and/or transmits information by/from computing system 311. I/O components 328 may include one or more digital and/or analog communication devices that allow computing system 311 to communicate with other components of system 100 and/or components of client 120. I/O components 328 may include interface components that enable a user of client 120 to input and review information. For example, I/O components 328 may include one or more display device(s) for presenting information to a user, one or more input device(s) (e.g., keyboard, touch screen technologies, mouse input components, etc.) to allow a user of client 120 to input information to computing system 311.
Computing system 311 may be communicatively connected to one or more database(s) 327. Computing system 311 may be communicatively connected to database(s) 327 through network 140 or may be connected to database(s) 327 via other components (e.g., TAP component(s) 322.) Database 327 may include one or more memory devices that store information and are accessed and/or managed through computing system 311. Database 327 may include, for example, data and information related to the source and destination of a network request, the data contained in the request, and other aspects consistent with disclosed implementations. Systems and methods consistent with the disclosed implementations, however, are not limited to the use separate databases 327. In one aspect, client 120 may include database 327. Alternatively, database 327 may be located remotely from client 120. Database 327 may include one or more computing components (e.g., database management system, database server(s), etc.) configured to receive and process requests for data stored in memory devices of database(s) 327 and to provide data from database 327. In other aspects, TAP components 322 may include component(s) that provide database management, access, manipulation, and processing of information in database(s) 327 in manners consistent with the disclosed implementations.
Certain disclosed implementations may operate to allow client 120 to communicate with merchant 130 and transaction affinity platform 110. For example, computing system 110 may perform processes to enable a user of client 120 to interface with merchant 130 to perform one or more transactions (e.g., purchase transactions, or other types of transactions). TAP components 322 may perform one or more transaction affinity processes independent of, or in conjunction with, transaction affinity platform 110 and/or merchant 130. The disclosed implementations thus include, for example, systems, tangible computer-readable mediums, and methods for providing transaction affinity features consistent with those disclosed herein.
For example, in certain aspects, the disclosed implementations may enable client 120 to communicate with merchant 130 to perform a purchase transaction. For instance, merchant 130 may process the transaction for a user of client 120, merchant 130 by requesting information (e.g., account information) associated with the user of client 120, to determine the user's ability to pay the service and/or good associated with the purchase transaction. The disclosed implementations may include methods and systems that allow client 120 to exchange information with merchant 130 that may be used by transaction affinity platform 110 to determine, analyze, generate, approve, process, and manage the purchase transaction, and to subsequently provide transaction affinity features.
FIG. 4 shows an exemplary merchant 130 consistent with disclosed implementations. In one aspect, merchant 130 may include a computing system 411 having one or more processors 421, one or more memories 423, one or more Transaction Affinity Platform (TAP) components 422, and one or more input/output (I/O) components (not shown). Computing system 411 may include components of a computing system not shown that enable system 411 to generate, store, process, and receive information in accordance with the disclosed implementations. Computing system 411 may be standalone, or it may be part of a subsystem, which may be part of a larger system.
Processor(s) 421 may include one or more processing devices that perform one or more processes consistent with disclosed implementations. For example, processor(s) 421 may be programmed processor(s) that execute software instructions and process data to provide transaction affinity functionalities. In certain aspects, processor(s) 421 may operate with one or more TAP components 422 to provide one or more processes consistent with the transaction affinity features of the disclosed implementations. The disclosed implementations are not limited to any type of processor(s) configured in computing system 411.
TAP components 422 may include one or more computing components that perform transaction affinity processes consistent with disclosed implementations. For example, TAP components may include software components (e.g., software instructions in a program, collection of inter-related programs, etc.) executed by processor(s) 421 to perform one or more processes consistent with disclosed implementations. In one aspect, software TAP components may be stored in memory 423 as part of software components 424 (disclosed below). In other aspects, software TAP components may be stored in one or more memory device(s) as part of TAP components 422. Moreover, TAP components 422 may include one or more computing TAP components that provide one or more processes consistent with disclosed implementations. For instance, TAP components 422 may include (in addition to, or alternative to, software TAP components), processing device(s), circuitry, and the like that are configured, programmed, and/or arranged to provide efficient transaction affinity processes and information. For instance, TAP components 422 may include processing device(s) that are arranged and programmed to process transaction affinity data that conserves the use of other resource(s) of merchant 130, such as processor(s) 421, memory 424, etc. TAP components 422 may operate independent of, or in conjunction with, other components of computing system 411, such as processor(s) 421, and memory 423, etc.
Memory 423 may include one or more storage devices that store instructions that may be used by processor(s) 421 and/or TAP components 422 to perform functions related to disclosed implementations. For example, memory 423 may be include one or more software instructions, such as program(s) 424 that may perform one or more processes when executed by processor 421 and/or by processing component(s) of TAP components 422. The disclosed embodiments are not limited to separate programs or computers configured to perform dedicated tasks. For example, memory 423 may include a single program 424 that performs the functions of the computing system 411, or program 424 could comprise multiple programs. Additionally, processor(s) 421 may execute one or more programs located remotely from computing system 411. For example, merchant 130, via computing system 411, may access one or more remote programs that, when executed, perform functions related to certain disclosed implementations. Memory 423 may also store data 425 that may reflect any type of information in one or more formats that merchant 130 may use to perform transaction affinity functions. For example, data 425 may include transaction data associated with one or more users of client(s) 120 (e.g., clients 120A and/or 120B).
As part of, or in addition to, the components of computing system 411 (e.g., processor(s) 421, TAP components 422, memory 423, database(s) 427), merchant 130 may include one or more components that perform processes consistent with purchase transactions. For example, merchant 130 may include computing component(s) and/or software component(s) that provide point-of-sale (POS) functionalities. Such POS functionalities may be associated with POS components for brick-and-mortar merchant locations (e.g., a POS used at a checkout of a physical store), or can be associated with online checkout processes and functionalities. Such POS components may perform one or more processes to allow a user of client 120 to initiate, perform, and complete purchase transactions. In certain aspects, the POS components may perform one or more processes consistent with the disclosed implementations.
The I/O components that may be included computing system 411 may be one or more devices and related software configured to allow information to be received and/or transmitted by computing system 411. Such I/O components may include one or more digital and/or analog communication devices that allow computing system 411 to communicate with other components of system 100 and/or components of merchant 130, such as clients 120A, 120B, transaction affinity platform 110, etc.
Computing system 411 may be communicatively connected to one or more database(s) 427. Computing system 411 may be communicatively connected to database(s) 427 through network 140 or may be connected to database(s) 427 via other components (e.g., TAP component(s) 422.) Database 427 may include one or more memory devices that store information and are accessed and/or managed through computing system 411. Database 427 may include, for example, data and information related to the source and destination of a network request, the data contained in the request, and other aspects consistent with disclosed implementations. Systems and methods consistent with the disclosed implementations, however, are not limited to the use of separate databases 427. In one aspect, merchant 130 may include database 427. Alternatively, database 427 may be located remotely from merchant 130. Database 427 may include one or more computing components (e.g., database management system, database server(s), etc.) that receive and process requests for data stored in memory devices of database(s) 427 and to provide data from database 427. In other aspects, TAP components 422 may include component(s) that provide database management, access, manipulation, and processing of information in database(s) 427 in manners consistent with the disclosed implementations.
FIG. 5 is a flow chart of an exemplary transaction affinity process 500 that one or more components of system 100 may perform consistent with certain disclosed implementations. For exemplary purposes only, the description of the features and processes associated with the transaction affinity process of FIG. 5 is described as performed by transaction affinity platform 110. The disclosed implementations, however, are not so limited. For example, client 120 (including e.g., computing system 311) and/or merchant 130 (including e.g., computing system 411) may execute one or more processes associated with transaction affinity process 500. In certain aspects, client 120, merchant 130, and/or transaction affinity platform 110 may individually or collectively perform some or all the processes associated with transaction affinity process 500. In certain implementations, TAP components 222 of transaction affinity platform 110 may perform one or more of the processes of transaction affinity process 500. In addition, or alternatively, TAP components of client 120 and/or merchant 130 (e.g., TAP components 322, 422, respectively) may perform one or more of the processes of transaction affinity process 500. Moreover, the disclosed implementations are not limited to the sequence or number of process steps as shown in FIG. 5.
In certain aspects, transaction affinity platform 110 may initiate transaction affinity process 500. This may occur in response to a request to provide transaction affinity data from a component of system 100, including components included in transaction affinity platform 110. For example, in one aspect, merchant 130 and/or client 120 may generate and send a transaction affinity request over network 140 to transaction affinity platform 110 which causes computing system 211 to perform process 500. In another aspect, transaction affinity platform 110 may receive information, message, etc. from merchant 130 and/or client 120 that identifies one or more transactions associated with stored records for the user of client 120 (e.g., a user account). In another aspect, other computing components of the host entity of transaction affinity platform 110 may receive a request for transaction affinity data and in turn direct transaction affinity platform 110 to perform process 500. Alternatively, transaction affinity platform 110 may be configured to monitor transaction activity of a user of client 120 and automatically perform one or more processes of transaction affinity process 500, consistent with the disclosed implementations.
In one aspect, transaction affinity platform 110 may collect transaction affinity data (Step 510). For example, transaction affinity platform 110 may be configured to monitor activity of an account associated with a user of client 120 (e.g., client 120A). For instance, transaction affinity platform 110 may be associated with a financial service provider that creates, maintains, manages, and processes accounts for many users (e.g., customers). In some instances, the user of client 120A may use client 120A to perform transactions associated with the user's account. Thus, in certain aspects of the disclosed implementations, the user may use client 120A to perform an online purchase transaction using a credit card account provided by a financial service provider. Client 120A may also be used to perform a purchase transaction using the credit card account at a brick and mortar merchant, such as a mobile phone that electronically communicates with a computing system of merchant 130 (e.g., computing system 411 of merchant 130A) to perform the purchase transaction using the credit card account at a physical merchant location. Transaction affinity platform 110 may thus, in certain aspects, access, analyze, and process transaction data associated with a user account to identify and collect transaction affinity data. In certain implementations, the collection of transaction affinity data may include collecting transaction affinity data for multiple user accounts. For example, transaction affinity platform 110 may monitor activity of respective accounts associated with the same user, or different users. For instance, transaction affinity platform 110 may receive, access, or otherwise obtain transaction data associated with a user account of the user associated with client 120A and of a user account associated with client 120B, and identify and collect transaction affinity data associated with the respective user accounts. The discussions below relating to FIG. 6 describe an exemplary transaction affinity data collection process 600 consistent with disclosed implementations.
Transaction affinity platform 110 may also determine trip transaction data (Step 520). For instance, transaction affinity platform 110 may perform processes to determine a temporal relationship between transactions in the collected transition affinity data according to one or more parameters. In one aspect, transaction affinity platform 110 may analyze relationships between transactions associated with a user account (or multiple user accounts). Based on the analysis, transaction affinity platform 110 may determine trip transaction data for use in determining transaction affinity relationships in accordance with disclosed implementations. For example, transaction affinity platform 110 may determine whether the time between a group of transactions is within one or more determined threshold values, and if so, identify a relationship between the transactions. Transaction affinity platform 110 may also analyze the type of merchant associated with the assessed transactions to identify relationships between the transactions. Transaction affinity platform 110 may further analyze other information to identify transaction relationships, such as the date, merchant location (e.g., physical and/or online virtual location (e.g., website address, etc.)), and other information. The descriptions below relating to FIG. 7 explain an exemplary trip transaction data determination process 700 consistent with disclosed implementations.
Transaction affinity process 500 may also include determining transaction affinity relationships (Step 530). For example, in certain aspects, transaction affinity platform 110 may analyze the trip transaction data to determine transaction affinity relationships between transactions for the user account(s) under assessment. In certain aspects, transaction affinity platform 110 may identify and determine the number of times a user account (or multiple accounts for the user) was used in transactions associated with certain merchants included in the trip transaction data. Based on that analysis, transaction affinity platform 110 may determine transaction affinity relationships associated with a set of transactions. In certain aspects, the disclosed implementations involve processing the determined transaction affinity relationship information to provide information for presentation to a user of client 120, to merchant 130, or to other components of system 100. In other aspects, the determined transaction affinity relationship information may be used to perform additional processes consistent with the disclosed implementations. The discussions below relating to FIG. 8 describe an exemplary transaction affinity relationships determination process 800 consistent with disclosed implementations.
FIG. 6 is a flow chart of a transaction affinity data collection process 600 that one or more components of system 100 may perform consistent with certain disclosed implementations. For exemplary purposes, the description of the features and processes associated with the transaction affinity data collection process 600 of FIG. 6 is described below as being performed by transaction affinity platform 110. The disclosed implementations, however, are not so limited. For example, client 120 (including e.g., computing system 311) and/or merchant 130 (including e.g., computing system 411) may execute software to perform one or more processes associated with transaction affinity data collection process 600. In certain aspects, client 120, merchant 130, and/or transaction affinity platform 110 may individually or collectively perform some or all the processes associated with transaction affinity data collection process 600. In certain implementations, TAP components 222 of transaction affinity platform 110 may perform one or more of the processes of transaction affinity data collection process 600. In addition, or alternatively, TAP components of client 120 and/or merchant 130 (e.g., TAP components 322, 422, respectively) may perform one or more of the processes of transaction affinity data collection process 600. Moreover, the disclosed implementations are not limited to the sequence and/or number of process steps shown in FIG. 6.
In one aspect, transaction affinity data collection process 600 may include analyzing transaction data (Step 610). In certain implementations, TAP components 222 may request transaction data associated with a user account that has been collected by transaction affinity platform 110 or components of the host entity of transaction affinity platform 110. For instance, TAP components 222 may include software components executed by computing components that request access to and/or receive transaction data associated with a user of client 120, such as a user account.
For example, a user of client 120A may have one or more financial accounts provided by an account provider, such as a financial service provider that provides one or more accounts to one or more users that can be used to perform one or more transactions (e.g., purchase transactions, etc.). In one aspect, the account provider may be the host of transaction affinity platform 110. In other aspects, the account provider may not host or otherwise provide transaction affinity platform 110. In either case, the user may operate and interact with client 120A to perform a purchase transaction using a first user account provided by the account provider. As an example, the user of client 120A may visit a merchant location associated with merchant 130A to purchase one or more items. During check out, the user may present an instrument (e.g., credit card, etc.) associated with the user account to purchase the items using a POS device provided by the merchant, which may be associated with merchant 130A. The POS device may facilitate the purchase transaction to perform known purchase transaction processes. For instance, merchant 130A may be include software and computing components that perform known purchase transaction processes, including communicating with verification network components and a financial service account provider to authorize the purchase transaction. Once the purchase transaction is completed, merchant 130A, or a component associated with the merchant, may provide transaction data associated with the user's purchase transaction with the user account. The transaction data may include information such as time stamp data (e.g., date, time), account number data, merchant data (e.g., location, identifier, etc.), and other known transaction information. The account provider may receive and store the transaction data in memory (e.g., a database) that maintains transaction information for user accounts. In one implementation, the account provider may include computing components that perform transaction data processing, storing, and management. In other implementations, transaction affinity platform 110 may include components (e.g., TAP components 222) that request and receive the transaction data for a user account (or multiple user accounts.). Alternatively, the account provider computing components may automatically push the transaction data to memory that is accessible by transaction affinity platform 110, such as database 127 and/or memory 123.
In some aspects, TAP components 222 may include software components that are executed by one or more processors (e.g., processors 221 or computing components of TAP components 222) that request and receive transaction data associated with one or more user accounts. For example, database 227 may store transaction data for transactions associated with a user account. TAP components 222 may be configured to perform one or more aspects of process 600 in response to a notification that transaction data has been received and stored in database 227. Alternatively, TAP components may be configured to perform one or more aspects of process 600 in response to a notification that is provided after a predetermined period of time, or after a predetermined number of transactions associated with the user account have been stored (or added) to database 227.
Once transaction data is available (e.g., stored in database 227), TAP components 222 may analyze transaction data for a transaction (Step 610) to determine whether the transaction is an affinity transaction (Step 620). An affinity transaction is a transaction that is to be considered for transaction affinity processing in accordance with the disclosed implementations. In one aspect, affinity transaction platform 110 may determine whether one or more transactions of a user account qualify for affinity transaction processing. For instance, the account provider of the user account may provide an option to the user of client 120A (e.g., the account holder) whether they wish to receive transaction affinity services. If so, transaction affinity platform 110 may maintain data in a user account profile that identifies the user's account as one eligible for transaction affinity processing. In other implementations, transaction affinity platform 110 may automatically identify all transaction of the user's account as qualifying affinity transactions for processing. In such instances, process 600 may be configured to skip such analysis and step 620. In other aspects, transaction affinity platform 110 may be configured to execute processes that identify transactions associated with the user's account as affinity transactions based on one or more parameters, which may be stored in the user account profile. For example, transaction affinity platform 110 may perform processes that identify user account transactions based on a temporal parameter (e.g., only identify transactions for processing based on certain dates, date ranges, time of day, time of day ranges, etc.).
Once a selected transaction is identified as an affinity transaction (Step 620, Yes; or automatically identified as an affinity transaction as discussed above), TAP components 222 may generate transaction affinity data (Step 630). In one implementation, TAP components 222 may generate transaction affinity data by parsing the transaction data of the current transaction under analysis to collect data used by the transaction affinity processes consistent with the disclosed implementations. For example, TAP components may execute processes that extracts data and generates affinity data from the transaction record, such as time stamp information (date, time of transaction), account identification data, amount of transaction (e.g., if a purchase transaction), merchant identification data, merchant location information, etc. In some instances, TAP components 222 may generate affinity data based on information in the transaction data. For example, TAP components 222 may execute processes that determines a merchant category based on the merchant identifier and/or merchant location information obtained from the transaction data. In one aspect, transaction affinity platform 110 may maintain, or have access to, a data structure stored in memory of merchant category information that identifies one or more categories for merchants. A merchant category may be an identifier (textual, numeric, alpha-numeric, etc.) that is associated with an industry, product, retailer industry, service, etc. For instance, a first merchant category may be associated with home improvement goods/services, a second merchant category may be associated with grocery retailers, a third merchant category may be associated with vehicle repair, a fourth merchant category may be associated with air travel services, a fifth merchant category may be associated with lodging services, etc. The type of merchant category is not limited to the above examples, which are provided for exemplary purposes only.
In certain implementations, TAP components 222 may access the data structure to collect the merchant category data for the merchant included in the transaction data under analysis. The merchant category data may be generated by transaction affinity platform 110, by other component(s) of the host entity (e.g., account provider) of platform 110, or be provided by the merchant. Thus, in one aspect, transaction affinity platform 110 may access a merchant category table that identifies certain categories for one or more merchants (e.g., merchants associated with merchant 130A, 130B). Based on the information, TAP components 222 may add the merchant category data to the set of transaction affinity data for the transaction under analysis.
In other embodiments, other affinity data may be generated by TAP components 222. For example, if the transaction data for the transaction under analysis does not provide the merchant location information (e.g., if the purchase transaction was an online transaction, and the web site address associated with the merchant is unknown), TAP components 222 may execute software components that perform processes for obtaining the web site address of the merchant involved with the purchase transaction. In one aspect, TAP components 222 may parse the transaction data to obtain the identifier and name of the merchant, and check a data structure of stored web site address information mapped to merchant identifiers and/or names. The merchant web site address data structure may be stored in memory 223, database 227, or may be provided by components external to transaction affinity platform 110, such as a third-party provider of such information accessible over network 140.
Once the transaction affinity data is generated for a given transaction, TAP components 222 may store the transaction affinity data in memory (e.g., memory 223, database 127, and/or another storage device located within or external to transaction affinity platform 110). TAP components 222 may perform one or more processes that determine whether another transaction is available for analysis (Step 640), and if so (Step 640; YES), process 600 may continue to process Step 610 to analyze the transaction data for the next user account transaction in a manner consistent with the disclosed embodiments. If, however, no more transactions are available for analysis (Step 640; NO), TAP components 222 may configure and store a transaction affinity data set in memory (Step 650).
FIG. 7 shows a block diagram of a non-limiting exemplary set of transaction affinity data 700 for a user account consistent with disclosed implementations. As shown, the set of transaction affinity data 700 may include one or more data fields including transaction data for each transaction in a set of transactions analyzed by TAP components 222 as discussed above. While transaction affinity data set 700 shows five transactions, the disclosed implementations are not limited to the number of transactions that may be included in the set. For example, depending on one or more parameters that may control what transactions are collected and stored, and on one or more parameters that may control what transaction affinity data is collected from the transaction data, the number and type of information maintained in transaction affinity data set 700 may vary. In some aspects, the data fields may include a transaction identifier (ID) field 710, an account identifier field 720, a transaction amount field 730, a transaction time field 740, a merchant identifier field 750, a merchant category field 760, and a merchant location field 770. In some implementations, transaction identifier field 710 may be a unique identifier assigned to each transaction in the transaction affinity data set 700. Account identifier field 720 may include data identifying the account used in the transaction, such as an account number or other information identifying the account used in the transaction. Amount field 730 may include a purchase amount of the transaction (if the transaction is a purchase transaction). Transaction time field 740 may include time data reflecting when the transaction occurred (e.g., time and/or date data, etc.). Merchant identifier field 750 may include an identifier for the merchant involved in the transaction. Merchant category field 760 may be the merchant category identifier determined by TAP components 222 as discussed above. Merchant location field 770 may include location data associated with the merchant involved in the transaction and identified in merchant identifier field 760. As discussed above, where the transaction was an online transaction, merchant location field may reflect a web site address (or other location identifying information) for a merchant web site (or other network location) where goods and/or services may be purchased.
The disclosed implementations are not limited to the arrangement of fields, or the specific types of data included in the transaction affinity data set (e.g., set 700). For instance, the generated transaction affinity data set may include additional information not discussed above or shown in FIG. 7. Moreover, some data described above may not be included in the transaction affinity data set. Further, data included in one or more fields of the transaction affinity data set may be combined. For instance, merchant ID field 750 and merchant location field 770 may be combined into a single set of data that includes information identifying the merchant and the location of the merchant. The format of transaction affinity data set 700 shown in FIG. 7 is not limiting to the disclosed implementations. The configuration of data set 700 may vary and may be configured to promote efficient access and processing of transaction affinity data collected in process 600. Also, while the above description discusses generating a transaction affinity data set for a single user account, the disclosed implementations are not limited to such. For example, TAP components 222 may be configured to perform process 600 for transaction data associated with different accounts used in different transactions. Therefore, TAP components 222 may generate a transaction affinity data set that includes transactions for different accounts, which may or may not be associated with the same user. Thus, in some aspects, account identifier field 720 may identify different accounts for different transactions (e.g., transaction identifier field 710).
FIG. 8 is a flow chart of a trip transaction determination process 800 that one or more components of system 100 may perform consistent with certain disclosed implementations. For exemplary purposes only, the description of the features and processes associated with the trip transaction determination process 800 of FIG. 8 is described below as being performed by transaction affinity platform 110. The disclosed implementations, however, are not so limited. For example, client 120 (including e.g., computing system 311) and/or merchant 130 (including e.g., computing system 411) may execute software that performs one or more processes associated with trip transaction determination process 800. In certain aspects, client 120, merchant 130, and/or transaction affinity platform 110 may individually or collectively perform some or all the processes associated with trip transaction determination process 800. In certain implementations, TAP components 222 of transaction affinity platform 110 may perform one or more of the processes of trip transaction determination process 800. In addition, or alternatively, TAP components of client 120 and/or merchant 130 (e.g., TAP components 322, 422, respectively) may perform one or more of the processes of trip transaction determination process 800. Moreover, the disclosed implementations are not limited to the sequence and/or number of process steps shown in FIG. 8.
In certain implementations, TAP components 222, for example, may perform processes that access a target transaction affinity data set, such as the data set that may have been generated by transaction affinity data collection process 600 (Step 810). In some aspects, TAP components 222 may access the memory storing the transaction affinity data set (e.g., memory 223, database 227, etc.), or may generate and provide a request to another component to provide the requested target transaction affinity data set. For example, in some implementations, TAP components 222 may perform one or more processes that determine the type of transaction affinity data set to access or receive, such as a transaction affinity data set associated with one or more identified accounts (e.g., a first user account, a first and second account associated with the same user, a first user account and a second user account associated with a second user, a range of accounts, etc.). Based on that determination, TAP components 222 may generate and provide a request to another component software and/or computing component of transaction affinity platform 110 to request, access, retrieve, and provide the requested transaction affinity data set. In other aspects, the disclosed implementations may not perform process(es) that determine the type of transaction affinity data set transaction affinity platform 110, but rather TAP components 22 may request and/or access and receive a transaction affinity data set based on the data set that was previously generated and/or updated.
TAP components 222 may analyze the target transaction affinity data set to identify and analyze a group of transactions in the data set (Step 820). In one aspect, TAP components 222 may identify two temporally related transactions (e.g., a first transaction and a following second transaction) as a transaction pair to analyze. TAP components 222 may perform process(es) that analyze the transaction identifier field (e.g., field 710), time data (e.g., transaction time data field 740), merchant identifier (e.g., field 750), or other information in the transaction data to identify the transaction pair. Once identified, TAP components 222 may determine whether the transactions in the transaction pair involved the same or different merchants by checking, for example, the merchant identifier data included in the transaction affinity data set for each of the two transactions in the transaction pair. For example, TAP components 222 may determine that two subsequent transactions are associated with the same merchant (e.g., if a user of an account performed transactions at the same merchant location at different sequential times). Alternatively, TAP components 222 may determine that the two subsequent transactions are associated with different merchants. In some aspects, TAP components 222 may disregard the transaction pair for performing trip transaction data determination process 800. In other aspects, TAP components 222 may proceed to perform the processes of trip transaction data determination process 800 even when the same merchant is identified with the two sequential transactions.
At step 830, TAP components 222 may perform process(es) that analyze the time data for each transaction to determine a time gap for a merchant pair associated with the transactions in the transaction pair under analysis (Step 830). For example, in certain implementations, at step 830, TAP components 222 may perform a process that compares the time data for the first and second transactions in the transaction pair. Based on the analysis, TAP components 222 may determine an amount of time between the first transaction and the second transaction and generate a time gap value for the merchant pair involved in those transactions. The time gap value may reflect a time in seconds, minutes, or other temporal value. For example, referring to FIG. 7, TAP components 222 may determine that transaction TID 100 and transaction TID 110 are transactions in a transaction pair. By comparing the time data (e.g., time data field 740) for each transaction, TAP components 222 may determine that transaction TID 110 occurred twenty-six (26) minutes after transaction TID 100. TAP components 222 may be configured to perform rounding process(es) on the comparison result to generate the time gap data for transaction pair. Based on the comparison, TAP components 222 may generate time gap data for the merchant pair involved in those transaction (e.g., Merchant A and Merchant B) to be a value reflecting the time difference. TAP components 222 may store a time gap record for the merchant pair in the transaction pair analyzed in memory. For example, TAP components 222 may perform one or more processes that generate and store the time gap record in memory 223, database 227, and/or another memory devices accessible by components of transaction affinity platform 110, including TAP components 222.
Based on the time gap for the merchant pair, TAP components 222 may perform one or more processes to determine whether the time gap value for the merchant pair under analysis meets a determined threshold (Step 840). For example, TAP components 222 may store a temporal threshold value and reflects a time value (e.g., N seconds, N minutes, N hours, N days, etc.; where N may be at least 1), that may be used to determine whether a time gap value qualifies a merchant pair and corresponding transaction pair to be included in the trip transaction data generated by process 800.
In some aspects, transaction affinity platform 110 may perform one or more processes that provide a user (e.g., user of client 120A or 120B, etc.) with an option to set the temporal threshold value. For example, transaction affinity platform 110 (or a component of the hosting entity of transaction affinity platform 110) may perform process(es) that allow a user who is an account holder to select or request to receive transaction affinity services associated with the account. Further, transaction affinity platform 110 (or a component of the hosting entity of transaction affinity platform 110) may perform process(es) that allow a transaction affinity platform account user to configure one or more settings relating to transaction affinity services. As an example, one of the settings may be a setting that defines the temporal threshold value that is used to determine whether one or more transaction pairs will be used in transaction affinity relationship processing. For example, TAP components 222 may perform process(es) that does not include two or more transactions that occurred over 8 hours of each other, etc. Based on the user's selection, client 120 may provide data reflecting the selection to transaction affinity platform 110, which may perform process(es) that may generate information in a memory that identifies the user account as a transaction affinity account and stores the temporal threshold value defined by the user.
In other aspects, transaction affinity platform 110 may perform one or more processes that automatically set the temporal threshold value based on software components executed by transaction affinity platform 110. For instance, TAP components 222 may automatically set the temporal threshold value, based on, for example, the user account that is under analysis. In some instances, TAP components 222 may perform process(es) that dynamically adjust the temporal threshold value. For example, TAP components 222 may access and analyze previous time gap data that was determined and stored in memory relating to the identified merchants in the merchant pair. Based on that analysis, TAP components 222 may dynamically set the temporal threshold value to reflect previously determined time gaps that may have been used in previous transaction affinity processes consistent with those disclosed herein. In other aspects, TAP components 222 may perform process(es) that dynamically set the temporal threshold value based on merchant density. For example, in certain disclosed implementations, TAP components 222 may analyze merchant information to determine the geographical distance between merchants based on location data. For instance, the distance between merchants in rural areas may be larger than the distance between merchants in urban areas. Thus, users carrying respective clients 120 may typically drive between merchants in rural areas, where users in urban areas may walk. Thus, in certain aspects, TAP components 222 may perform process(es) that access and analyze merchant location information, which may include predetermined location category information (e.g., urban, rural, etc.) to determine whether transactions associated with identified merchants took place at particular merchant locations (e.g., rural or urban). Based on that analysis, TAP components 222 may dynamically set the temporal threshold value to adjust for different time variances that may occur in such areas. For example, TAP components 222 may determine that the transactions between a merchant pair relate to a location where more time should be allotted between merchant transactions (e.g., rural location, suburban location, etc.), TAP components 222 may increase or set a higher temporal threshold value (e.g., 1 hour, 2 hours, etc.). If TAP components 222 determines that the time gap for a merchant pair meets the temporal parameter (e.g., the temporal threshold value) (Step 840; YES) (e.g., the time gap for the merchant pair is below a temporal threshold value of 1 hour), TAP components 222 may perform process(es) that may identify the merchant pair for inclusion in the trip transaction data (Step 850). In one aspect, TAP components 222 may store the merchant pair and time gap information in a data structure in memory that is accessible and used for trip transaction data generation. In other aspects, TAP components 222 may generate information that reflects that the merchant pair is to be used in generating trip transaction data for the transaction affinity process. If, however, TAP components 222 determines that the time gap for a merchant pair does not meet the temporal parameter (e.g., the temporal threshold value) (Step 840; NO) (e.g., the time gap for the merchant pair is above a temporal threshold value of 1 hour), process 800 may continue to Step 860.
At Step 860, TAP components 222 may determine whether another merchant/transaction pair is to be analyzed by process 800, and if so (Step 860; YES), the process returns to Step 820 to analyze another transaction pair in the transaction group in a manner consistent with the processes described above. If, however, there are no more merchant pairs to analyze (Step 860; NO), TAP components 222 may perform one or more processes to generate trip transaction data (Step 870).
TAP components 222 may generate trip transaction data in different, non-limiting ways. For example, in one aspect, TAP components 222 may perform one or more processes that identify the merchant pairs identified for trip transaction inclusion (Step 850), and generate and store in a data structure a trip transaction data set including merchant information and associated time gap values for the identified merchant pairs. FIG. 9 shows a block diagram of non-limiting exemplary trip transaction data 900 for analyzed merchant pairs consistent with disclosed implementations. As shown, the trip transaction data 900 may include one or more data fields including data associated with the transaction pairs analyzed during the trip transaction determination process 800 as discussed above. For instance, as exemplified in FIG. 9, trip transaction data 900 may include merchant pair records 910 that each include merchant identifiers for a first merchant 920 and a second merchant 930, and the determined time gap value 940 for the merchant pair. As shown, the first merchant pair record may include the merchant identifier (Merchant M1) for the merchant associated with a first transaction in an analyzed transaction pair, and the second merchant identifier (Merchant M2) in the second transaction of the analyzed transaction pair, and the corresponding time gap value (5 minutes), which reflects the time difference between the first transaction and the second transaction. While trip transaction data 900 includes five merchant pairs, the disclosed implementations are not limited to the number of merchant pairs as shown in FIG. 9. Moreover, the format and information included in trip transaction data consistent with disclosed embodiments is not limited to the configuration shown in FIG. 9. Other information, or other types of information, may be included in the trip transaction data generated by the disclosed implementations.
FIG. 10 is a flow chart of a transaction affinity relationship determination process 1000 that one or more components of system 100 may perform consistent with certain disclosed implementations. For exemplary purposes only, the description of the features and processes associated with the transaction affinity relationship determination process 1000 of FIG. 10 is described below as being performed by transaction affinity platform 110. The disclosed implementations, however, are not so limited. For example, client 120 (including e.g., computing system 311) and/or merchant 130 (including e.g., computing system 411) may perform one or more processes associated with transaction affinity relationship determination process 1000. In certain aspects, client 120, merchant 130, and/or transaction affinity platform 110 may individually or collectively perform some or all the processes associated with transaction affinity relationship determination process 1000. In certain implementations, TAP components 222 of transaction affinity platform 110 may perform one or more of the processes of transaction affinity relationship determination process 1000. In addition, or alternatively, TAP components of client 120 and/or merchant 130 (e.g., TAP components 322, 422, respectively) may perform one or more of the processes of transaction affinity relationship determination process 1000. Moreover, the disclosed implementations are not limited to the sequence and/or number of process steps shown in FIG. 10.
In certain aspects, TAP components 222 may perform one or more processes that access the trip transaction data generated in accordance with the disclosed implementations (e.g., process 800) (Step 1010). TAP components 222 may analyze the trip transaction data and the transaction data associated with the transactions included in the transaction pairs corresponding to the merchant pairs in the trip transaction data to determine merchant affinity count values (Step 1020). A merchant affinity count value, in certain aspects, may reflect the number of times a user account was used in a transaction involving a first merchant and a second merchant. For example, based on the trip transaction data for a user account, TAP components 222 may determine how many times over a determined time range the user performed a transaction at a first merchant followed by a transaction at a second merchant. So, for instance, TAP components 222 may perform processes that determine that an account was used to perform a transaction at a first merchant M1 and then subsequently used to perform a transaction at a second merchant M2, and based on that analysis, increase the count value for that merchant pair (e.g., M1 to M2) by some value (e.g., increase count value by 1 or some code reflecting an increase in the condition being met). Thus, for example TAP components 222 may perform one or more transaction affinity processes to determine based on the analyzed data how many times over a determined time period the record account was used to perform transactions first involving merchant M1 followed by a subsequent transaction involving merchant M2. Based on the analysis, TAP components 222 may perform a count value update process to update the count value to reflect the identified times such a sequence of transactions from M1 to M2 occurred (e.g., update the count value by 1 for each instance, or update a code or data reflecting the increase(s) in the condition being met).
TAP components 222 may store the merchant affinity count value data in a data structure for processing to determine transaction affinity relationships consistent with the disclosed implementations. For instance, TAP components 222 may store the merchant affinity count value data in memory 223, database 227, or another memory accessible by components of transaction affinity platform 110. FIG. 11 shows an exemplary merchant affinity count value data set 1100 that may be generated and stored by the disclosed implementations. The arrangement and configuration of the data set 1100 is not limiting as the disclosed implementations may generate and store data structure(s) in memory in different formats that promote efficient data access, retrieval, and storage.
In certain aspects, merchant affinity count value data set 1100 may include first merchant data 1110, second merchant data 1120, and a merchant affinity count value 1130. First merchant data 1110 may identify the first merchant in a transaction pair involving a user account and second merchant account data 1120 may identify the second merchant in the transaction pair involving the user account. Merchant affinity count value 1130 may reflect the count value determined by TAP components 222 in a manner consistent with the above descriptions of process 1000.
In certain implementations, TAP components may perform one or more processes that determine transaction affinity relationships based on the merchant affinity count values, the transaction affinity data for the transactions for the merchant pairs in the trip transaction data, and/or other transaction data, or other information determined or obtained by transaction affinity platform 110 (Step 1130).
Transaction affinity relationships may be information that reflects one or more relationships between a set of first transaction(s) (e.g., one or more first transactions) and a set of second transaction(s) (e.g., one or more second transactions). In certain aspects, a transaction affinity relationship may include information reflecting one or more of a temporal relationship, a sequential relationship, relationship strength information, etc.
In some aspects, a temporal relationship may include information reflecting an association between the amount of time between a first set of transaction(s) and a second set of transaction(s) for one or more user accounts. For instance, a temporal relationship may include time gap data (e.g., similar to the time gap data discussed above in connection with process 800) that reflects the amount of time between a first transaction and one or more second transactions having one or more common transaction data (e.g., user account, transaction date, merchant identifier, merchant category data, merchant location data, etc.). A temporal relationship may include information that is based on such time gap data that is used to generate information reflecting a time-based relationship (e.g., account 0001 was used 5 times within a one-hour time span at 5 different merchants associated with 2 different merchant categories). Based on the temporal relationship information, the disclosed implementations may generate a transaction affinity relationship message that is translated into another format, such as a user-readable format (e.g., text and/or graphical), compatible for processing by software and/or computing components, etc.
In certain aspects, a sequential relationship may include information reflecting an association between the sequence of transactions. For instance, a sequential relationship may include information reflecting that a first set of transaction(s) (e.g., one or more first transactions) occurred immediately (or within a determined number) prior to, or after, a second set of transaction(s) (e.g., one or more second transactions) (e.g., user account 0001 was used in a transaction involving merchant M1 immediately before a second transaction involving merchant M2). Components of system 100 may be configured to perform process(es) that process this information to generate a transaction affinity relationship to indicate the sequential relationship (e.g., user A visited merchant M1 right before visiting merchant M2; user A visited merchant M1, followed by a visit to merchants M2, M3, and M4).
A relationship strength may be information reflecting a weight (e.g., strength value) associated with one or more transactions. For example, a relationship strength may include a merchant affinity strength relationship reflecting a relationship involving one or more first merchants and one or more second merchants. For instance, a strength relationship may be based on how many times a first merchant was involved in a transaction associated with an account followed by, or preceded by, a second merchant being involved in a transaction. Thus, for example, if a user of client 120A performed a transaction with a first merchant (e.g., merchant M1), and then subsequently performed a transaction with a second merchant (e.g., merchant M2), the merchant affinity relationship strength may be assigned to reflect that sequential relationship (e.g., strength value of 1). The disclosed implementations may update and/or determine the merchant affinity relationship strength based on later similar sequential transactions. Thus, for example, if the user again later performed a transaction with the first merchant (e.g., merchant M1) followed by a second transaction with the second merchant (e.g., merchant M2) one or more additional times, the disclosed implementations may perform process(es) that updates or determines the merchant affinity relationship strength for that merchant pair (e.g., M1 to M2) based on the transaction data (e.g., update the strength value to 3, 4, etc.). The disclosed implementations are not limited to determining a relationship strength based on single merchant pair transactions, or on the sequential nature of such transactions. Alternatively, in certain aspects, the disclosed implementations may determine a relationship strength based on time data (e.g., time gap data), groups of merchants (e.g., transactions from M1 to M2, M3 and/or M4), a merchant sequence group (e.g., M1 to M2, followed by M3 (e.g., a M1-M2-M3 sequence)), etc. Moreover, transaction affinity platform 110 may also determine relationship strengths for transactions that occurred in the reverse direction. For instance, transaction affinity platform 110 may determine a relationship strength between a merchant M1 to merchant M2, and a relationship strength for transactions from merchant M2 to merchant M1, based on the transaction data and transaction affinity data collected and determined in accordance with the disclosed implementations.
The disclosed implementations may determine transaction affinity relationship information based on strength relationship information between merchants and/or user accounts. For example, the disclosed implementations may perform one or more process(es) that determine a set of user accounts involved in transactions associated with certain merchants, within a certain determined time period. For instance, transaction affinity platform 110 may perform one or more process(es) that process transaction affinity information (e.g., time gap data, relationship count data, merchant identifier(s), merchant location(s), user account identifier(s), etc.) to determine a relationship between a set of user accounts and a set of merchant(s) (e.g., 5 different users performed transactions at merchant M1 sequentially before performing a transaction at merchant M2).
In certain implementations, transaction affinity platform 110 may perform one or more process(es) that generate and store data that reflect merchant affinity relationship(s) with corresponding affinity strength relationship information. FIG. 12 shows a diagram of an exemplary merchant affinity network for an exemplary set of merchants (M1 to M5) corresponding to a user account that may be monitored and processed in accordance with the disclosed implementations. Transaction affinity platform 110 may perform one or more process(es) that store data that represent information reflected in the merchant affinity relationship network (e.g., data structures including data reflecting strength data, merchant information, and relationships between them, etc.).
For example, as shown in FIG. 12, transaction affinity platform 110 may store data in memory (e.g., memory 223) that reflects relationships between the exemplary merchants M1 to M5. As shown in FIG. 12, the merchant affinity relationship strengths from one merchant to another may vary depending on the transaction data collected by the components of system 100. For instance, the merchant affinity relationship strength between merchant M1 to M2 may be larger than the merchant affinity relationship strength from merchant M2 to M1. This is exemplary shown by the thicker or wider strength affinity relationship links (e.g., thicker/wider relationship links may reflect higher merchant affinity relationship strengths compared to thinner links). Thus, in the exemplary merchant affinity relationship network 1200, a higher merchant affinity strength relationship exists between transactions stemming from merchant M1 to merchant M2 than that for transactions stemming from merchant M2 to M1 (e.g., more transactions occurred that began at merchant M1 and subsequently occurred at merchant M2). As an example, merchant M1 may be a restaurant location and merchant M2 may be an ice cream vendor merchant location. Transaction data collected and analyzed by the disclosed implementations may show that more people visit the ice cream vendor merchant M2 after conducting transactions at the restaurant merchant M1 than the other way around (i.e., transaction data shows that less people visit the restaurant merchant M1 after visiting the ice cream vendor merchant M2). The merchant affinity strength relationship may be generated and stored as an affinity strength value (e.g., RS value) that may be used by transaction affinity processes consistent with the disclosed implementations.
In some exemplary aspects, transaction affinity platform 110 may perform process(es) that generate and provide information used to display content in an interface reflecting the merchant affinity strength relationship information. The information provided via the interface may be in graphical form or other formats. For example, transaction affinity platform 110 may generate and provide data used to provide a graphical representation of the merchant affinity relationship network 1200 exemplified in FIG. 12. The interface may be displayed at transaction affinity platform 110 or other components of system 100, such as client 120 and/or merchant 130. Different graphical or textural features may be used to reflect the strength of a relationship. FIG. 13 shows the exemplary merchant affinity strength relationship network in an exemplary interface 1300 that may include graphical and/or textural merchant affinity strength relationships that may be generated and provided consistent with certain disclosed implementations. For example, interface 1300 may include graphical and/or textural representations reflecting merchants (e.g., M1 to M5) and merchant affinity relationships. As an example, interface 1300 may include links having widths corresponding to a strength value of the relationship between two merchant nodes (e.g., M1 to M2) (e.g., the wider or thicker the link, the stronger (or weaker) the relationship).
In addition, or alternatively, interface 1300 may include textual strength relationship information reflecting a strength weight value of the relationship between two merchant nodes (e.g., M1 to M2) (e.g., Relationship Strength “RS” (RS:5)). In some aspects, the relationship representation (e.g., link width and/or RS value) may indicate a sequential and/or temporal relationship between two merchant nodes (e.g., the wider or thicker a link between two merchant nodes in relation to other links in interface 1300, the larger the number of transactions (or merchant visits) occurred in sequence between the two merchant nodes). For example, as exemplified in FIG. 13, the link between merchants M1 and M2 may be wider or thicker than the relationship link between merchants M1 and M4, and thus the graphical representation may reflect that the number of transactions involving merchant M1 sequentially before merchant M2 is greater than the number of transactions involving merchant M1 sequentially before merchant M4. In some aspects, the textual strength weight value (e.g., RS) may numerically reflect a similar relationship (e.g., RS:5 (between merchants M1 and M2) is greater than RS:2 (between merchants M1 and M4)), which may indicate the number of transactions involving merchant M1 sequentially before merchant M2 is greater than the number of transactions involving merchant M1 sequentially before merchant M4. In one aspect, the RS value may reflect the count value determined by process 800 as discussed above, or alternatively, may be a value that is generated based on the count value, but may be a different value that is generated for display in interface 1300.
The disclosed implementations may perform processes that determine transaction affinity relationships to provide additional information or perform additional affinity processes. For instance, one or more components of system 100 may be configured to perform processes for determining recommendation data that may be provided to one or more computing system(s) for subsequent processing and/or review by a user of a receiving computing system.
As one example, transaction affinity platform 110 may perform merchant recommendation processes that determine and provide (e.g., to client 120) merchant recommendation information associated with one or more recommended merchants. In certain aspects, transaction affinity platform 110 may perform the merchant recommendation processes such that it provides real-time recommendation information. For example, transaction affinity platform 110 may provide merchant recommendation information to client 120 for display to a user while the user is determined to be on a shopping trip (e.g., visiting different merchant locations to purchase one or more items or services). For instance, the disclosed implementations may determine that a user account holder (e.g., a credit card account holder of a financial service provider) has purchased items at one or more home improvement merchants in the past hour, and thus determines that the user is currently shopping for home improvement-related items (e.g., the transactions associated with the user involved merchants affiliated with a home improvement merchant category). The disclosed embodiments may be configured to receive and analyze the transaction data for those transactions, determine transaction affinity relationship information based on the analyzed transaction data, and identify and provide merchant recommendation information reflecting a recommendation of another merchant (or merchants) that is also affiliated with a home improvement merchant category, or a related category. In some aspects, the merchant recommendation information may be determined based on merchant category data and other information, such as location data (e.g., the recommended merchant is a home improvement category merchant and is located within a certain distance or location relative to the user's current location (e.g., location of client 120) or the last transaction location (e.g., the location of the merchant involved in the last transaction included in the merchant affinity relationship information for that user).
FIG. 14 shows a flowchart of an exemplary merchant recommendation process consistent with the disclosed implementations. In certain aspects, transaction affinity platform 110 (or another component in system 100) may perform process(es) that dynamically provide real-time merchant recommendations based on real-time analysis of transactions associated with an account record that have occurred within a specified time period. For instance, in Step 1410, transaction affinity platform 110 may collect transaction affinity relationships data in a manner consistent with the processes discussed above. Transaction affinity platform 110 may monitor and analyze transactions of an account record for a certain time period and perform transaction affinity processes dynamically such that it can provide a merchant recommendation to, for example, the user (e.g., client 120) while the user is in a transaction event (e.g., before a new transaction occurs using the corresponding account). A transaction event may be an event determined by transaction affinity platform 110 (e.g., TAP components 222) based on a series of transactions that have been evaluated during the transaction affinity relationship processes discussed above.
As a non-limiting example, a user (e.g., John) may be a holder of an account provided by an account provider (e.g., credit card account). User John may use the account to perform a first purchase transaction at a first merchant M1 at 9:00 am of Day 1, a second purchase transaction at a second merchant M2 at 9:30 am of Day 1, and a third purchase transaction at a third merchant M3 at 10:00 am of Day 1. Consistent with aspects of the disclosed implementations, components of system 100 (e.g., transaction affinity platform 110, client 120, and/or merchant 130) may collect transaction data from each transaction and perform transaction affinity relationship processes in real-time. Thus, for example, based on the transaction affinity data collected from the three transactions, including merchant data, profile data associated with John, etc., transaction affinity platform 110 may determine that user John is currently on a shopping trip for a category or categories of items or services (e.g., food shopping because M1 is a grocery store, M2 is a coffee shop, and M3 is a butcher shop). Transaction affinity platform 110 may perform processes that identify the set of transactions as a food/grocery shopping transaction event. Transaction affinity platform 110 may also perform transaction affinity relationship processes (e.g., processes consistent with FIGS. 5-11), to determine in real-time transaction affinity relationships between the three merchants for user John. Other types of events can be determined and identified by the disclosed embodiments based on the transaction affinity data of analyzed transactions (e.g., dining event, commuting event, etc.)
At Step 1410, transaction affinity platform 110 may collect transaction affinity relationship information previously determined and stored associated with the account record and/or multiple account records that are monitored and analyzed in a manner consistent with the disclosed implementations. For example, transaction affinity platform 110 may store transaction affinity relationships data for a user account in memory that reflects a historical view of affinity relationships between merchants and the user account used to perform transactions, which was generated consistent with the above-disclosed processes. Moreover, transaction affinity platform 110 may store transaction affinity relationship data for multiple user accounts in memory that reflect a historical view of affinity relationships between merchants for those accounts used to perform transactions. Transaction affinity platform 110 may collect the transaction affinity relationship data (e.g., real-time transaction affinity relationship data based on current transaction event, historical merchant affinity relationships for a user account, and/or historical merchant affinity relationships for multiple accounts) (Step 1410), for use in performing the merchant recommendation process.
Based on the collected transaction affinity relationships data and transaction event data, transaction affinity platform 110 (or one or more component(s) of system 100) may perform process(es) that determine a potential next merchant (Step 1420). For example, transaction affinity platform 110 may analyze transaction affinity relationship information associated with the merchants involved during the transaction event, and access and analyze the historical transaction affinity relationships data collected in Step 1410, to identify one or more potential merchant(s) that meet determined criteria. For instance, following the above example involving user John's transaction event associated with merchants M1-M3, transaction affinity platform 110 may determine, based on the analyzed transaction affinity data, that merchant M3 was the last merchant visited by user John. Transaction affinity platform 110 may analyze the transaction affinity relationship data associated with user John's account and/or the historical merchant affinity information previously determined, to identify one or more merchants that have an affinity relationship strength with merchant M3 (e.g., RS value) that meets a determined threshold value (e.g., RS value of 3 or higher, an RS value that is not below 3, etc.), or is within a certain threshold value range (e.g., RS value between 3 and 5), etc.). For instance, based on the analyzed transaction affinity relationship data, transaction affinity platform 110 may determine that two merchants (e.g., merchants M7 and M8) have a determined affinity relationship value that meets the threshold (e.g., RS value of 3), thus reflecting a minimum relationship strength of transactions that occur from merchant M3 to merchant M7 and from merchant M3 to merchant M8. Based on the analysis, transaction affinity platform 110 may determine M7 and/or M8 as a potential next merchant (e.g., Step 1420).
Based on determined potential next merchant data, the disclosed implementations may generate and provide merchant recommendation data (Step 1430). For example, transaction affinity platform 110 may perform one or more processes that generate information that reflects a recommendation that the user next visit the potential next merchant. Following the example above involving user John, transaction affinity platform 110 may generate a set of data identifying merchant M7 and possibly other data (e.g., M7 location, directions from user John (e.g., based on location of client 120 associated with user John), description data associated with merchant M7 (e.g., type of items/services offered by merchant M7), etc.). Transaction affinity platform 110 may, for example, create a message including the set of data and provide the message to client 120 (or other component associated with user John), for display. For example, transaction affinity platform 110 may generate a message that, when received and processed by client 120, may render content on a display identifying merchant M7 and a message suggesting that the user visit the location given the transaction event. For example, the message may include something similar to or consistent with a message that conveys the type of event and the recommendation relating to that event (e.g., “It looks like you're shopping for groceries today. Merchant [M7], located at [address], offers competitive prices on items that may help you finish your shopping trip early.”) Graphical content and other information may be included in the message, such as merchant logos, map information, hyperlinks to other user information or applications, etc. The disclosed implementations are not limited to the type of message, the format of the content displayed, or the information included in the message generated.
While certain examples disclosed above relate to merchant recommendation data that may be directed to a user associated with client 120, the disclosed implementations are not limited to such applications. For example, aspects of the disclosed implementations may include generating and providing recommendation data to or for merchant computing systems (e.g., merchant 130). For instance, transaction affinity platform 110 may perform one or more processes consistent with those discussed above to identify one or more merchants that have a transaction affinity relationship that is above a certain threshold relationship score value and generate and store the data as merchant recommendation data. For example, TAP components 222 may identify two merchants M7 and M8 as potential next merchants that relate to the transactions analyzed during the transaction affinity processes consistent with those discussed above. TAP components 222 may perform process(es) that generate merchant recommendation data that identify merchants M7 and M8 and their respective merchant information in memory. In some implementations, transaction affinity platform 110 may maintain a data structure in memory that stores merchant partner information that identify one or more merchant systems 130 that are authorized to receive the merchant recommendation data generated by TAP components 222.
In some aspects, a merchant associated with a merchant system 130 may partner with an entity hosting transaction affinity platform 110 to receive transaction affinity-based recommendation information relating to other merchants. For example, a corresponding merchant 130 may perform processes that request merchant recommendation data dynamically (e.g., upon generating merchant recommendation data as disclosed above), periodically (e.g., provide merchant recommendation data every hour, day, week, etc.), or responsively (e.g., in response to a request from merchant 130). For example, transaction affinity platform 110 may perform one or more processes that analyze the stored merchant partner information to determine a merchant (e.g., merchant M6) and corresponding merchant system 130 that is authorized to receive generated merchant recommendation data. Transaction affinity platform 110 may perform such authorization processes following generation of recommendation data similar to that disclosed above, based on a predetermined time periodic time period, or in response to a request from a merchant system 130. Once identified and authorization is confirmed, transaction affinity platform 110 may perform processes that generate a recommendation message (e.g., packet of data) suitable for transmission over network 140 that includes the merchant information for the recommendation merchants identified during the merchant recommendation processes consistent with the disclosed embodiments (e.g., merchants M7 and M8). Transaction affinity platform 110 may performs processes that transmits the recommendation message to the merchant system 130 (e.g., merchant 130B) that is associated with the authorized merchant (e.g., merchant M6). The receiving merchant system 130 may perform process(es) that store and analyze the merchant information to perform one or more merchant processes that analyze the received merchant information.
For instance, merchant system 130 for the exemplary authorized merchant M6 may include TAP components similar to those of TAP components 222 that perform processes that generate further recommendation data based on the received merchant information received from transaction affinity platform 110. In one example, the merchant system 130 may determine whether the location of recommended merchants M7 and M8 is within a determined threshold distance (e.g., within X miles, within Y blocks, within Z feet, etc.). If so, the merchant system 130 may generate recommendation data that provides information on suggested partnership opportunities for the authorized merchant with merchants M7 and M8, such as cross-sell opportunities (e.g., merchant M6 may advertise or provide recommendations to visit merchant M7 and/or M8 to customers at the authorized merchant location), and/or vice versa (e.g., merchant M7 and/or M8 may advertise or provide recommendations to customers to visit authorized merchant M6).
The disclosed implementations may perform other recommendation processes based on the information generated by the transaction affinity processes discussed above. For example, the disclosed implementations may determine transaction affinity relationships based on a sequence of transactions associated with an account record that occur before a new transaction associated with the account record occurs. Thus, in one example, and in accordance with the features disclosed above, the disclosed implementations may analyze a transaction group from a transaction affinity data set that includes two or more sequentially related transactions, such as a first transaction T1 associated with a first merchant M1, followed by a second transaction T2 associated with a second merchant M2. In certain aspects, the disclosed embodiments may analyze the transactions T1 and T2 collectively as a virtual single transaction (e.g., VT1), and identify a third transaction T3 associated with a third merchant M3 that occurred following the virtual transaction VT1 (e.g., analyzing the time information for the first transaction T1 or the time information for both transactions T1 and T2). Thus, in some instances, TAP components 222 may perform processes that determine a time gap between the third transaction T3 and the first transaction T1 in the virtual transaction VT1. Consistent with the processes disclosed above, TAP components 222 may analyze the transaction affinity relationship data associated with the account record and/or the historical merchant affinity information previously determined for the account record, to identify one or more merchants that have an affinity relationship strength with merchants associated with the transactions included in the virtual transaction VT1 (e.g., T1 and T2) that meets a threshold value (e.g., RS value of 4 or higher, an RS value that is not below 4, etc.), or is within a certain threshold value range (e.g., RS value between 3 and 5), etc.). For instance, based on the analyzed transaction affinity relationship data, TAP components 222 may determine that two merchants (e.g., merchants M7 and M8) have a determined affinity relationship value that meets the threshold (e.g., RS value of 3), thus reflecting a minimum relationship strength of transactions that occur from the merchants associated with virtual transaction VT1 to merchant M7 and from the merchants associated with virtual transaction VT1 to merchant M8. Based on the analysis, transaction affinity platform 110 may determine M7 and/or M8 as a potential next merchant in a manner consistent with the above-disclosed processes and features of the disclosed implementations.
The disclosed implementations disclosed above may provide technical efficiencies that enhance the operation of one or more aspects of system 100 and user experiences. For instance, by configuring one or more components of system 100 to perform transaction affinity processes consistent with the processes disclosed above, the disclosed implementations may allow a computing system (e.g., transaction affinity platform 110, TAP components 222, client 120, merchant 130, etc.) to dynamically analyze transaction data to provide recommendation data quickly and efficiently. In one example, distributing one or more transaction affinity processes disclosed above across transaction affinity platform 110 and client 120 may conserve memory and processing resources at each respective computing system, while enhancing the ability to deliver dynamic merchant recommendations for display to a user of a client 120. Those skilled in the art would recognize the technical advantages to the disclosed implementations, especially in applications where transaction affinity platform 110 performs transaction affinity processes for many accounts and/or many transactions for one or more accounts. For example, transaction affinity platform 110 and one or more client 120 and/or merchant 130 may perform one or more processes associated with transaction affinity data collection process 600 (FIG. 6), trip transaction data determination process 800 (FIG. 8), transaction affinity relationship determination process (FIG. 10), and/or merchant recommendation process (FIG. 14) to provide merchant recommendation data consistent with the above disclosed implementations.
Aspects of the disclosed implementations efficiently generate and store information for use by the transaction affinity processes disclosed herein to dynamically analyze affinity relationships and provide analysis results, including recommendation data, in real time fashion. Components of the disclosed implementations (e.g., transaction affinity platform 110) may determine, configure, and store merchant information, location information, merchant affinity relationship information, and other data consistent with the disclosed implementations for subsequent analysis. For example, the disclosed implementations may determine and maintain location information associated with monitored transactions and merchants. The merchant location information may include an address, GPS location, coordinate data, or other representation that reflects the location of a merchant that is used by the transaction affinity processes disclosed herein. Components of system 100, such as TAP components 222 of transaction affinity platform 110, may perform one or more processes that generate, configure, and store location information associated with the geographic location of merchant locations, or other components (e.g., client 120).
For example, FIG. 15 shows a block diagram of exemplary location information that may be segmented to provide location information that can be accessed, analyzed, and used by one or more transaction affinity processes consistent with disclosed embodiments. The arrangement and format of the location shown in FIG. 15 is exemplary and the disclosed implementations are not limited to such examples. The disclosed implementations may configure and store location information based on different area boundary criteria, such as an area of certain size (e.g., miles, feet, etc.), a certain region (e.g., zip code, district lines), without limit to the shape, size, or units for defining the area. As exemplified in FIG. 15, a geographic area of a determined location size, shape, boundaries, etc.) may be associated with a location identifier, such as location area F (LOC F, 1530), which in this example is a rectangle of certain size. The disclosed implementations may segment a location area into sub-sections to provide more granular location information. For instance, as shown in FIG. 15, LOC F is segmented into sour subsections (1522, 1524, 1526, 1528 (also labeled LOC E for illustrative purposes)). In certain aspects, a subsection may be further segmented into another layer of subsections. For example, as shown in FIG. 15, subsection 1522 includes four subsections (LOC A, LOC B, LOC C, LOC D) in quadrant format. Like LOC F, each subsection may reflect a geographic area of certain size and shape in a non-limiting fashion. Here, sub-sections LOC E and LOC A, LOC B, LOC C, LOC D are shown as rectangles for illustrative purposes only. Moreover, LOC F may reflect a sub-section of a larger area (not shown).
The disclosed implementations may configure and store organized location information to provide merchant location information that may be used by the transaction affinity processes disclosed herein. For example, FIG. 16 shows an exemplary block diagram of an area 1600 that is divided into subsections LOC A, LOC B, LOC C, and LOC D. In one aspect, TAP components 222 may perform processes that determine and store merchant location information for merchants identified and associated with merchant affinity relationships determined in accordance with the above disclosed transaction affinity processes. For example, as shown in FIG. 16, merchants M1, M2, M3, M4, M5, M7, and M10 may be merchants that that have been involved in transactions that are included in a merchant affinity network 1600 that was determined in accordance with the transaction affinity processes disclosed above. As shown, each merchant in exemplary merchant affinity network 1600 may be associated with a corresponding location. For instance, merchant M1 is in location LOC A1 (subsection of LOC A), merchant M2 is in location LOC A4 (subsection of LOC A), merchant M3 is in location LOC B1 (subsection of LOC B). merchant M4 is in location LOC Cl (subsection of LOC C), merchant M5 is in location LOC D1 (subsection of LOC D), merchant M7 is in location LOC D3 (subsection of LOC D), and merchant M10 is in location B3 (subsection of LOC B).
Merchant affinity network 1600 may also include merchant affinity relationships information. For instance, merchant affinity network 1600 may include information reflecting affinity relationships from merchant M1 to merchant M3, from merchant M1 to merchant M4, from merchant M4 to merchant M2, and so on, as depicted by the arrows in FIG. 16. A merchant affinity relationship between two merchants may reflect a single merchant affinity hop for a merchant affinity chain. Thus, one hop exists in the merchant affinity chain between merchants M1 and M3 in the example shown in FIG. 16. As discussed, affinity relationships may extend beyond two merchants (e.g., may involve more than one hop). Merchant affinity network 1600 shows examples of two-hop merchant chains (e.g., merchant affinity chain M1 to M4 to M2, and merchant affinity chain M2 to M5 to M7). Further, merchant affinity network 1600 may also include a three-hop merchant chain (e.g., merchant affinity chain M1 to M4 to M2 to M10).
For illustration purposes, the single hop chains are depicted in FIG. 16 with solid arrow lines (e.g., the hop from merchant M1 to M3). The two hop chains are depicted with a hashed line for the final hop in the two-hop merchant affinity chain (e.g., the hop from M4 to M2 and the hop from M5 to M7). And, the three-hop chain is depicted with a dot-hash line for the final hop in the three-hop chain (e.g., the hop from M2 to M10). A multiple hop merchant affinity chain may include chains from smaller hop affinities. For instance, the two-hop merchant affinity chain involving merchants M1 to M4 to M2 shown in FIG. 16 includes a hop from merchant M1 to M4 (shown by solid arrow) and the hop from merchant M4 to M2 (shown by the dash lined arrow) to form the two-hop merchant chain for M1 to M4 to M2. Similarly, a hop from merchant M1 to M4 (shown by solid arrow) and the hop from merchant M4 to M2 (shown by the dash arrow reflecting the second hop) and the hop from merchant M2 to M10 (shown by the dot-dash arrow) to form the three-hop merchant chain for M1 to M4 to M2 to M10.
Components of the disclosed implementations may determine and store information relating to merchant affinity network 1600 (e.g., merchant location information, merchant identity information, hop information, merchant category, merchant affinity chain information, affinity values (e.g., RS value), etc.). For instance, TAP components 222 may perform processes that determines the location of each merchant and stores and formats the corresponding location information in memory for subsequent access and processing. TAP components 222 may determine the location of a merchant in different ways. For instance, TAP components 222 may access merchant address information in a data store that was provided by the merchant to transaction affinity platform 110 or extract location data from transaction data that was collected during the transaction affinity data collection process (e.g., as described above for FIGS. 6 and 7). In certain aspects, TAP components 222 may configure the merchant location information in a format that facilitates the dynamic transaction affinity recommendation processes disclosed herein.
FIG. 17 shows a block diagram of exemplary merchant information that may be stored in one or more merchant stores that may be contained in one or more memories of the disclosed implementations. For instance, transaction affinity platform 110 may store merchant location information in memory 223 and/or TAP components 222 may store merchant location information in memory 323. In certain aspects, as an example, TAP components 222 may configure location information based on location, merchant identifier, or both. In the example of FIG. 17, TAP components may store in memory data structures that include location information for merchants in location areas segmented in accordance with the location segmentation features discussed above. Using the location segments of FIG. 16 as an example, LOC A store may include location information identifying merchants M1 and M4 (consistent with their locations depicted in FIG. 16), LOCA B store may include location information identifying merchants M3 and M10 (consistent with their locations depicted in FIG. 16), and so on. TAP components 222 may also generate and store other location segment information associated with each merchant in a location store. For example, LOC A store includes location subsection store LOC A1 for merchant M1 and location subsection store LOC A4 for merchant M2. In some aspects, the disclosed implementations (e.g., TAP components 222) may configure location information to include different levels of location information for use by the disclosed implementations to perform the affinity relationship processes disclosed herein. Information may be linked to other location stores that maintain subsection location information. For instance, TAP components 222 may generate, configure, and store data structures that maintain merchant location information at a subsection level (e.g., LOC A1 store, LOC A4 store, LOC B1 store, LOC B3 store, LOC Cl store, LOC D1 store, and LOC D3 store). The subsection location stores may include data that is linked to data maintained in a related merchant location store (shown by exemplary arrows in FIG. 17) to facilitate access and use of the stored location information to assist the disclosed implementations to perform dynamic affinity relationship processing as described herein.
The disclosed implementations may also generate, configure and store other types of affinity relationship information used to perform dynamic affinity relationship processing as disclosed herein. For example, TAP components 222 may generate, configure, and store merchant information associated with each merchant in a merchant affinity network that is determined in accordance with the transaction affinity relationship processes disclosed herein. For instance, TAP components 222 may generate and configure a merchant information store 1810 that includes merchant information for merchants included in a merchant affinity network. For example, merchant store 1810 may include a merchant store for maintaining information associated with the merchants included in the merchant affinity network 1600 described above in connection with FIG. 16 (e.g., merchant stores M1, M2, M3, M4, M5, M7, and M10). Each merchant store may maintain merchant information such as location information (LOC), merchant category information (CAT), merchant identifier (ID), and other information associated with the merchant.
Moreover, the disclosed implementations may generate, configure, and store merchant affinity relationship information that corresponds to merchant chains included in one or more merchant affinity networks. For example, TAP components 222 may generate, configure, and store merchant affinity relationship information in a merchant affinity relationship store 1820 that includes affinity relationship information for one or more merchant chains. As exemplified in FIG. 18, merchant affinity relationship store 1820 may include data structures that include information that is associated with a corresponding merchant affinity chain, such as the exemplary merchant affinity network 1600 depicted in FIG. 16. In this example, merchant affinity relationship store 1820 may include information associated with each merchant chain of merchant affinity network 1600, such as merchant chain M1→M2. Information associated with each merchant chain (e.g., M1→M2) may include merchant chain identification information 1822, hop information 1824, chain location information 1826, chain category information 1828, and affinity value information 1829.
In one aspect, merchant chain information 1822 may include data that identifies each merchant in a merchant chain and the sequence of the affinity relationship between the merchants in that chain. For instance, the first merchant chain information 1822 shown in FIG. 18 may include data identifying merchant M1 and merchant M2 (e.g., merchant ID data) and data identifying the sequence of the affinity relationship (e.g., transaction sequence that involved merchant M1 followed by merchant M2). In this example, merchant chain information 1822 reflects the merchant affinity relationship between merchant M1 and M2 as shown in the exemplary merchant affinity network 1600 of FIG. 16.
Hop information 1824 may include data reflecting the number of affinity hops between the first and last merchant in a merchant chain. For example, the hop information 1824 for merchant chain M1→M2 reflects a one hop merchant chain, which corresponds to the merchant affinity relationship between merchants M1 and M2 shown in merchant affinity network 1600 of FIG. 16. As a comparison, the hop information for the last merchant chain in merchant affinity relationship store 1820 involving M1→M4→M2→M10 reflects a three-hop chain, like that shown to the merchant affinity relationship involving the sequence of transactions beginning at merchant M1 and ending at merchant M10 in FIG. 1600.
Chain location information 1826 may include data reflecting the location information for each merchant in a given merchant chain. For example, the chain location information 1826 for merchant chain M1→M2 reflects the location of merchant M1 (e.g., LOC A1) and merchant M2 (e.g., LOC A4), which correspond to the locations shown in exemplary merchant affinity network 1600 of FIG. 16. In addition, chain location information 1826 may include additional levels of location information to facilitate location affinity relationship location processing for affinity chains. For instance, the chain location information 1826 for merchant chain M1→M2 also includes location information LOC A, which reflects that merchants M1 and M2 in the merchant chain are also location in location area LOC A, as exemplified in the merchant affinity network 1600 of FIG. 16.
Chain category information 1828 may include data reflecting the merchant category or categories associated with the merchants in a given merchant chain. For example, the merchant category information 1828 for merchant chain M1→M2 reflects the merchant category for merchants M1 and M2 (e.g., CAT 100). In this example, both merchants M1 and M2 may have the same category information. In some instances, a merchant chain may be associated with different categories depending on the category information for the merchants in the merchant chain. As such, chain category information 1828 may include data reflecting the different categories. For example, the chain category information for merchant chain M2→M5→M7 shown in FIG. 18 includes category data (e.g., 100, 300, 100), reflecting the categories for the three merchants involved in the chain. In some aspects, the disclosed embodiments may generate and maintain in merchant affinity relationship store 1820 chain category information that reflects an estimated category for the entire chain. For instance, merchant affinity relationship store 1820 may include a chain category information field that includes a single category that reflects an overall chain category for a given merchant chain. Thus, as an example, TAP components 222 may perform one or more processes that determines the category for merchant chain M2→M5→M7 as CAT 100 based on the categories of each merchant included in that chain, which involve two merchants with CAT 100 values and one merchant having a different category (CAT 300).
Affinity value 1829 may include data reflecting a relationship strength value for the merchant chain. For example, the affinity value for the merchant chain M2→M2 may reflect the relationship strength (e.g., RS value, which can reflect count value as discussed above) for the affinity relationship between merchant M1 and M2. In certain aspects, the disclosed embodiments may store the RS value determined by the transaction affinity relationship determination process 1000 discussed above in connection with FIG. 10.
In certain aspects, data included in the data structures generated and maintained by the disclosed implementations may be used to link and reference data to facilitate dynamic affinity processing consistent aspects of the disclosed implementations. For example, as shown by exemplary arrows in FIG. 18, the disclosed implementations (e.g., TAP components 222) may use data, such as merchant identifier data (e.g., M1) to link to other data structures to locate, access, change, analyze, and/or provide merchant affinity relationship data for processing by other aspects of the disclosed implementations. The relationships between information shown in FIG. 18 is not limiting. For instance, merchant affinity relationship store 1820 may link to other data structures, such as the location information stores described above in connection with FIG. 17.
The disclosed implementations may perform one or more processes to generate, collect, analyze, and store merchant affinity relationship information that may be used to perform affinity relationship processes consistent with disclosed implementations. For example, TAP components 222 may perform one or more transaction affinity provisioning processes that access, analyze, process, and provide merchant affinity information. In some implementations, the transaction affinity relationship information may be provided as a service through an Application Programming Interfaces (e.g., API) that allows requests for certain types of affinity information to be provided, received, and processed. For example, transaction affinity platform 110 may perform transaction affinity provisioning process that uses an API that can be also used by client 120 and or merchant 130 to request and receive certain affinity relationship information.
FIG. 19 shows a flow chart of an exemplary transaction affinity provisioning process 1900 consistent with certain aspects of the disclosed implementations. Process 1900 may be performed in response to information triggering a request for certain types of merchant affinity information or merchant recommendation information consistent with the disclosed implementations. For example, in certain implementations, TAP components 222 may receive an affinity relationship information request. In some aspects, the request may be received by transaction affinity platform 110 from network 140, such as from client 120 (e.g., client 120A, 120B), or merchant 130 (e.g., merchant 130A, 130B). For example, a user of client 120A may provide input via an interface to request affinity relationship information or merchant recommendation data. In other aspects, transaction affinity platform 110 may perform a process that generates and provides to TAP components 222 an affinity relationship information request based on instructions provided by software components 224. For example, transaction affinity platform 110 may perform a process that periodically generates an affinity relationship information request. Transaction affinity platform 110 may also perform a process that generates an affinity relationship information request in response to a determined event or condition, such as a determined change in merchant location information or other merchant information.
Based on the received affinity relationship information request, TAP components 222 may determine the type of request, and based on that determination, may perform certain processes as exemplified in FIG. 19. For instance, the request may initiate a location based request process, a merchant hop count request process, or a merchant category request process.
A location based request may be a request for all transaction affinities for a specified location. For example, a location based request may identify a request for transaction affinities within a specified location, such as location LOC A in the merchant affinity network 1600 exemplified in FIG. 16. In response to the request, TAP components 222 may determine the request as a location based request (Step 1910), and determine from the received request the specified location (e.g., LOC A). In response, TAP components 222 may collect transaction affinity relationship information for the input location LOC A (Step 1912). For instance, TAP components 222 may access, analyze, identify, and collect merchant affinity relationship information for all merchant affinities associated with LOC A. TAP components 222 may do so, for example, by analyzing merchant affinity relationship store (e.g., store 1820) to determine merchant chains associated with location LOC A (e.g., LOC A chain location information). TAP components 222 may generate merchant affinity relationship information for the determined merchant chains and provide the information for the specified input location (Step 1914). For example, TAP components 222 may collect merchant chain identity information (e.g., 1822), hop information (1824) chain location information (1826), chain category information (1828), and/or affinity value information (1829), and generate merchant affinity relationship information that may be used by one or more processes performed by transaction affinity platform 110, TAP components 222, client 120, and/or merchant 130, depending on the source of the request. In one example, TAP components 222 may generate a location based response that may be transmitted to client 120A, which performs processes for generating and providing the merchant affinity relationship information for the requested location in an interface displayed by client 120A. The merchant affinity relationship information interface may present the information in list format or graphical format (e.g., displaying information reflecting the merchant affinity relationships involving merchant chains M1→M2, M1→M4, M2→M4, M2→M10, M1→M3, M2→M5).
In certain embodiments, TAP components 222 may perform processes to determine and provide merchant affinity relationship information for merchant chains that are only encompassed within the specified location in the location request. For example, TAP components 222 may analyze the transaction affinity relationship information for the input location to determine merchant affinity chains that begin and end within the location specified in the request. For example, instead of providing information reflecting the merchant affinity relationships involving merchant chains M1→M2, M1→M4, M2→M4, M2→M10, M1→M3, M2→M5 for a location input LOC A, the disclosed implementations may perform a process that analyzes merchant affinity relationship store 1820 to determine chain location information 1826 that only includes location information involving the specified location (e.g., LOC A). Thus, following the example above, TAP components may determine and provide affinity relationship information including only merchant chain information reflecting the merchant affinity relationships associated with merchant chains M1→M2, which is the only full merchant affinity fully included in location LOC A, as exemplified in FIG. 16, and identified in exemplary merchant location relationship store 1820.
Returning to FIG. 19, the affinity relationship information request may seek all transaction affinities within a specified number of hops from a specific merchant. In this case, TAP components 222 may determine that the request is a merchant hop count request (Step 1920). In one aspect, TAP components may generate a request for a specified merchant location and a number of hops, which may be provided to the requesting source (e.g., client 120A, a requesting process executed by transaction affinity platform 110, etc.). For example, if the request seeks all transaction affinities within two hops of merchant M1, TAP components 222 may identify the number of hops (e.g., two) and the target merchant (e.g., M1). Based on that information, TAP components 222 may access, analyze, determine, and collect transaction affinity relationship information for merchant chain(s) within the specified hop count from merchant M1 (Step 1922). In one example, TAP components 222 may analyze information in merchant affinity relationship store 1820 to determine the merchant chains with a hop count value of “2” in hop count 1824. TAP components 222 may generate merchant affinity relationship information that may be used by one or more processes performed by transaction affinity platform 110, TAP components 222, client 120, and/or merchant 130, depending on the source of the request. In one example, TAP components 222 may generate a merchant hop count response that may be transmitted to client 120A, which performs processes for generating and providing the merchant affinity relationship information for the requested hop count request in an interface displayed by client 120A (Step 1924). The merchant affinity relationship information interface may present the information in list format or graphical format (e.g., displaying information reflecting the merchant affinity relationships within two hops from merchant M1, such as merchant chains M1→M2, M1→M4, M1→M3, M4→M2, M2→M5 (each involving one hop), and merchant chains M1→M4→M2 and M2→M5→M7 (each involving two hops), as exemplified in FIG. 16 and in store 1820). In other embodiments, TAP components 222 may perform a process that determines and provides merchant affinity relationship information for merchant chains that only involve the specified hop count (e.g., only affinities with two hops, such as merchant chains M1→M4→M2 and M2→M5→M7). In such an example, the affinity relationship information request may seek all transaction affinities having a specified number of hops from a specific merchant, as opposed to within a specified number of hops.
FIG. 20 shows a block diagram of an exemplary hop count response information 2000 that may be provided by the disclosed implementations. For example, TAP components 222 may generate information that may be used to generate merchant affinity relationship information for merchant affinities within two hops of merchant M1, as discussed above. In certain aspects, hop count response information 2000 may be generated and provided graphically in an interface that is displayed by a display device (e.g., a display of client 120, merchant 130, transaction affinity platform 110). For example, hop count response information 2000 may include representations of a merchant affinity network that includes affinity relationships that meet the criteria of the hop count request. In the example shown in FIG. 20, the affinity information may identify the merchants, the merchant chains, the affinity values, and hop counts for the determined merchant affinity network. For instance, as shown, hop count response information 2000 reflects merchant chains with one hop (e.g., M1→M2, M1→M4, M1→M3, M4→M2, M2→M5 (each involving one hop)), and merchant chains with two hops (e.g., M1→M4→M2 and M2→M5→M7 (each involving two hops). Hop count response information 2000 may include data reflecting the affinity value (e.g., relationship strength RS) for each merchant chain (e.g., RS: 2 for chain M1→M3, and RS: 2 for two-hop chain M1→M4→M2). Further, hop count information 2000 may include data reflecting the hop count. In the example shown in FIG. 20, one hop merchant chains may be represented by the solid line arrows, a first two hop chain 2010 (e.g., M1→M4→M2) and a second two hop chain 2020 (e.g., M2→M5→M7).
Returning to FIG. 19, the affinity relationship information request may seek all transaction affinities involving a specified merchant category. In this case, TAP components 222 may identify the request as a merchant chain category request (Step 1930) (e.g., request for all affinities involving a home improvement transaction event, a commuting event, etc.) In one example, the category request may include data reflecting a specific merchant chain category. The specified merchant chain category may be provided in category value format (e.g., CAT100, CAT200, etc.), or may include information that may be analyzed to determine the category value. For instance, a user of client 120A may, via an interface provided by TAP components 322, may provide input seeking all affinities relating to home improvement transactions. TAP components 322 may perform a process that analyzes the request to associate it with a category value (e.g., CAT100). Alternatively, TAP components 322 may generate a request that is transmitted to transaction affinity platform 110, and provided to TAP components 222 to analyze and determine the category value. In other examples, a similar type of request may be provided by merchant 130, and processed in kind by TAP components 422, or by a user interfacing with transaction affinity platform 110.
Based on the identified category, in one example, TAP components 222 may collect transaction affinity relationship information for merchant chains that match the category request (Step 1932) and provide affinity relationship information for the category request (Step 1934). For example, TAP components 222 may generate merchant affinity relationship information that may be used by one or more processes performed by transaction affinity platform 110, TAP components 222, client 120, and/or merchant 130, depending on the source of the request. In one example, TAP components 222 may generate a category response that may be transmitted to client 120A, which performs processes for generating and providing the merchant affinity relationship information for the requested category request in an interface displayed by client 120A (Step 1924). The merchant affinity relationship information interface may present the information in list format or graphical format (e.g., displaying information reflecting the merchant affinity relationships involving merchant chain category CAT100, such as affinity information relating the merchant chains involving CAT 100, as exemplified in store 1820).
In certain aspects, the disclosed implementations may perform one or more processes for determining and providing predictive affinity relationship information. For example, transaction affinity platform 110 may perform processes that receive adjustments to affinity relationship information for a merchant affinity network and determine affinity relationship information that may result based on the adjustments. For instance, transaction affinity platform 110 may provide and use an API that may be used by another computing component (e.g., merchant 130, client 120) to provide affinity relationship adjustments and receive predictive affinity relationship information determined by transaction affinity platform 110.
The disclosed implementations may provide merchant relationship affinity information determined in accordance with the processes disclosed herein to review and consider one or more adjustments. For example, a computing component (e.g., client 120, merchant 130) may use the API to request and receive merchant affinity relationship information determined and stored by transaction affinity platform 110. The computing component (e.g., client 120, merchant 130) may the display the merchant affinity relationship information of a merchant affinity network. The merchant affinity relationship information may be provided in graphical form or other formats similar to that discussed above in connection with FIGS. 12 and 13. For example, merchant 130 may generate and send a request to transaction affinity platform 110 via the API to receive affinity information that is used to generate and display in an interface a representation of merchant affinity relationships of a merchant affinity network.
FIG. 21 shows a block diagram of an exemplary merchant affinity network 2205 that includes merchant affinity relationship information that may have been determined by transaction affinity processes disclosed herein (e.g., processes associated with the features disclosed above in connection with FIGS. 5-14). Aspects of the disclosed implementations may allow a user or a process performed by a computing component of system 100 (e.g., TAP components 222, 322, 422) to adjust a merchant affinity value of a merchant chain in the merchant affinity network 2205. Based on the adjustment, transaction affinity platform 110 may perform predictive affinity processes that analyze historical transaction data, historical transaction affinity data, merchant information, etc. associated with merchant chains included in merchant relationship network 2205 to determine potential affinity relationship changes in one or more merchant chains or potential new affinities in the merchant affinity network.
In one aspect, TAP components 222, 322, or 422 may perform processes that generate information that is used to display in an interface a representation of merchant network 2105 in graphical, textural, or other formats (e.g., a table listing the merchant chain information, affinity values, and related information). A user may interact with the computing component providing the displayed network (e.g., transaction affinity platform 110, client 120, merchant 130) to provide an adjustment to an affinity value (e.g., RS value) of a merchant chain in the merchant network 2105. Affinity value adjustments may be provided through graphical manipulation of affinity relationship data on the display screen, or by keyboard or similar non-graphical input. As one example, TAP components 222 may perform processes that allow a user to graphically manipulate the width of a link 2110 of a merchant chain of merchant affinity network 2105 (e.g., adjust the width to be thinner or smaller to reflect a reduction in the affinity value (e.g., the affinity relationship strength) between merchant M1 and merchant M2. In other exemplary aspects, a user may make a similar adjustment by changing an affinity value (e.g., RS value) presented in textual format in the interface provided by TAP components 222.
Based on the adjustment, the disclosed implementations may perform predictive affinity relationship processes that analyze previously determined merchant affinity relationship information to determine possible changes to merchant affinity network 2105 of the adjustment affect the relationship(s) between one or more other merchant chains in merchant affinity network 2105. For example, TAP components 222 may perform predictive affinity relationship processes that determines that the affinity relationship strength between merchant M2 and M5 in merchant network 2105 increases based on the reduced relationship strength associated with the reduced affinity value between M1 and M2. FIG. 22 shows a block diagram of exemplary merchant affinity network 2205 that reflects the results of the predictive merchant recommendation processes in response to the adjustment to merchant affinity network 2105 discussed above for FIG. 21. As shown, merchant affinity network 2205 shows a reduced affinity value (e.g., RS: 2) for link 2110 (shown as link 2210) and the resulting increase in the affinity value between merchants M2 and M5 (e.g., RS: 5), which may be represented graphically with a wider or thicker link corresponding to the changed affinity value in the merchant chain (e.g., increase RS value from “3” to “5”).
In certain aspects, the disclosed implementations may determine predictive affinity relationship information by analyzing time information, merchant category information, or other merchant affinity relationship information relating to the merchants and merchant pairs in the merchant network under predictive analysis. For example, transaction affinity platform 110 may determine, configure, and store merchant affinity relationship information in merchant affinity information store 1820 for one or more time periods (e.g., time of year, day(s) of week, season of year (e.g., Summer, Winter, Fall, Spring), etc.). TAP components 222 may perform predictive affinity relationship processes that analyze time information relating to current merchant affinity relationship information for merchant chains in the merchant network under analysis (e.g., merchant chain M2→M5 shown in network 2105 of FIG. 21) with time information associated with the requested affinity value adjustment. For instance, TAP components 222 may determine that historic affinity relationship information for merchants and merchant chains like those included in merchant affinity network 2105 indicate that the affinity value between merchants M2 and M5 have higher values during certain times of year or certain months (e.g., winter months or in December) compared to other times or year or months. Moreover, TAP components 222 may perform processes that analyze time information at more granular levels, such as the time of day transactions occurred in the affinity relationship data associated with a merchant chain. TAP components 222 may compare time data associated with the affinity value adjustment with the time information for determined merchant chains and associated merchants in the merchant network under analysis to determine potential relationships that result in predictive affinity relationship information. TAP components 222 may also analyze other information to determine predictive affinity relationship information, such as merchant category information associated with merchant chains included in the merchant network under predictive analysis. For example, TAP components 222 may perform processes that determine, based on the merchant category of an adjusted merchant chain (e.g., M1→M2 chain in FIG. 21) may affect the affinity value of another merchant chain including a merchant with the same or related merchant category. Additionally, TAP components 222 may perform predictive affinity relationship processes that analyze combinations of historical merchant affinity information (e.g., time information, merchant category information, affinity value relationships based on the time information, etc.) to determine predictive affinity relationship information based on affinity relationship adjustments.
Aspects of the disclosed implementations may provide focused predictive affinity relationship analysis for targeted merchants. For instance, a user associated with a merchant business may use merchant 130 may request to receive affinity relationship information for all the merchant business locations within a specified location area. In one aspect, merchant 130 may perform processes that generate an interface that allows the user to request and view its business merchant locations in a particular city, town, zip code, location area designation, etc. As an example, the interface may allow the user to view “My Stores” in location area LOC F. In response, TAP components 422 of merchant 130 may access and generate merchant network information reflecting the merchants in LOC A for the identified merchant business. Alternatively, TAP components 422 may generate and transmit a request to transaction affinity platform 110 for merchant affinity network information corresponding to the request. In response, TAP components 222 may perform processes that access and generate merchant network information reflecting the merchants in LOC A for the identified merchant business, which is provided to merchant 130 via transaction affinity platform 110 and network 140. As an example, FIG. 23 shows a block diagram of an exemplary merchant network 2300 that includes merchant locations for a particular merchant business, such as a coffee shop business having locations M1, M2, and M3 in a location area including subsections LOC A, LOC B, LOC C, and LOC D. Merchant network 2300 may also include other merchants M4 and M5, such as different gas station businesses respectively located near merchants M1 and M3. In this example, based on merchant affinity relationship processes consistent with those disclosed above, TAP components 222 (or TAP components 422) may determine and provide information showing that merchant network 2300 includes an affinity relationship (e.g., RS: 5) between one of the merchant business locations (e.g., M1) and another merchant (e.g., M4) in location LOC A. Merchant network 2300 may also reflect that coffee business location M3 has no affinity relationship with merchant M5 located in LOC B.
As an example, the user associated with the coffee shop business discussed above may have information that a road providing access to gas station merchant M4 from a main highway (e.g., 2315 in FIG. 23) is, or will be, under construction, thus limiting access to merchant M4 from highway 2315. Accordingly, consistent with the features disclosed herein, the user (or processes executed by TAP components 222) may adjust the RS value for the merchant chain M4→M1 from RS: 5 to RS: 1, and based on that adjustment, the disclosed implementations may perform predictive affinity relationship processes to determine the effect of that adjustment to merchant network 2300.
FIG. 24 shows a block diagram reflecting exemplary results of adjusting the affinity value for merchant chain M4→M1 from RS: 5 to RS: 1. In this example, the predictive affinity relationship processes performed by the disclosed implementations may determine that a new affinity relationship may form between M5 and M3 with an affinity value RS: 4. TAP components 222 may analyze the merchant information associated with merchant M5 and based on merchant category information, historical time information relating to the merchants in merchant affinity network 2300, etc., to determine that an affinity relationship between merchant M5 and M3 is likely to form at certain time periods. For instance, because traffic to gas station M4 will decrease, analysis of gas station M5's location on highway 2315 and proximity (e.g., location information) to coffee shop location M3 may determine a likely increase of transaction affinities from merchant M5 to coffee shop location M3 during morning commuting hours. (e.g., morning hours Monday through Friday). Accordingly, TAP components 222 may generate and provide predictive affinity relationship information that reflects the new predicted affinity relationship involving merchant M3, as shown in FIG. 24.
In other aspects, the disclosed implementations may allow a user (or a software component executed by a computing component) to control the type of predictive processing to perform. For instance, transaction affinity platform 110 may be configured to perform processes that determines one or more efficient options for performing predictive affinity relationship processes to reduce resource use, data transmissions, conserve memory usage, and/or provide quick and timely information to processes and users, etc. For example, TAP components 222 may execute processes that determine, based on that a received affinity value adjustment for a merchant chain in a merchant network under analysis, may require processing a certain number of merchant chains or merchant pairs, etc. (e.g., 100 pairs) depending on the number of merchant chains in the merchant network under analysis. TAP components 222 may check the predictive merchant affinity processing value (e.g., X) against a determined threshold value (which may be defined by a user or by software components executed by one or more computing components in system 100). If the potential predictive merchant affinity processing value (e.g., X) meets or exceeds the threshold value, TAP components 222 may determine to reduce the amount of information to process to facilitate efficient dynamic processing to provide predictive affinity relationship information in a timely fashion. For example, TAP components 222 may determine to limit the number of merchant chains to use in the predictive affinity relationship processes to conserve resources and/or provide timely predictive affinity relationship results. In other aspects, TAP components 222 may determine to limit the number of merchant chains to use in the predictive affinity relationship processes based on a determined hop count value (e.g., only analyze merchant chains with a hop value of two or less).
In other aspects, the disclosed implementations may provide an option for a user to select specific merchant pair(s) to be analyzed based on a received affinity value adjustment. For example, referring to exemplary merchant affinity network 2105 in FIG. 21, TAP components 222 may generate data to that is used to present, via an interface, an option for a user to select one or more specific merchant(s) or merchant chain(s) (e.g., merchant chain M1→M4 and merchant chain M2→M5) as target chains for predictive analysis based on an affinity relationship adjustment to another merchant chain (e.g., reducing the RS value between M1 and M2). Thus, in this example, the predictive affinity relationship processes may determine and provide predictive affinity relationship information reflecting how, for example, the user's manipulation of link 2110 (and/or the underlying data associated with link 2110) may affect the affinity relationship between the selected target merchant chains M1→M4 and M2→M5.
The disclosed implementations may provide predictive affinity relationship information in different ways. For example, TAP components 222 may perform processes that generate information used to reproduce a revised merchant network in graphical form with highlighted, color coded, and/or or other formats) identifying the predicted affinity relationships affected by the adjustment to the merchant network In addition to, or alternatively, the disclosed implementations may be configured to provide the predictive affinity relationship information in non-graphical form (e.g., a table format, listing, etc.) showing revised merchant affinity relationships determined by the predictive affinity relationship processes performed by the disclosed implementations. Transaction affinity relationship platform 110 may include one or more transaction affinity platform provisioning components to provide the predictive affinity relationship information, such as to a display device and/or to network 140 for communication to client 120 and/or merchant 130 for subsequent display and/or processing.
The predictive affinity relationship processes discussed above may be performed in part or in whole automatically by one or more components of system 100. For example, the disclosed implementations are not limited to a user initiating one or more adjustments of affinity relationships associated with a merchant network. In some aspects, transaction affinity platform 110, client 120, and/or merchant 130 may perform, individually or collectively, processes that automatically adjust one or more affinity relationships in a merchant chain of a merchant network. For example, transaction affinity platform 110 and client 120 (or merchant 130) may collectively perform predictive affinity relationship processes consistent with the processes discussed above. For instance, transaction affinity platform 110 may provide information to client 120 that is used to present the merchant affinity network under analysis to a user of client 120 (e.g., via an interface). TAP components 322 of client 120 may perform one or more processes that receive an affinity relationship adjustment from the user and provides the adjustment information to transaction affinity platform 110. In response, TAP components 222 may perform predictive affinity relationship processes to determine any changes to affinity relationships to the merchant network consistent with the processes discussed above. TAP components 222 may provide information reflecting the results of the predictive affinity relationship process that may be transmitted to client 120 via transaction affinity platform 110 and network 140. Based on the results from transaction affinity platform 110, TAP components 322 of client 120 may perform one or more additional predictive relationship processes to generate an interface that reflects changes to the merchant affinity relationships in the merchant affinity network under analysis.
Although aspects of the disclosed implementations are described as being associated with data stored in memory and other tangible computer-readable storage mediums, one skilled in the art will appreciate that these aspects can also be stored on and executed from many types of non-transitory, tangible computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or CD-ROM, or other forms of RAM or ROM. Accordingly, the disclosed implementations are not limited to the above described examples, but instead is defined by the appended claims in light of their full scope of equivalents.

## Claims

1. A device, comprising:
one or more memories; and
one or more processors, coupled to the one or more memories, configured to:
generate, based on received transaction data associated with a set of transactions associated with a first merchant of a set of merchants, transaction affinity relationship information, associated with a set of merchant chains in a merchant network, that includes a first affinity value,
wherein a first merchant chain, of the set of merchant chains, is associated with the first affinity value reflecting a strength of an affinity between the first merchant and a second merchant, of the set of merchants, in the first merchant chain;

receive, via an interface associated with the merchant network, an adjustment to the first affinity value that includes at least one of:
modification of a first characteristic associated with a first merchant link associated with the first affinity value, or
modification of a second characteristic associated with the first affinity value;

determine, based on the adjustment, a number of merchant chains, of the set of merchant chains, to be processed to determine predictive affinity relationship information for the merchant network;
determine, based on comparing the determined number of merchant chains to be processed to a threshold value, to reduce an amount of information to process;
limit, based on determining to reduce the amount of information to process, the number of merchant chains to be processed; and
determine, based on processing a plurality of merchant chains, of the set of merchant chains, that correspond to the limited number of merchant chains to be processed, and based on the first affinity value, the predictive affinity relationship information,
wherein the predictive affinity relationship information includes information associated with a predicted change to a second affinity value corresponding to a second merchant chain, of the set of merchant chains.

2. The device of claim 1, wherein the transaction affinity relationship information includes at least one of:
hop information associated with a quantity of sequentially related transactions between an originating merchant and a terminating merchant of the first merchant chain,
location information of the second merchant, or
merchant chain category information associated with a transaction category associated with the second merchant.

3. The device of claim 1, wherein the adjustment is associated with a reduction of the first affinity value, and
wherein the predicted change to the second affinity value is an increase of the second affinity value.

4. The device of claim 1, wherein the predicted change to the second affinity value is determined based on proposed time information associated with the adjustment and based on historical time information associated with the set of transactions, and
wherein the proposed time information is associated with one or more transactions, of the set of transactions, included in the first merchant chain.

5. The device of claim 1, wherein analyzing information associated with the adjustment includes analyzing at least one of:
time information associated with the adjustment,
location information associated with the second merchant, or
merchant chain category information associated with a transaction category associated with the second merchant.

6. The device of claim 1, wherein the one or more processors are further configured to:
determine a location relationship between a fourth merchant, of the set of merchants, included in the first merchant chain and the second merchant chain,
wherein the location relationship is determined based on analyzing a first merchant location corresponding to the second merchant and a second merchant location corresponding to a third merchant of the second merchant chain; and

predict the predicted change to the second affinity value based on the location relationship.

7. The device of claim 1, wherein the interface associated with the merchant network includes a graphical representation of the merchant network including a merchant node representation associated with the set of merchants,
wherein the merchant node representation includes representations of the set of merchant chains, and
wherein the merchant node representation includes representations of the transaction affinity relationship information.

8. A method, comprising:
generating, by a device and based on received transaction data associated with a set of transactions associated with a first merchant of a set of merchants, transaction affinity relationship information, associated with a set of merchant chains in a merchant network, that includes a first affinity value,
wherein a first merchant chain, of the set of merchant chains, is associated with the first affinity value reflecting a strength of an affinity between the first merchant and a second merchant, of the set of merchants, in the first merchant chain;

receiving, by the device and via an interface associated with the merchant network, an adjustment to the first affinity value that includes at least one of:
modification of a first characteristic associated with a first merchant link associated with the first affinity value, or
modification of a second characteristic associated with the first affinity value;

determining, by the device and based on the adjustment, a number of merchant chains, of the set of merchant chains, to be processed to determine predictive affinity relationship information for the merchant network;
determining, by the device and based on comparing the determined number of merchant chains to be processed to a threshold value, to reduce an amount of information to process;
limiting, by the device and based on determining to reduce the amount of information to process, the number of merchant chains to be processed; and
determining, by the device, based on processing a plurality of merchant chains, of the set of merchant chains, that correspond to the limited number of merchant chains to be processed, and based on the first affinity value, predictive affinity relationship information,
wherein the predictive affinity relationship information includes information associated with a predicted change to a second affinity value corresponding to a second merchant chain, of the set of merchant chains.

9. The method of claim 8, wherein the transaction affinity relationship information includes at least one of:
hop information associated with a quantity of sequentially related transactions between an originating merchant and a terminating merchant of the first merchant chain,
location information of the second merchant, or
merchant chain category information associated with a transaction category associated with the second merchant.

10. The method of claim 8, wherein the adjustment is associated with a reduction of the first affinity value, and
wherein the predicted change to the second affinity value is an increase of the second affinity value.

11. The method of claim 8, wherein the predicted change to the second affinity value is determined based on proposed time information associated with the adjustment and based on historical time information associated with the set of transactions, and
wherein the proposed time information is associated with one or more transactions, of the set of transactions, included in the first merchant chain.

12. The method of claim 8, wherein analyzing information associated with the adjustment includes analyzing at least one of:
time information associated with the adjustment,
location information associated with the second merchant, or
merchant chain category information associated with a transaction category associated with the second merchant.

13. The method of claim 8, further comprising:
determining a location relationship between a fourth merchant, of the set of merchants, included in the first merchant chain and the second merchant chain,
wherein the location relationship is determined based on analyzing a first merchant location corresponding to the second merchant and a second merchant location corresponding to a third merchant of the second merchant chain; and

predicting the predicted change to the second affinity value based on the location relationship.

14. The method of claim 8, wherein the interface associated with the merchant network includes a graphical representation of the merchant network including a merchant node representation associated with the set of merchants,
wherein the merchant node representation includes representations of the set of merchant chains, and
wherein the merchant node representation includes representations of the transaction affinity relationship information.

15. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a device, cause the device to:
generate, based on received transaction data associated with a set of transactions associated with a first merchant of a set of merchants, transaction affinity relationship information, associated with a set of merchant chains in a merchant network, that includes a first affinity value,
wherein a first merchant chain, of the set of merchant chains, is associated with the first affinity value reflecting a strength of an affinity between the first merchant and a second merchant, of the set of merchants, in the first merchant chain;

receive, via an interface associated with the merchant network, an adjustment to the first affinity value that includes at least one of:
modification of a first characteristic associated with a first merchant link associated with the first affinity value, or
modification of a second characteristic associated with the first affinity value;

determine, based on the adjustment, a number of merchant chains, of the set of merchant chains, to be processed to determine predictive affinity relationship information for the merchant network;
determine, based on comparing the determined number of merchant chains to be processed to a threshold value, to reduce an amount of information to process;
limit, based on determining to reduce the amount of information to process, the number of merchant chains to be processed; and
determine based on analyzing information associated with the adjustment, and based on the first affinity value, predictive affinity relationship information for the merchant network,
wherein the predictive affinity relationship information includes information associated with a predicted change to a second affinity value corresponding to a second merchant chain, of the set of merchant chains.

16. The non-transitory computer-readable medium of claim 15, wherein the transaction affinity relationship information includes at least one of:
hop information associated with a quantity of sequentially related transactions between an originating merchant and a terminating merchant of the first merchant chain,
location information of the second merchant, or
merchant chain category information associated with a transaction category associated with the second merchant.

17. The non-transitory computer-readable medium of claim 15, wherein the adjustment is associated with a reduction of the first affinity value, and
wherein the predicted change to the second affinity value is an increase of the second affinity value.

18. The non-transitory computer-readable medium of claim 15, wherein the predicted change to the second affinity value is determined based on proposed time information associated with the adjustment and based on historical time information associated with the set of transactions, and
wherein the proposed time information is associated with one or more transactions, of the set of transactions, included in the first merchant chain.

19. The non-transitory computer-readable medium of claim 15, wherein analyzing information associated with the adjustment includes analyzing at least one of:
time information associated with the adjustment,
location information associated with the second merchant, or
merchant chain category information associated with a transaction category associated with the second merchant.

20. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, when executed by one or more processors of the device, further cause the device to:
determine a location relationship between a fourth merchant, of the set of merchants, included in the first merchant chain and the second merchant chain,
wherein the location relationship is determined based on analyzing a first merchant location corresponding to the second merchant and a second merchant location corresponding to a third merchant of the second merchant chain; and

predict the predicted change to the second affinity value based on the location relationship.