The present disclosure generally relates to the processing of financial transactions.
The processing of financial transactions, such as credit card transaction processing, fund transfers, and check processing for clearance by financial institutions, typically can begin with receipt of a data record that contains multiple financial transactions or can involve processing a stream of received financial transactions. The stream of transactions can be processed such that each of the transactions may be processed as it is received, or the transactions in a portion of the incoming stream may all be processed before transactions in another portion are processed. Modern computer processing systems can efficiently process a given data record or transaction before moving on to process a subsequent one.
In some aspects, a transaction in a sequence of transactions is received and a transaction group with which the transaction is associated is determined, as well as transaction group signature data of the transaction group with which the received transaction is associated. A transaction score for the received transaction is generated. Moreover, a transaction group score may be generated for all transactions in a transaction group, in response to determining that the received transaction is a last transaction in the transaction group with which the received transaction is associated, such that the transaction group score is generated based on all transactions in the sequence of transactions that are associated with the transaction group.
Other features of the disclosed subject matter will be apparent from the following description of the embodiments, which illustrate, by way of example, the principles of the disclosed subject matter.
Transaction processing may utilize processing techniques that permit the grouping of transactions based on arbitrary (e.g., user-defined) transaction characteristics, and may involve the calculation and use of group-level statistics in real-time decisioning, for example. This sort of approach could supply a holistic view of transaction behavior for decisioning. The processes involved might be based on interrelationships amongst transactions within a group, and the processes may contribute to efficiency and security, depending on characteristics of the transactions. In some implementations, the decisioning can be based on characteristics of the group. In some of these implemenations, a regular co-occurrance of transactions can be checked. For example, if a certain type of transaction usually always appears with a certain other type of transaction, this can be verified under such a transaction-group processing scheme. Similarly, other statistical characteristics of a group of transactions, such as sum, mean, or standard-deviation of amounts, or acceleration/velocity, for example, can be used for decisioning on the group as a whole. For example, transactions that originate from the same vendor or retailer may be processed in ways that are different from transactions that originate from other vendors or retailers. In the context of received commercial financial transactions, such as commercial ACH (automated clearing house) payments, for example, transactions may be collected together into a group or batch for payment processing of the collected transactions.
Note that the word “batch” as used herein does not indicate batch processing in the sense of an offline computer operation, rather, it indicates an association amongst some subset of transactions in a data stream. Such transaction batches, which may involve, for example, payroll payments and invoice payments, are often created in the format of a data file specification such as specified by the National Automated Clearing House Association (NACHA). The “batch” in this context represents a transaction-level grouping. The transaction group may be created around a common characteristic, such as a common originator, a common transaction date range, a common financial institution, or the like. The description provided herein relates to processing transactions in real time, as they are received, in an online manner. The transaction processing may, however, occur according to an offline, batch-processing scheme.
It is generally desirable that each transaction in a batch receives a score for a characteristic on which decision making can be based, such as a score for credit risk, fraud, or the like. It is also generally desirable that the batch as a whole batch receives a score for a corresponding similar characteristic, such as credit risk, fraud, or the like. Thus, it is desirable that the transaction score is returned in real time, so that decision making may be performed in view of, for example, the credit risk or fraud characteristic. It is similarly desired for the batch (transaction-level group) to receive a batch score in real time, for appropriate decision making. The system described herein could be used for generating a transaction-level score for each transaction, and, after the entire batch has been presented to the system, for generating a batch-level score for the entire group or batch, in real time, as the stream of transactions are received and processed. Moreover, the system can generate a score for the batch, that is, for the transaction group in the aggregate, based on all transactions in the sequence of transactions that are associated with the transaction group and independently of transactions in the sequence of transactions that are not associated with the transaction group
Identification of a new transaction group at box 204 may be achieved in a number of techniques. The box 204 processing may involve, for example, examining group header data that is associated with every transaction and included in the transaction data record, and determining that the group header data in the received transaction has not been previously received in the transaction stream or determining that the group header data in the received transaction includes one or more variables with a data value that indicates a previously unseen transaction group. That is, the group header data that identifies a transaction group may be determined by multiple data fields or multiple data values contained in the data transaction data record. For this technique, the group header data for the first transaction in a transaction group is different from the group header data in every previously received transaction and is also different from the group header data in every subsequently received transaction. The transactions in the same transaction group, however, will share a common data element or data value that indicates shared membership in, or association with, the same transaction group. Thus, with this technique, the system will keep track of received group header data values to identify a new value signifying a new transaction group, and also to recognize already-identified transaction groups, and subsequent members of such groups. Alternatively, the box 204 processing may involve determining the presence of a not-seen-before data field or variable that identifies the first transaction in a transaction group, such that other received transactions will not contain the not-seen-before data field or variable. Other suitable techniques will occur to those skilled in the art, in view of this disclosure.
In the case of a negative outcome at the decision box 204, indicating that the transaction is not associated with a previously identified transaction group, the next operation in
In the case of an affirmative outcome at the decision box 204, indicating that the transaction is associated with a previously identified transaction group, the next operation in
The next operation, indicated by the flow diagram box numbered 207, is to update transaction group signature data for the transaction group with which the received transaction is associated. If the received transaction was part of a new group, then the transaction group signature data was newly generated at box 205 and no update is needed to be generated. If the received transaction was associated with a previously identified transaction group, then the transaction group signature data for that transaction group is updated at box 207 with information from the received transaction being processed. The updated transaction group signature data is then stored into the signatures database 114 (
Similarly to the group header data, identification of the last transaction of a transaction group at box 210 with group trailer data may be achieved in a number of techniques. The box 210 processing may involve, for example, examining group trailer data that is associated with every transaction and included in the transaction data record, and determining that the group trailer data in the received transaction has not been previously received in the transaction stream and indicates the last transaction in the associated group, or the box 210 may involve determining that the group trailer data in the received transaction includes a variable with a data value that indicates the last transaction in the associated transaction group. Alternatively, the box 210 processing may involve determining the presence of a not-seen-before data field or variable that identifies that the received transaction is the last transaction in the associated transaction group. Other suitable techniques will occur to those skilled in the art, in view of this disclosure.
In the case of a negative outcome at the box 210, indicating that the received transaction is not the last transaction in the group with which it is associated, the processing of the system returns to the box 202 for processing the next transaction in the stream of received transactions. In the case of an affirmative outcome at the box 210, indicating the received transaction being processed is the last transaction in the transaction group with which it is associated, then in the next operation of
After the transaction group score is generated at the box 212, the next operation is at box 214, where the system checks for the end of the transaction stream being processed. If the last transaction processed (i.e., the end of a transaction group) was not also the end of the transaction stream, a negative outcome at box 214, then the system receives the next transaction at box 202 and continues processing as described above. If the transaction last processed is also the last transaction in the stream, an affirmative outcome at 214, then operation of the system continues at 216, indicating the end of processing the transaction stream, whereupon other system processing may occur. In the
In the
In
After the box 408 processing is completed, the system checks each transaction to determine if the transaction was indicated as the last in a group. This checking is indicated by the decision box numbered 410. If the transaction being checked is not the last in a group, a negative outcome at box 410, then system processing returns to box 404 for processing the next transaction and performing the operations described above. If the transaction being checked is the last in a group, an affirmative outcome at the decision box 410, then system processing continues at box 412 for transaction group aggregation and scoring for the group. The arrow leading from out of the right side of the box 412 indicates that the box 412 processing results in a score for the transaction group. After the box 412, system processing continues with the next transaction data, at box 402, where the next transaction in the transaction stream is processed.
Operation List 1
Operation List 2
The retrieved transaction group signature data (the first operation in Operation List 2, and depicted as Step 1 in
Step 2 in
In some embodiments, group-level summary statistics can be saved in the group signature data. The operation 3(a) of Operation List 2 shows that the information received from a transaction in a transaction group is used to update group-level summary statistics, which may be saved in the group signature. The operation 3(b) of Operation List 2 shows that the details of the transaction may be kept in the group signature as well, in a transaction array. These two operations are depicted as Step 3 in
Optionally (see operation 5 in Operation List 2), a score that corresponds to the transaction is computed, based on the information in any other signatures retrieved in operation 2 of Operation List 2, and based on the information contained in the group signature data. Additionally, and optionally (at operation 6 of Operation List 2), a score or other predetermined system output for transaction processing may be produced for the transaction and stored back into appropriate signature databases 606 of the system. The group signature database can be stored in a particular table in the signature database. Signatures of different entities can be stored in a single database with different table, such as one for each entity.
Operation List 3
Step 1 of the
Step 2 in
Step 5 indicates that a group level transaction score or system output is computed from all appropriate information in the system. Such appropriate information would typically include entity level signature data, the group level signature data, and the financial transaction data that initiated the group scoring process. Step 6 indicates that the computed group level transaction score is stored into the signature databases 702. Step 7 indicates an optional process in which the group signature data is deleted from the group signature database. That is, if the optional Step 7 is performed, then the given transaction group signature can be deleted from the database upon the scoring of such transaction group. The re-computing/update of the group signature is performed when the transactions within the group are still being processed. Once the processing of the group trailer transactions and the corresponding group signature are completed, no further update and no further usage (except, e.g., for system monitoring/quality assurance checking) is performed.
Exemplary Hardware System
The systems and methods described above may be implemented in a number of ways. One such implementation includes computer devices having various electronic components. For example, components of the system in
The system 800 is shown comprising hardware elements that can be electrically coupled via a system bus 826 (or may otherwise be in communication, as appropriate). The hardware elements can include one or more central processor units (CPUs) 802, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as communication processing chips, graphics acceleration chips, and/or the like); one or more input devices 804, that can include, without limitation, a mouse, a keyboard, and/or the like; and one or more output devices 806, which can include without limitation a display device, a printer, audio device, and/or the like.
The computer system 800 may further include (and/or be in communication with) one or more storage devices 808, which can comprise, without limitation, local and/or network accessible storage and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory (“RAM”), and/or a read-only memory (“ROM”), which can be programmable, flash-updateable, and/or the like. The computer system 800 might also include a communications subsystem 814, which can include without limitation a modem, a network card (wireless or wired), an infra-red communication device, a wireless communication device and/or chipset (such as a Bluetooth device, an 802.11 device, a WiFi device, a WiMax device, cellular communication facilities, etc.), and/or the like. The communications subsystem 814 may permit data to be exchanged with a network 815, and/or any other devices described herein. The network 815 may comprise a local area network (LAN) or a network such as the Internet, or a combination. In many embodiments, the computer system 800 will further include a working memory 818, which can include a RAM or ROM device, as described above.
The computational system 800 also may comprise software elements, shown as being currently located within the working memory 818, including an operating system 824 and/or other program code, such as one or more application programs 822, which may comprise computer programs performing tasks and operations described above, and/or may be designed to implement methods in accordance with the disclosed subject matter and/or systems in accordance with the disclosed subject matter, as described herein. Merely by way of example, one or more procedures described with respect to the method(s) discussed above might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer). In one embodiment, the data generating and presenting operations are implemented as application programs 822. In the description herein, references to “interface” and “processor” and “application” should be understood as referring to hardware, software, and combinations of the two, either as independent components (hardware, software, and/or both) for each interface, processor, or application, or as integrated components combined with one or more other components.
A set of these instructions and/or code may be stored on a computer readable storage medium 810b. In some embodiments, the computer readable storage medium 810b may comprise the storage device(s) 808 described above. In other embodiments, the computer readable storage medium 810b might be incorporated within the computer system. In still other embodiments, the computer readable storage medium 810b might be separate from the computer system (i.e., it may be a removable readable medium, such as a compact disc, etc.), and or might be provided in an installation package, such that the storage medium can be used to program a general purpose computer with the instructions/code stored thereon. These instructions might take the form of executable code, which is executable by the computer system 800 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 800 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.), then takes the form of executable code. In these embodiments, the computer readable storage medium 810b may be read by a computer readable storage media reader 810a.
It will be apparent that variations may be made in accordance with specific requirements. For example, customized hardware might also be used, and/or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.), or both. Further, connection to other computing devices such as network input/output devices may be employed.
In one embodiment, local and remote computer systems (such as the computer system 800) are utilized to perform methods of the disclosed subject matter. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system 800 in response to the processor 802 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 824 and/or other code, such as an application program 822) contained in the working memory 818. Such instructions may be read into the working memory 818 from another machine-readable medium, such as one or more of the storage device(s) 808 (or 810). Merely by way of example, execution of the sequences of instructions contained in the working memory 818 might cause the processor(s) 802 to perform one or more procedures of the methods described herein.
The terms “machine readable medium” and “computer readable medium,” as used herein, refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using the computer system 800, various machine-readable media might be involved in providing instructions/code to processor(s) 802 for execution and/or might be used to store and/or carry such instructions/code (e.g., as data transmissions or data communications). In many implementations, a computer readable medium is a physical and/or tangible storage medium. Such a medium may take many forms, including but not limited to, volatile and non-volatile media. Non-volatile computer-readable media includes, for example, optical or magnetic disks, such as the storage device(s) (808 or 810). Volatile computer-readable media includes, without limitation, dynamic memory, such as the working memory 818. In some implementation, data may be carried over transmission media. Transmission media includes coaxial cables, copper wire, and fiber optics, including the wires that comprise the bus 826, as well as the various components of the communication subsystem 814 (and/or the media by which the communications subsystem 814 provides communication with other devices). Hence, transmission media can also take the form of waves (including, without limitation, radio, acoustic, and/or light waves, such as those generated during radio-wave and infra-red data communications).
Common forms of physical and/or tangible non-volatile computer readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read instructions and/or code.
Various forms of machine-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 802 for execution. Merely by way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions communications over a transmission medium to be received and/or executed by the computer system 800. These communications, which might be in the form of electromagnetic communications, acoustic communications, optical communications, and/or the like, are all examples of carrier waves on which instructions can be encoded, in accordance with various embodiments of the disclosed subject matter.
The communications subsystem 814 (and/or components thereof) generally will receive the communications, and the bus 826 then might carry the communications (and/or the data, instructions, etc. carried by the communications) to the working memory 818, from which the processor(s) 802 retrieves and executes the instructions. The instructions received by the working memory 818 may optionally be stored on a storage device 808 either before or after execution by the processor(s) 802.
It will be appreciated that many processing capabilities in addition to those described are possible, without departing from the teachings according to the disclosed subject matter. Further, it should be noted that the methods, systems, and devices discussed above are intended merely to be examples. Various embodiments may omit, substitute, or add various procedures or components as appropriate. For example, it should be appreciated that, in alternative embodiments, the methods may be performed in an order different from that described, and that various steps may be added, omitted, or combined. Also, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. Also, it should be emphasized that technology evolves and, thus, many of the elements are examples and should not be interpreted to limit the scope of the disclosed subject matter.
Specific details are given in the description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details.
Also, it is noted that the embodiments may be described as a process which is depicted as a flow diagram or block diagram. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figures.
Other variations are within the spirit of the present disclosed subject matter. Thus, while the disclosed subject matter is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the disclosed subject matter to the specific form or forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the disclosed subject matter, as defined in the appended claims.
Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context.
This application claims priority to U.S. Provisional Application No. 61/785,942 to Ho Ming Luk, Kannan Shah, and Olcay Boz filed Mar. 14, 2013 entitled “Signature Based Transaction Group Processing And Real-Time Scoring”, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61785942 | Mar 2013 | US |