Customers of financial institutions often find it difficult to keep track of their account activities. These customers may be unaware of the details of their transactions, account balances, and account policies and may miss potential opportunities and susceptibilities associated with their accounts. For example, a customer may not realize that they are eligible for an upgraded service because they are unfamiliar with their bank's policies and products. Moreover, financial institutions usually have large volumes of data to organize and maintain, and may not have the resources to easily analyze the data and keep customers informed. Such financial institutions may miss opportunities for growth by failing to inform their customers of possible issues, offers, and product updates at the most opportune times. For example, a financial institution may fail to timely notify a customer of an investment offer and may miss an opportunity to strengthen their relationship with the customer as a consequence.
The embodiments presented herein are directed to systems and methods for transforming historical transaction data, collected in response to certain triggers, in order that it may better be used to analyze resource utilization, inflows and outflows.
According to embodiments of the invention, a system for transforming historical data collected in response to one or more triggering events, in order to analyze resource utilization, inflows and outflows includes a computer apparatus including a processor and a memory; and a software module stored in the memory, comprising executable instructions that when executed by the processor cause the processor to access inflow and outflow information corresponding to a primary node from historical data; analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, each channel connecting the primary node and a secondary node, the one or more channels of flow identified when they exhibit one or more predetermined characteristics; determine that the one or more channels of flow, based on the exhibited predetermined characteristics should be categorized into one or more categories out of a plurality of categories, the determining comprising determining that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an inflow category indicating a direction of flow is from the secondary node to the primary node; determining that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an outflow category indicating a direction of flow is from the primary node to the secondary node; categorize the one or more channels of flow into the one or more determined categories out of the plurality of categories; analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, wherein at least one channel of flow connects the primary node and the secondary node through at least one intermediate node; measure a flow volume over identified one or more channels of flow; determine, based on one or more predefined rules and the measured flow volume, a channel flow score; and based on the determined channel flow score, transmit a control signal to a second system to cause the second system to perform an action.
According to embodiments of the invention, a system for transforming historical data collected in response to one or more triggering events, in order to analyze resource utilization, inflows and outflows includes a computer apparatus including a processor and a memory; and a software module stored in the memory, comprising executable instructions that when executed by the processor cause the processor to access inflow and outflow information corresponding to a primary node from historical data; analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, each channel connecting the primary node and a secondary node, the one or more channels of flow identified when they exhibit one or more predetermined characteristics; determine that the one or more channels of flow, based on the exhibited predetermined characteristics should be categorized into one or more categories out of a plurality of categories; and categorize the one or more channels of flow into the one or more determined categories out of the plurality of categories.
In some embodiments, the executable instructions when executed by the processor further cause the processor to determine that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an inflow category indicating a direction of flow is from the secondary node to the primary node. In some embodiments, the executable instructions when executed by the processor further cause the processor to determine that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an outflow category indicating a direction of flow is from the primary node to the secondary node. In some embodiments, the executable instructions when executed by the processor further cause the processor to analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, wherein at least one channel of flow connects the primary node and the secondary node through at least one intermediate node.
In some embodiments, the executable instructions when executed by the processor further cause the processor to measure a flow volume over identified one or more channels of flow; determine, based on one or more predefined rules and the measured flow volume, a channel flow score; and, based on the determined channel flow score, transmit a control signal to a second system to cause the second system to perform an action. In some embodiments, the control signal is configured to cause the second system to monitor one or more first nodes for inflow and outflow to one or more second nodes. In other embodiments, the control signal is configured to cause the second system to generate a hard copy report indicating information related to the measured flow volume. In yet other embodiments, the control signal is configured to cause the second system to generate one or more alerts configured to alert a user of the measured flow volume.
According to embodiments of the invention, a computer program product for transforming historical data collected in response to one or more triggering events, in order to analyze resource utilization, inflows and outflows a computer readable storage medium having computer readable program code embodied therewith includes computer readable program code configured to access inflow and outflow information corresponding to a primary node from historical data; computer readable program code configured to analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, each channel connecting the primary node and a secondary node, the one or more channels of flow identified when they exhibit one or more predetermined characteristics; computer readable program code configured to determine that the one or more channels of flow, based on the exhibited predetermined characteristics should be categorized into one or more categories out of a plurality of categories; and computer readable program code configured to categorize the one or more channels of flow into the one or more determined categories out of the plurality of categories.
In some embodiments, the computer readable program code further comprises computer readable program code configured to determine that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an inflow category indicating a direction of flow is from the secondary node to the primary node. In some embodiments, the computer readable program code further comprises computer readable program code configured to determine that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an outflow category indicating a direction of flow is from the primary node to the secondary node. In some embodiments, the computer readable program code further comprises computer readable program code configured to analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, wherein at least one channel of flow connects the primary node and the secondary node through at least one intermediate node.
In some embodiments, the computer readable program code further comprises computer readable program code configured to measure a flow volume over identified one or more channels of flow; computer readable program code configured to determine, based on one or more predefined rules and the measured flow volume, a channel flow score; and computer readable program code configured to, based on the determined channel flow score, transmit a control signal to a second system to cause the second system to perform an action. In some such embodiments, the control signal is configured to cause the second system to monitor one or more first nodes for inflow and outflow to one or more second nodes. In other such embodiments, the control signal is configured to cause the second system to generate a hard copy report indicating information related to the measured flow volume. In yet other such embodiments, the control signal is configured to cause the second system to generate one or more alerts configured to alert a user of the measured flow volume.
According to embodiments of the invention, a method for transforming historical data collected in response to one or more triggering events, in order to analyze resource utilization, inflows and outflows includes accessing inflow and outflow information corresponding to a primary node from historical data; analyzing the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, each channel connecting the primary node and a secondary node, the one or more channels of flow identified when they exhibit one or more predetermined characteristics; determining that the one or more channels of flow, based on the exhibited predetermined characteristics should be categorized into one or more categories out of a plurality of categories; and categorizing the one or more channels of flow into the one or more determined categories out of the plurality of categories.
In some embodiments, the method includes determining that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an inflow category indicating a direction of flow is from the secondary node to the primary node. In some embodiments, the method includes determining that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an outflow category indicating a direction of flow is from the primary node to the secondary node.
The features, functions, and advantages that have been discussed may be achieved independently in various embodiments of the present invention or may be combined with yet other embodiments, further details of which can be seen with reference to the following description and drawings.
The present embodiments are further described in the detailed description which follows in reference to the noted plurality of drawings by way of non-limiting examples of the present embodiments in which like reference numerals represent similar parts throughout the several views of the drawings and wherein:
Introduction
As discussed above, the embodiments presented herein are directed to systems and methods for transforming historical transaction data, collected in response to certain triggers, in order that it may better be used to analyze resource utilization, inflows and outflows.
Triggers and Data Gathering
The embodiments presented herein are directed to systems and methods for the creation, institution, and management of account related triggers. In some embodiments, a system that supports ideation, sizing, design, production, and maintenance of triggers is provided. The system develops effective communication routines to aid in trigger delivery.
As will be appreciated by one skilled in the art, aspects of the present embodiments of the invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present embodiments of the invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present embodiments of the invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present embodiments of the invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
As presented herein, embodiments that enhance and maintain customer relationships with a financial institution via financial account related triggers are provided. As used herein, the term “trigger” refers to, but is not limited to, account activity, transactional data, account costs, account terms and conditions associated with one or more financial accounts, and non-financial data such as online data. Exemplary triggers include transactions and/or events associated with various accounts, such as a checking account, savings account, credit card account, retirement account, investment vehicle, or other type of account. Non-financial exemplary triggers include referrals from an online domain and online cookies. Specific events or trends in account or online activity are used to accomplish various objectives in the support and maintenance of user accounts to thereby increase user satisfaction and account profitability.
Referring now to the figures,
The computing device 200 is configured to communicate over a network 150 with a financial institution's banking system 300 and, in some cases, a third party system 170, such as one or more other financial institution systems, a vendor's system, an online domain, a POS (point of sales) device, and the like. The user's computing device 200, the financial institution's banking system 300, and a trigger repository 400 are each described in greater detail below with reference to
In general, the computing device 200 is configured to connect with the network 150 to log the user 110 into the financial institution's banking system 300, such as an online banking system. The computing device 200 is also configured to connect with the network 150 to allow the user 110 to access the third party system 170, such as an online domain. The banking system 300 involves authentication of a user in order to access the user's account on the banking system 300. For example, the banking system 300 is a system where a user 110 logs into his/her account such that the user 110 or other entity can access data that is associated with the user 110. For example, in one embodiment of the invention, the banking system 300 is an online banking system maintained by a financial institution. In such an embodiment, the user 110 can use the computing device 200 to log into the banking system 300 to access the user's online banking account. Logging into the banking system 300 generally requires that the user 110 authenticate his/her identity using a user name, a passcode, a cookie, a biometric identifier, a private key, a token, and/or another authentication mechanism that is provided by the user 110 to the banking system 300 via the computing device 200. The financial institution's banking system 300 is in network communication with other devices, such as the third party system 170 and the trigger repository 400.
In some embodiments of the invention, the trigger repository 400 is configured to be controlled and managed by one or more third-party data providers (not shown in
Referring now to
As used herein, a “processing device,” such as the processing device 220 or the processing device 320, generally refers to a device or combination of devices having circuitry used for implementing the communication and/or logic functions of a particular system. For example, a processing device may include a digital signal processor device, a microprocessor device, and various analog-to-digital converters, digital-to-analog converters, and other support circuits and/or combinations of the foregoing. Control and signal processing functions of the system are allocated between these processing devices according to their respective capabilities. The processing device 220 or 320 may further include functionality to operate one or more software programs based on computer-executable program code thereof, which may be stored in a memory. As the phrase is used herein, a processing device 220 or 320 may be “configured to” perform a certain function in a variety of ways, including, for example, by having one or more general-purpose circuits perform the function by executing particular computer-executable program code embodied in computer-readable medium, and/or by having one or more application-specific circuits perform the function.
As used herein, a “user interface” 230 generally includes a plurality of interface devices that allow a customer to input commands and data to direct the processing device to execute instructions. As such, the user interface 230 employs certain input and output devices to input data received from the user 110 or output data to the user 110. These input and output devices may include a display, mouse, keyboard, button, touchpad, touch screen, microphone, speaker, LED, light, joystick, switch, buzzer, bell, and/or other customer input/output device for communicating with one or more customers.
As used herein, a “memory device” 250 or 350 generally refers to a device or combination of devices that store one or more forms of computer-readable media and/or computer-executable program code/instructions. Computer-readable media is defined in greater detail below. For example, in one embodiment, the memory device 250 or 350 includes any computer memory that provides an actual or virtual space to temporarily or permanently store data and/or commands provided to the processing device 220 when it carries out its functions described herein.
It should be understood that the memory device 350 may include one or more databases or other data structures/repositories. The memory device 350 also includes computer-executable program code that instructs the processing device 320 to operate the network communication interface 310 to perform certain communication functions of the banking system 300 described herein. For example, in one embodiment of the banking system 300, the memory device 350 includes, but is not limited to, a network server application 370, an authentication application 360, a user account data repository 380, which includes user authentication data 382 and user account information 384, and a banking system application 390, which includes a trigger repository interface 392 and other computer-executable instructions or other data such as a trigger software module. The computer-executable program code of the network server application 370, the authentication application 360, or the banking system application 390 may instruct the processing device 320 to perform certain logic, data-processing, and data-storing functions of the online system 700 described herein, as well as communication functions of the banking system 300. p In one embodiment, the user account data repository 380 includes user authentication data 382 and user account information 384. The network server application 370, the authentication application 360, and the banking system application 390 are configured to implement user account information 384 and the trigger repository interface 392 when monitoring the trigger data associated with a user account. The banking system application 390 includes a trigger software module for performing the steps of methods and systems 500-1100.
As used herein, a “communication interface” generally includes a modem, server, transceiver, and/or other device for communicating with other devices on a network, and/or a user interface for communicating with one or more customers. Referring again to
The network communication interface 410 is a communication interface having one or more communication devices configured to communicate with one or more other devices on the network 150. The processing device 420 is configured to use the network communication interface 410 to receive information from and/or provide information and commands to the user's computing device 200, the third party system 170, the trigger repository 400, the banking system 300 and/or other devices via the network 150. In some embodiments, the processing device 420 also uses the network communication interface 410 to access other devices on the network 150, such as one or more web servers of one or more third-party data providers. In some embodiments, one or more of the devices described herein may be operated by a second entity so that the third-party controls the various functions involving the trigger repository 400. For example, in one embodiment of the invention, although the banking system 300 is operated by a first entity (e.g., a financial institution), a second entity operates the trigger repository 400 that stores the trigger details for the customer's financial institution accounts and other information about users.
As described above, the processing device 420 is configured to use the network communication interface 410 to gather data from the various data sources. The processing device 420 stores the data that it receives in the memory device 450. In this regard, in one embodiment of the invention, the memory device 450 includes datastores that include, for example: (1) triggers associated with a user's financial institution account numbers and routing information, (2) information about sending and receiving users' mobile device numbers, email addresses, or other contact information, which may have been received from the banking system 300, and (3) online data such as browser cookies associated with the user's computing device 200.
Turning now to the production of triggers, in some embodiments, trigger ideas are formulated and undergo a preliminary review. The ideas may be formulated internally, such as by a team of analysts of a financial institution, or the ideas may be formulated externally by segment, channel, and marketing partners of a financial institution. The ideas are prioritized based on an opportunity analysis. For example, transaction channels, transaction categories, business names, amount thresholds, stability, and violation frequencies are selected to determine and quantify opportunities that can be generated from the trigger ideas. These opportunities, such as customer retention and policy education, may be analyzed in view of preferred, retail, and small business demographics. Based on the opportunity review, triggers are developed through rigorous testing. For example, tests may be conducted on transactions associated with a specific account or user. Further, triggers that are similar in scope and that overlap over the same time period may be monitored to further develop the trigger. The results of the testing may then be reviewed to finalize the triggers. In some embodiments, the triggers are modified for automation. For example, the code for automating the triggers may be embellished and specific parameters provided. In further embodiments, the automated triggers are monitored. For example, content and process quality trigger checks can be run on a daily, weekly, bi-weekly, and/or monthly basis.
Trigger End to End Process
As shown in
In block 504, patterns of account activity are determined based on the account data. The account activity, in some embodiments, is specifically linked to a transaction category, transaction type, transaction amount, or transaction channel. For example, algorithms may be used to detect upward or downward trends in the number of transactions, the amount of transactions, the occurrence of account costs, or other account activity over a period of time. Deposit amounts for a particular account, for example, may increase during the month of April for several years in a row and provide an indication that the account user has received a tax refund.
In block 506, parameters associated with the patterns are identified, where the parameters include transaction channels, transaction categories, amount thresholds, business names, stability, and violation frequencies. The parameters are identified, in some embodiments, by using algorithms, keywords, Boolean, transaction channel codes, transaction amount calculations, and threshold amounts to search the account data related to the patterns of account activity. The keywords include business names, merchant names, third party financial institution names, web addresses, transaction dates, transaction amounts, user identification, account identification, and the like.
Transaction channels include transaction processes such as electronic funds transfers, automatic deposits and withdrawals, ATM withdrawals and deposits, point-of-sale (POS) purchases, and the like. For example, triggers directed to deposit transactions may include transaction channel parameters such as teller deposits, ATM deposits, ACH deposits, internal transfers, automatic transfers, and pay roll transfers.
Transaction categories include transactions that are grouped according to a desired outcome or purpose. Exemplary transaction categories include user retention, increasing a user's transactional depth or account breadth, timely identification of outside transactions, new products, risk mitigation, policy education, and the like.
The amount thresholds include predetermined amounts associated with one or more transactions such as minimum and/or maximum percent, total, average, or median limits for quantities or values associated with one or more transactions. For example, some parameters may require that all purchases be over a minimum $100 limit and/or under a $10,000 limit. The stability parameters provide an indication of transactions that perform consistently over time, or an indication of transactions that have been adjusted to remove variations in activity over time. For example, the stability parameters may include a range of percentages, ratios, transaction amounts, and frequencies that fall within specific tolerances and that are linked to specific transactions that are tracked over time. Parameters of violation frequencies indicate the frequency of outliers, unexpected events, and negative results in account activity. For example, if the number of ATM withdrawals for a particular account has gradually decreased from six per month to one per month over the last seven months, seven ATM withdrawals on the same day of the current month would indicate a reversal in the trend and would be a violation of the trigger. The violation frequency can indicate an isolated occurrence which can be deleted or ignored from the data, or it can indicate a negative trend. Based on the violation frequency, the parameters of the triggers can be adjusted accordingly.
In block 508, triggers are formed based on the patterns of account activity and the parameters. In some embodiments, the patterns of account activity and the parameters are used to define the triggers. For example, a trigger may be defined by the total monthly number of ATM deposits that occur over a three month period. Further, the patterns of account activity provide the expected trend for transactions defined by the parameters. In the previous example, the trigger may be further defined by requiring that the total monthly number of ATM deposits decrease over the three month period. The patterns of account activity and parameters selected for each trigger may be based on the objective of the trigger. Triggers directed to cross selling investment products to user, for example, may include a pattern of increasing direct deposits in a saving account over a two week period. The triggers, and the patterns and parameters that define the triggers, may take on any number of variations. Specific exemplary triggers are described in more detail below with reference to
The method 500 is further illustrated in
In block 512, one or more of the similar triggers are evaluated over the same period of time. The evaluation of the similar triggers over the same time periods strengthens the trigger data such that any potential flaws, improvements, or strengths in the data are highlighted. In one example, electronic fund transfers associated with multiple accounts are monitored every day over the same six month period. In this way, the number of times the trigger should be run in a week or month, the days of the week for running the trigger, and any discrepancies in the data that occur during particular days of the week, weeks of the month, and months of the year are determined. In some embodiments, a first group of similar triggers is compared to a second group of similar triggers. For example, a group of similar outbound transaction triggers may be compared to a group of similar inbound transaction triggers. In another example, automatic deposits that occur on Mondays may be compared to automatic deposits that occur on Fridays.
In block 514, the parameters associated with the similar triggers are modified in response to the evaluation of the one or more of the similar triggers over the same period of time. One or more of the parameters for a particular trigger can be added or removed and/or the terms of the parameters can be adjusted. Holidays and weekends, for example, may cause discrepancies in the preliminary trigger data and may be taken into account when defining the trigger. Even after the triggers are preliminarily established, the triggers may be continuously monitored on a regular basis as discussed in more detail below with regard to
In block 516, the triggers are categorized based at least on one of a desired objective, a type of transaction, a type of account, an amount threshold, and/or a period of time. In some embodiments, a first group of similar triggers and a different second group of similar triggers are categorized based on the desired objective. For example, ATM deposits may be categorized with payments for education if the purpose of the triggers is to offer the user a loan with a lower interest rate. The triggers categorized according to the desired objective are further categorized according to the type of transaction, the type of account, the amount threshold, and the period of time. In the example above, the ATM deposits used as triggers for the purpose of loan offers may be further categorized according to the amounts of the deposits. In block 518, the categorized triggers are monitored on a period basis, as discussed in further detail below with regard to
Real Time Monitor for Trigger Data Quality
Referring now to
In block 602 of
In block 606, triggers associated with the one or more periods of time are identified based on at least one of a transaction, a transaction amount, a type of transaction, and a type of account. In some embodiments, each set of triggers corresponding to transactions of a certain amount, and/or type are identified first and then the triggers are segregated into time periods. The triggers may be further identified based on a category corresponding to a desired objective. In some embodiments, the triggers are identified based on transactions that occur during the one or more periods of time. For example, a trigger may include all inbound transactions that have values that are greater than a threshold amount and that occur during the month of July.
In block 608, a total transaction count for each of the triggers is calculated. The transaction counts include value amounts for certain transactions associated with one or more accounts or the total number of certain transaction associated with the one or more accounts. In some embodiments, the transaction count is the total number of transactions that occur during the one or more period of time and that are associated with a particular trigger.
Exemplary graphical charts of total counts for a tax refund trigger are illustrated in
In block 610, control limits based on the transaction count for each of the triggers is determined. The control limits are calculated based on trimmed mean and standard deviation. Trimmed mean is calculated by removing a certain percent from the lowest percent of values and an equal certain percent from the highest percent of values in a give data series before calculating the mean. In calculating the trimmed mean, some of the lower numbers of the transaction count and some of the higher numbers of the transaction count are removed before the mean is calculated. For example, tax refund transactions that occur on a Friday and that have a value that is a certain percent higher or lower than the median for all tax refunds that occur on the same Friday are deleted before the mean is calculated.
An exemplary table illustrating the transaction count and control limits is shown in
In block 618, the outliers are tagged. The outliers may be tagged as “outlier” as illustrated in the exemplary table of
In block 620, the cause of the outliers is determined. Periods of time around holidays, cyclic considerations such as tax season, days of the week, weeks of the month, certain historical trends, data obtained from the user, and external data can indicate the cause for the outliers. For example, historical trends may indicate that the number of mortgage payments is higher at the end of the month than at the beginning of the month and the number of ATM withdrawals may be higher on Fridays than it is on Tuesdays. As another example, triggers that include transactions having a specific threshold amount of $10 or greater may have a higher number of transactions during a particular period because a greater number of low end transactions (e.g., transaction of $10 to $12) occur during that period. Based on the cause of the skewed data, appropriate action can be taken. For example, the threshold amount or some other parameter associated with the trigger may be modified or certain triggers associated with a particular day of the week or other period may be tagged as normal even though these certain triggers would appear to be abnormal. Taking the $10 or greater trigger example described above, for example, the threshold amount for that trigger may be increased during the particular period or marked as normal. If the cause of the outliers is not easily explained or if the cause is unexpected, then further investigation may be required.
Although the triggers described herein generally include financial transactions associated with one or more accounts, such as the triggers illustrated in
System for Analyzing Resource Utilization, Inflow and Outflow
As discussed above, the embodiments presented herein are directed to systems and methods for transforming historical transaction data, collected in response to certain triggers, in order that it may better be used to classify the nature of various cash-flows to reveal transparency in business-to-business relationships.
Systems and methods are provided for transforming historical data collected in response to one or more triggering events, in order to analyze resource utilization, inflow and outflow. Embodiments access inflow and outflow information corresponding to a primary node from historical data; analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, each channel connecting the primary node and a secondary node, the one or more channels of flow identified when they exhibit one or more predetermined characteristics; determine that the one or more channels of flow, based on the exhibited predetermined characteristics should be categorized into one or more categories out of a plurality of categories.
Determining includes determining that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an inflow category indicating a direction of flow is from the secondary node to the primary node; and determining that at least one of the channels of flow, based on the exhibited predetermined characteristics should be categorized into an outflow category indicating a direction of flow is from the primary node to the secondary node.
Embodiments then categorize the one or more channels of flow into the one or more determined categories out of the plurality of categories; analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channels of flow, wherein at least one channel of flow connects the primary node and the secondary node through at least one intermediate node; measure a flow volume over identified one or more channels of flow; determine, based on one or more predefined rules and the measured flow volume, a channel flow score; and, based on the determined channel flow score, transmit a control signal to a second system to cause the second system to perform an action.
The next step, as represented by block 806, is to determine that the one or more channels of flow, should be categorized into one or more categories out of a plurality of categories. Finally, as represented by block 808, the next step is to categorize the one or more channels of flow into the one or more determined categories out of the plurality of categories.
Referring now to
The next step, represented by block 906, is to analyze the inflow and outflow information corresponding to the primary node in order to identify one or more channels of flow out of a plurality of channel of flow out of a plurality of channels of flow, where at least one channel of flow connects the primary node and the secondary node through an intermediate node. In some embodiments, the next step is to measure a flow volume over identified one or more channels of flow, as represented by block 908. The next step, as represented by block 910, is to determine, based on one or more predefined rules and the measured flow volume, a channel flow score. The last step, as represented by block 912, is to, based on the determined channel flow score, transmit a control signal to a second system to cause the second system to perform an action.
In various embodiments, a buyer-supplier categorization process, as utilized by embodiments herein, may follow different processes. Referring to
Referring now to
The company-level categorizations (as discussed with reference to
The industry level classifications (as discussed with reference to
In the future, there may be a scenario where the NAICS codes may change for a company over time. The methods discussed above generally consider a snapshot of a relationship between a buyer/supplier company and its NAICS industry classification. In some embodiments, once a categorization has been scaled up to the NAICS level, such a change would not impact the process results as the classification has been considered both at a company level and at the NAICS level using both processes discussed above. Thus, the categorization would be immune to potential changes in the NAICS codes between a company and its industry.
In various embodiments, transactions may also be categorized into sub-categories to understand the transaction at a more granular level.
Referring to
The flowcharts and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of embodiments of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to embodiments of the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of embodiments of the invention. The embodiment was chosen and described in order to best explain the principles of embodiments of the invention and the practical application, and to enable others of ordinary skill in the art to understand embodiments of the invention for various embodiments with various modifications as are suited to the particular use contemplated.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown and that embodiments of the invention have other applications in other environments. This application is intended to cover any adaptations or variations of the present invention. The following claims are in no way intended to limit the scope of embodiments of the invention to the specific embodiments described herein.