METHOD AND APPARATUS FOR FACILITATING PROVISION OF EXPOSURE MANAGEMENT BASED ON STREAMING DATA FEEDS VIA MACHINE LEARNING AND LOW LATENCY MODELING

A method for expediting speed and enhancing accuracy of debit limit determinations based on streaming data feeds may include monitoring event data for an event trigger that, when received, directs a call to determine a debit limit for a customer, receiving streaming data from a plurality of arbitrary sources, the streaming data including features evaluated by a business logic module to determine the debit limit for the customer, employing a machine learning module to extract the features from the streaming data and supply the extracted features to the business logic module, and determining the debit limit based on the extracted features via the business logic module responsive to the event trigger.

TECHNICAL FIELD

Example embodiments generally relate to financial industry technologies and, in particular, relate to apparatuses, systems, and methods for facilitating commerce by enabling low latency, real-time risk modeling.

BACKGROUND

The financial industry is comprised of many thousands of customers, vendors, lenders, borrowers, and other role players that all interact in various ways to enable customers to ultimately have access to goods and services provided by vendors. Credit and financial transactions have long been a way that individuals have managed point of sale transactions to ensure seamless transfer of funds from customers, or on their behalf, to vendors for relatively routine or small transactions. Meanwhile, obtaining a loan from a bank has long been the most common way of obtaining financing for non-routine or larger transactions. More recently, installment loan financing has become a popular option.

Credit cards and certain other lending vehicles may be useful tools for many customers. However, some customers can find themselves over extended either quickly or over a period of time based on the existing tools. This phenomenon has repeated itself over generations, and for millions of customers. Thus, there is now a deep desire on the part of many to create flexible and fair means of supporting customer purchasing activities that is both honest and transparent, and that also improves the lives of customers.

Installment loans, or buy now, pay later financing, have become a popular tool in relation to addressing the issues noted above. However, even this popular tool typically gets employed at the time a purchase is being undertaken. For example, the customer may select a product of interest and proceed to checkout (virtually or at a brick and mortar store) to purchase the product. The payment means selected to pay the merchant for the product may be a physical or virtual card that is linked to accounts that enable an installment loan to be granted to the customer, and funds may be transferred to the merchant on behalf of the customer for purchase of the product, if the customer is approved for the installment loan.

In other cases, such as when a value card (e.g., a credit or debit card) is presented by a customer for payment at checkout, the decision making progress regarding whether to support the transaction must be made very quickly, and the algorithms and policies that are involved may include account balances or checks that cannot necessarily be instantaneously done, or appreciated to be fully accurate since other transactions, or even a series of transactions, may have been made since the latest information available for review can be obtained. These situations may create risk for the issuer of the value card, and may also result in undesirable negative impacts on the customer. Additionally, users may want a value card that is functionally dynamic supporting pay now transactions or installment loan transactions, which the user has the ability to dictate via an app or otherwise.

One example of a situation in which a user (i.e., a customer and potential borrower) may suffer in relation to delays that are inherent in the system may arise in the context of transactions involving enabling Automated Clearing House (ACH) transfers or payments. ACH payments are a form of electronic bank transaction made using a network (i.e., the ACH network) that is formed from a system of computers that communicate with each other to make and receive payments. For each transaction there is one computer at the sending end to send a request for payment, and another computer at the receiving end to accept the request. Whereas many customers may imagine that a financial transaction somehow transfers money directly from their accounts into the corresponding accounts of merchants, that is typically not the case. Instead, the card issuer or related entity (as described in more detail below) may transfer money from an account on behalf of the customer to the vendor to support the transaction, and then the card issuer may request an ACH transfer from the customer account to cover the transaction.

Although fairly standard as a method of transferring money, the movement of the money using ACH is relatively slow. In this regard, a lender or bank or related finance company may submit a file containing all of the transfers that are to be performed to initiate the process, but there is no confirmation received through the system to indicate whether or not each transaction has gone through successfully. The only communication received from the system is generally received in the event of a failure for either insufficient funds or an account being closed, for example. Moreover, even notifications of failed ACH transfers may take 1 to 2 business days to be received.

The fact that there is no confirmation for successful transfers can create a problem for a card user (and consequently for a card issuer) since it is not clear what the current status of the user (or customer) account(s) may be at the time a transaction needs to be made. The card issuer must therefore balance the risk of floating money to a customer against the uncertainty of the accuracy of account information. Should the card issuer decide to take the risk in a situation where the customer has had intervening transactions taking money from his/her account that causes an ACH transfer to fail, both the customer and the card issuer may receive financial penalties in the form of failed transfer fees.

In at least some cases, these fees may be avoidable, and such avoidance is highly desirable for the customer and the card issuer. The persistence of such a desirable problem to eliminate exists due to the fact that there are presently no practically suitable technical means to be sure that perfect information on account status is being reviewed when decisions are being made. While that level of perfection is not likely to be achieved in the short term, and until such a solution can be provided, perhaps other technical means may be instantiated to alleviate the problem noted above. Example embodiments aim precisely at doing this.

As can likely be appreciated from the description above, the potential for receiving failed ACH transfer notification can be very frustrating and costly for users. Moreover, causing user frustration can dissuade users from establishing loyalty to any particular brand or service. Given that the nature of ACH transfers is outside the control of the card issuer (or lender), the card issuer or lender must consider other creative options for improving the situation described above that are fully within the control of the card issuer or lender. Accordingly, some example embodiments may enable the provision of technical means by which to provide a rapid increase in the speed and accuracy associated with account status determinations.

BRIEF SUMMARY OF SOME EXAMPLES

In an example embodiment, a method for expediting speed and enhancing accuracy of debit limit determinations based on streaming data feeds may be provided. The method may include monitoring event data for an event trigger that, when received, directs a call to determine a debit limit for a customer, receiving streaming data from a plurality of arbitrary sources, the streaming data including features evaluated by a business logic module to determine the debit limit for the customer, employing a machine learning module to extract the features from the streaming data and supply the extracted features to the business logic module, and determining the debit limit based on the extracted features via the business logic module responsive to the event trigger.

In another example embodiment, an apparatus for expediting speed and enhancing accuracy of debit limit determinations based on streaming data feeds may be provided. The apparatus may include processing circuitry configured for monitoring event data for an event trigger that, when received, directs a call to determine a debit limit for a customer, receiving streaming data from a plurality of arbitrary sources, the streaming data including features evaluated by a business logic module to determine the debit limit for the customer, employing a machine learning module to extract the features from the streaming data and supply the extracted features to the business logic module, and determining the debit limit based on the extracted features via the business logic module responsive to the event trigger.

DETAILED DESCRIPTION

Some example embodiments now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all example embodiments are shown. Indeed, the examples described and pictured herein should not be construed as being limiting as to the scope, applicability or configuration of the present disclosure. Rather, these example embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. Furthermore, as used herein, the term “or” is to be interpreted as a logical operator that results in true whenever one or more of its operands are true. As used herein, operable coupling should be understood to relate to direct or indirect connection that, in either case, enables functional interconnection of components that are operably coupled to each other. Additionally, when the term “data” is used, it should be appreciated that the data may in some cases include simply data or a particular type of data generated based on operation of algorithms and computational services, or, in some cases, the data may actually provide computations, results, algorithms and/or the like that are provided as services.

As used in herein, the term “module” is intended to include a computer-related entity, such as but not limited to hardware, firmware, or a combination of hardware and software (i.e., hardware being configured in a particular way by software being executed thereon). For example, a module may be, but is not limited to being, a process running on a processor, a processor (or processors), an object, an executable, a thread of execution, and/or a computer. By way of example, both an application running on a computing device and/or the computing device can be a module. One or more modules can reside within a process and/or thread of execution and a module may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The modules may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets, such as data from one module interacting with another module in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal. Each respective module may perform one or more functions that will be described in greater detail herein. However, it should be appreciated that although this example is described in terms of separate modules corresponding to various functions performed, some examples may not necessarily utilize modular architectures for employment of the respective different functions. Thus, for example, code may be shared between different modules, or the processing circuitry itself may be configured to perform all of the functions described as being associated with the modules described herein. Furthermore, in the context of this disclosure, the term “module” should not be understood as a nonce word to identify any generic means for performing functionalities of the respective modules. Instead, the term “module” should be understood to be a modular component that is specifically configured in, or can be operably coupled to, the processing circuitry to modify the behavior and/or capability of the processing circuitry based on the hardware and/or software that is added to or otherwise operably coupled to the processing circuitry to configure the processing circuitry accordingly.

Some example embodiments described herein provide for a payments platform that can be instantiated at an apparatus comprising configurable processing circuitry, and which may process various pay now, or debit, or other financial transactions. The processing circuitry may be configured to execute various processing functions on financial data using the techniques described herein. The payments platform may, for example, be configured to provide a way to balance the desire for accurate account status determinations with the need for speed in making such determinations. More particularly, the payments platform may use technical tools to define specific triggers to tell the platform when to conduct transaction limit determinations based on vast amounts of information that provide queues that are useful indicators regarding the likelihood of receiving an ACH return of an ACH transfer (which may sometimes include an insufficient funds (NSF) return of an ACH transfer) associated with the potential transaction (or future transactions). Thus, for example, the platform may use machine learning tools to facilitate the fast processing of massive amounts of information that could not otherwise be processed in any reasonable timeframe for the context involved. The information processed may be employed along with real time streaming data of many useful types to provide inputs to the logic that is normally used to determine transaction limits. This gives an improved likelihood of a more accurate picture in real time, but suffers the drawback of potentially causing rapid cycling of the transaction limit itself. Accordingly, the platform further defines the times when updates to the actual transaction limit that is to be used will be made, which are the triggers for transaction limit determination (or modification). By having a highly responsive or fast tool for making more accurate real time assessments of transaction limits that should be applicable at any given time, but by further moderating the potential volatility that may result from the operation of such a fast and hyper-accurate tool, example embodiments employ technical means to make dramatic improvements in the speed of processing, while making efficient use of computer resources and also reducing the risk to the lender.

In this regard, the combination of intelligently deciding when new debit limits should be computed with the ability to handle high velocity data of many different types that can be relevant to making accurate determinations regarding those debit limits creates a fast, efficient, and accurate debit transaction processing platform that benefits all parties materially. In this regard, if a user has a transaction declined based on inaccurate data, brand loyalty may suffer, customer satisfaction may be reduced, and even merchant satisfaction with any association with the card issuer (or transaction facilitator) may be eroded. Whereas, one alternative would always be to simply accept more risk (and potentially more ACH return fees on the part of the issuer, overdraft or insufficient funds (NSF) fees on the part of the customer) by the card issuer/transaction facilitator, further strategic initiative and technical tools may yet improve the situation even more. Example embodiments therefore use technical means embedded into information exchange, to further enable fast and accurate processing that improves the entire process massively (e.g., by enhancing both speed and accuracy (through the ability to process massive amounts of relevant data) along with providing more efficient resource usage). This technical assistance to customers, which saves both them and the transaction facilitator money and reputation, may be game changing in terms of customer satisfaction while also driving increased sales volume, without a corresponding appreciable increase in risk. The user can therefore experience the benefits of continued positive (e.g., relationship enhancing) behaviors, and the card issuer/transaction facilitator can build a loyal customer base of satisfied card users by using technical means to leverage benefit to the customer without increasing risk and instead by using highly capable technical tools.

Example embodiments therefore do not relate to the legal responsibilities associated with establishing a loan or a lending relationship. Moreover, example embodiments do not merely relate to the calculation of risk used to determine whether to grant a loan to a vendor. Instead, example embodiments relate to a technical means by which to enhance the types of data that can be considered with respect to the calculation of risk and the determination of debit limits by virtue of the fact that machine learning tools capable of processing massive amounts of data quickly are employed. This creates fast tools that efficiently enable the facilitator to determine whether to approve a debit transaction.

An example embodiment of the invention will now be described in reference toFIG.1, which illustrates an example system in which an embodiment of the present invention may be employed. As shown inFIG.1, a transaction management system10according to an example embodiment may include one or more client devices (e.g., clients20). Notably, althoughFIG.1illustrates three clients20, it should be appreciated that a single client or many more clients20may be included in some embodiments and thus, the three clients20ofFIG.1are simply used to illustrate a potential for a multiplicity of clients20and the number of clients20is in no way limiting to other example embodiments. In this regard, example embodiments are scalable to inclusion of any number of clients20being tied into the system10. Furthermore, in some cases, some embodiments may be practiced on a single client without any connection to the system10.

The clients20may, in some cases, each be associated with a single computer or computing device that is capable of executing software programmed to implement example embodiments. Thus, in some embodiments, one or more of the clients20may be associated with an organization (e.g., a merchant company) and may be located in different business units, branch offices, or other locations. In other cases, the clients20may be associated with individual users (i.e., customers) that may wish to interact with other clients20and/or a financial institution or entity. In general, the clients20may be terminals or platform entities that are capable of executing example embodiments, and there could be as few as one, or a host of such terminals or entities.

In one example use case, the client20may be a merchant terminal used to inform a payments platform50of a transaction initiated by a customer with the merchant via a value card12(e.g., a credit or debit card) issued by or serviced by the borrower or facilitator. In another example use case, the client20may be a cell phone or computer of the customer attempting to initiate a transaction online to purchase a good or service provided by the merchant, and the client application22may be a website of the merchant via which the customer provides the value card12or other payment method details to apply for a loan or credit from the borrower or facilitator via the payments platform. Example embodiments may, in some cases, specifically apply to financial transactions.

Thus, for example, in some cases each one of the clients20may include one or more instances of a communication device such as, for example, a computing device (e.g., a computer, a server, a network access terminal, a personal digital assistant (PDA), radio equipment, cellular phone, smart phone, or the like) capable of communication with a network30. As such, for example, each one of the clients20may include (or otherwise have access to) memory for storing instructions or applications for the performance of various functions and a corresponding processor for executing stored instructions or applications. Each one of the clients20may also include software and/or corresponding hardware for enabling the performance of the respective functions of the clients20as described below. In an example embodiment, the clients20may include or be capable of executing a client application22configured to operate in accordance with an example embodiment of the present invention. In this regard, for example, the client application22may include software for enabling a respective one of the clients20to communicate with the network30for requesting and/or receiving information and/or services via the network30as described herein. The information or services receivable at the client applications22may include deliverable components (e.g., downloadable software to configure the clients20, or information for consumption/processing at the clients20). As such, for example, the client application22may include corresponding executable instructions for configuring the client20to provide corresponding functionalities for sharing, processing and/or utilizing financial data as described in greater detail below.

The network30may be a data network, such as one or more instances of a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) (e.g., the Internet), and/or the like, which may couple the clients20to devices such as processing elements (e.g., personal computers, server computers or the like) and/or databases. Communication between the network30, the clients20and the devices or databases (e.g., servers) to which the clients20are coupled may be accomplished by either wireline or wireless communication mechanisms and corresponding communication protocols.

In an example embodiment, the network30may include or also be operably coupled to an automated clearing house (ACH) network32to which one or more instances of a bank entity34are also operably coupled. The bank entity34(or each of multiple such entities) may include various bank accounts associated with various customers. Such bank accounts may be referred to as customer accounts and customer account36inFIG.1is one such example of these customer accounts. As noted above, the customer may initiate a financial transaction to purchase a good or service of a merchant. For a debit purchase, the merchant (or customer) may inform the payments platform50(or transaction facilitation platform) of the desired transaction so that the customer can arrange the borrower/facilitator to transfer funds to the merchant on his/her behalf to obtain the good or service (e.g., from a for the benefit of (FBO) account of the borrower), and then arrange to transfer funds from the customer account36to borrower (facilitator). This transfer of funds from the customer account36may occur via the ACH network32by provision of an ACH file (or request) submitted by the facilitator to the bank entity34. The bank entity34processes the ACH request and, if sufficient funds are available in the customer account36, transfers money in the amount of the transaction from the customer account36to the facilitator.

In an example embodiment, devices to which the clients20may be coupled via the network30may include one or more application servers (e.g., application server42), and/or a database server44, which together may form respective elements of a server network40. Although the application server42and the database server44are each referred to as “servers,” this does not necessarily imply that they are embodied on separate servers or devices. As such, for example, a single server or device may include both entities and the database server44could merely be represented by a database or group of databases physically located on the same server or device as the application server42. The application server42and the database server44may include hardware and/or software for configuring the application server42and the database server44, respectively, to perform various functions. As such, for example, the application server42may include processing logic and memory enabling the application server42to access and/or execute stored computer readable instructions for performing various functions. In an example embodiment, one function that may be provided by the application server42may be the provision of access to information and/or services related to payments platform50, and more particularly relating to facilitating financial computations and calculations related to decisions associated with lending or extensions of credit (e.g., to cover financial transactions). For example, the application server42may be configured to provide (via the payments platform50) execution of instructions, and storage of information descriptive of events or activities, associated with the payments platform50and the execution of a financial computations, calculations and modeling on behalf of a user of the system10located at one of the clients20, or interacting with a user located at one of the clients20, in real time.

In some cases, the financial transaction may include obtaining temporary funds transfer servicing associated with financial transactions, and the activities associated therewith may include the provision of a debit card or account number that can be used to facilitate financial transactions detailing information required by the facilitator (and operator of the payments platform50) to determine whether borrowing power, funds, or other products can be provided to the customer based on information provided. In some cases, the information provided may be provided by the customer. However, in others, the bank entity34may be contacted to determine a status of the customer account36(e.g., an account balance therein) to determine how much can safely be advanced on behalf of the customer to support financial transactions.

In some embodiments, the payments platform50may be a technical device, component or module affiliated with the lender or an agent of the lender. Thus, the payments platform50may operate under control of the lender or agent of the lender to be a technical means by which to carry out activities under direction of the lender/agent or employees thereof. The lender may, in some cases, be a facilitator of a transaction between the user (or customer) and a merchant, where such facilitation includes the advancement of funds, provision of a loan or extension of credit to the customer (thereby making the customer a borrower, and the facilitator a lender). The facilitator may, in effect, act via the operation of the payments platform50via configuration of various decision making components thereof. Thus, in some cases, the payments platform50may effectively act as a facilitation agent.

In some embodiments, the clients20may access the payments platform50services, and more particularly contact the payments platform50online and utilize the services provided thereby. However, it should be appreciated that in other embodiments, an application (e.g., the client application22) enabling the clients20to interact with the payments platform50(or components thereof) may be provided from the application server42(e.g., via download over the network30) to one or more of the clients20to enable recipient clients20to instantiate an instance of the client application22for local operation such that the payments platform50may be a distributor of software enabling individual users to utilize the payments platform50. Alternatively, another distributor of the software may provide the client20with the client application22, and the payments platform50may communicate with the client20(via the client application22) after such download.

In an example embodiment, the client application22may therefore include application programming interfaces (APIs) and other web interfaces to enable the client20to conduct operations as described herein via the payments platform50. The client application22may include a series of control consoles or web pages including a landing page, onboarding services, activity feed, account settings (e.g., user profile information), transaction management services, payment management services and the like in cooperation with a service application that may be executed at the payments platform50. Thus, for example, the client application22may enable the user or operator to articulate and submit queries, make credit extension/debit purchase requests, initiate and pay for transactions using funds associated with a credit extension/debit purchase request, and/or the like using the payments platform50.

In an example embodiment, the application server42may include or have access to memory (e.g., internal memory or the database server44) for storing instructions or applications for the performance of various functions and a corresponding processor for executing stored instructions or applications. For example, the memory may store an instance of the payments platform50configured to operate in accordance with an example embodiment of the present invention. In this regard, for example, the payments platform50may include software for enabling the application server42to communicate with the network30and/or the clients20for the provision and/or receipt of information associated with performing activities as described herein. Moreover, in some embodiments, the application server42may include or otherwise be in communication with an access terminal such as any one of the clients20(e.g., a computer including a user interface) via which individual operators or managers of the entity associated with the facilitation agent may interact with, configure or otherwise maintain the payments platform50. Thus, it should be appreciated that the functions of the payments platform50can be conducted via client-server based interactions involving communications between clients20and the server network40, or may be conducted locally at one of the clients20after an instance of the payments platform50is downloaded (e.g., via or as the client application22) locally at the corresponding one of the clients20.

As such, the environment ofFIG.1illustrates an example in which provision of content and information associated with the financial industry may be accomplished by a particular entity (namely the payments platform50residing at the application server42or at one of the clients20). Thus, the payments platform50may be configured to handle provision of content and information that are secured as appropriate for the individuals or organizations involved and credentials of individuals or organizations attempting to utilize the tools provided herein may be managed by digital rights management services or other authentication and security services or protocols that are outside the scope of this disclosure.

As noted above, the payments platform50may operate to enable the user associated with a given one of the clients20to setup an account (i.e., a user account) with an entity (e.g., a lender or facilitator) that operates the payments platform50and that, in some cases, may issue, or partner with an issuer of, the value card12to the customer. After account setup, the user may initiate transactions with various merchants via a physical or virtual card supported by the entity in association with the user account and the value card12. The user account may, in some cases, be linked to the customer account36to facilitate access by the facilitator to the customer account36in association with conducting financial transactions. In this context, for example, the amount of money in the customer account36may be used by the facilitator to determine if a financial transaction initiated by the user is approved or denied by the facilitator. Moreover, in some cases, additional information such as historical cash flows, age of account, user repayment history, etc., may further inform the determinations regarding whether to approve or deny transactions. If the transaction is approved, the facilitator may then initiate an ACH pull in order to be reimbursed from the funds in the customer account36.

In a typical case, the facilitator may be enabled to get a report from the bank entity34as to the status of the customer account36periodically. For example, upon request or at various intervals, the facilitator may receive transaction information such as an account balance or other status information associated with the customer account36. Obviously, the facilitator would not want to cover a transaction larger than the current account balance in the customer account36. However, there remains the problem that the facilitator cannot know in real time what other transactions or money transfers are planned or already being processed that may add money into or take money from the customer account36. Thus, the facilitator must appreciate that the account balance fluctuates.

In some cases, to account for this natural and normal fluctuation of the account balance of the customer account36, the facilitator may place a predetermined transaction limit as a function of the account balance at any given time to define a limit to the exposure risk the facilitator is willing to accept. The transaction limit, in the case of debit transactions, may be considered to be a debit limit. For example, the predetermined transaction limit (or debit limit) may be X % of the account balance at the time the account balance is checked (although any suitable value reflecting the risk tolerance of the facilitator may be chosen). The percentage chosen may be considered to be a bank balance factor, or simply a balance factor. The limit determination of the payments platform50may employ a secondary layer of risk mitigation by applying a fallback limit that is deployed (e.g., assigned as the users' debit limit) when the users' debit limit, as determined by the core machine learning module described herein, is greater than the users' current bank balance*bank factor %. In an example embodiment, the users' limit becomes the balance factor*bank balance. Further, the users' bank balance factor is a parameter that the model and business logic module described herein work together to determine. In other words, the system predicts an acceptable limit, but also determines and applies a dynamic bank balance factor to mitigate risk beneath the core limit itself.

The payments platform50may employ a logic module60to employ the business logic that is defined by the facilitator to reflect the risk tolerance the facilitator is willing to take by defining algorithms for making limit determinations (e.g., determining transaction limit s or debit limits) based on various input data. Although capable of being modified by the facilitator to reflect potential changes in risk tolerance, those changes are outside the scope of this disclosure. In general, the logic module60can simply be understood to be a technical tool for generating a transaction limit (i.e., making a limit determination) based on the information provided thereto, and the policies or rules that are implemented therein via computer logic or executable code. Example embodiments are therefore generally not concerned with the actual code or business logic that is used to drive this component. Instead, example embodiments focus on using technical tools to expand the types, characteristics and qualities of the data provided to this tool for decision making purposes, and to controlling how often (or at least when) this tool changes (or considers changing) debit limits. Within this context, the types, characteristics and qualities of the data received by the logic module60may generally be referred to as “features”. Thus, while the logic module60does nothing unique with the features it receives, the features themselves may be unique, but certainly in any case are processed in a unique way before they are actually used by the logic module60to make its limit determinations.

To control when the logic module60performs limit determinations, example embodiments may employ a trigger module70, and to control the processing of the features, a feature processing module80may be employed. The trigger module70may be necessary (or at least helpful) because without it, the limit determinations could undergo very rapid and even potentially large swings. In this regard, as will be discussed in greater detail below, the feature processing module80may allow event streams to be incorporated into the limit determinations made by the logic module60that include high velocity data that is massively voluminous. Thus, not only do the features output by the feature processing module80account for wide varieties of potentially relevant data (i.e., relevant to limit determinations), but they come at high speed and in very large volumes. The processing of such data alone would otherwise be daunting or impossible to accomplish in real time for limit determination purposes. Making such data available for consideration creates a much higher level of sensitivity (and therefore accuracy) for the logic module60with respect to its limit determinations. In this regard, the limit determinations account for far more relevant data sources, and also the potential for real time changes with respect to those sources. This may tend to create a sort of hypersensitivity of the logic module60to changes that was not previously possible, and which may actually be undesirable. For example, the arrival of certain features that indicate an increase in risk may be mitigated or offset, in some cases relatively soon thereafter, by conflicting or corrected feature data, or by a volume of data that is positive and therefore indicates reduced risk. More specifically, again by way of example, the existence of data of one type indicating account activity or customer activity that suggests spending occurred that will reduce the amount of a debit limit determined based on such information may shortly thereafter be followed by data of another type that indicates account replenishment and therefore would increase the amount of debit limit determined based on that information. Debit limits calculated in real time as each piece of information is received may be substantially different thereby potentially resulting in an ACT return likelihood (or NSF return likelihood) at one instant being high, and a short time later being relatively low. If the customer happens to get a transaction denied erroneously based on this timing issue, again the problems discussed above may occur. Conversely, if the customer has a transaction that should actually be denied approved erroneously due to the opposite set of circumstances playing out (i.e., positive indicators being received initially and before subsequent negative indicators are received), then the facilitator may suffer exposure and loss based on an ACH return occurring. Therefore the combination of increasing sensitivity of the tool (i.e., the logic module60), while also managing the timing of when the tool is to be used creates an optimal balance for the mutual benefit of all parties concerned.

Each of these activities performed by these modules may have its own respective timing and calculations and communications that are facilitated by the payments platform50and various components of the payments platform50may be conducted in parallel. The components, which may include the logic module60, the trigger module70, and the feature processing module80, may be functional modules that operate via API or function calls to respective segmented platforms or a monolith or other collection of rules, policies, instructions, or the like. The capabilities, some structural examples, and operational examples of the logic module60, the trigger module70, and the feature processing module80will be described in greater detail in reference toFIG.2.

FIG.2shows certain elements of an apparatus for provision of the payments platform50or other processing circuitry according to an example embodiment. The apparatus ofFIG.2may be employed, for example, as the payments platform50itself operating at, for example, a network device, server, proxy, or the like (e.g., the application server42ofFIG.1)). Alternatively, embodiments may be employed on a combination of devices (e.g., in distributed fashion on a device (e.g., a computer) or a variety of other devices/computers that are networked together). Accordingly, some embodiments of the present invention may be embodied wholly at a single device (e.g., the application server42) or by devices in a client/server relationship (e.g., the application server42and one or more clients20). Thus, althoughFIG.2illustrates the payments platform50as including the components shown, it should be appreciated that some of the components may be distributed and not centrally located in some cases. Furthermore, it should be noted that the devices or elements described below may not be mandatory and thus some may be omitted or replaced with others in certain embodiments.

Referring now toFIG.2, an apparatus for provision of tools, services and/or the like for facilitating an exchange of information and services associated therewith in the financial industry is provided. The apparatus may be an embodiment of the payments platform50or a device hosting the payments platform50. As such, configuration of the apparatus as described herein may transform the apparatus into the payments platform50. In an example embodiment, the apparatus may include or otherwise be in communication with processing circuitry100that is configured to perform data processing, application execution and other processing and management services according to an example embodiment of the present invention. In one embodiment, the processing circuitry100may include a storage device (e.g., memory104) and a processor102that may be in communication with or otherwise control a user interface110and a device interface120. As such, the processing circuitry100may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., with hardware, software or a combination of hardware and software) to perform operations described herein. However, in some embodiments, the processing circuitry100may be embodied as a portion of a server, computer, laptop, workstation or even one of various mobile computing devices. In situations where the processing circuitry100is embodied as a server or at a remotely located computing device, the user interface110may be disposed at another device (e.g., at a computer terminal) that may be in communication with the processing circuitry100via the device interface120and/or a network (e.g., network30).

The user interface110may be in communication with the processing circuitry100to receive an indication of a user input at the user interface110and/or to provide an audible, visual, mechanical or other output to the user. As such, the user interface110may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen, a microphone, a speaker, augmented/virtual reality device, or other input/output mechanisms. In embodiments where the apparatus is embodied at a server or other network entity, the user interface110may be limited or even eliminated in some cases. Alternatively, as indicated above, the user interface110may be remotely located.

The device interface120may include one or more interface mechanisms for enabling communication with other devices and/or networks. In some cases, the device interface120may be any means such as a device or circuitry embodied in either hardware, software, or a combination of hardware and software that is configured to receive and/or transmit data from/to a network (e.g., network30) and/or any other device or module in communication with the processing circuitry100. In this regard, the device interface120may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network and/or a communication modem or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB), Ethernet or other methods. In situations where the device interface120communicates with a network, the network30may be any of various examples of wireless or wired communication networks such as, for example, data networks like a Local Area Network (LAN), a Metropolitan Area Network (MAN), and/or a Wide Area Network (WAN), such as the Internet, as described above.

In an example embodiment, the memory104may include one or more non-transitory storage or memory devices such as, for example, volatile and/or non-volatile memory that may be either fixed or removable. The memory104may be configured to store information, data, applications, instructions or the like for enabling the apparatus to carry out various functions in accordance with example embodiments of the present invention. For example, the memory104could be configured to buffer input data for processing by the processor102. Additionally or alternatively, the memory104could be configured to store instructions for execution by the processor102. As yet another alternative, the memory104may include one of a plurality of databases (e.g., database server44) that may store a variety of files, contents or data sets. Among the contents of the memory104, applications (e.g., a service application configured to interface with the client application22) may be stored for execution by the processor102in order to carry out the functionality associated with each respective application.

The processor102may be embodied in a number of different ways. For example, the processor102may be embodied as various processing means such as a microprocessor or other processing element, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a hardware accelerator, or the like. In an example embodiment, the processor102may be configured to execute instructions stored in the memory104or otherwise accessible to the processor102. As such, whether configured by hardware or software methods, or by a combination thereof, the processor102may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor102is embodied as an ASIC, FPGA or the like, the processor102may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor102is embodied as an executor of software instructions, the instructions may specifically configure the processor102to perform the operations described herein.

In an example embodiment, the processor102(or the processing circuitry100) may be embodied as, include or otherwise control the payments platform50, which may be any means such as a device or circuitry operating in accordance with software or otherwise embodied in hardware or a combination of hardware and software (e.g., processor102operating under software control, the processor102embodied as an ASIC or FPGA specifically configured to perform the operations described herein, or a combination thereof) thereby configuring the device or circuitry to perform the corresponding functions of the payments platform50as described below.

The payments platform50may be configured to include tools to facilitate the creation of customer/vendor accounts (and a corresponding customer/vendor profile), and the coordination of communication and fund transfers to support the operations of the payments platform50as described herein. The tools may be provided in the form of various modules that may be instantiated by configuration of the processing circuitry100.FIG.2illustrates some examples of modules that may be included in the payments platform50and that may be individually configured to perform one or more of the individual tasks or functions generally attributable to the payments platform50according to an example embodiment. However, the payments platform50need not necessarily be modular. In cases where the payments platform50employs modules, the modules may, for example, be configured to perform the tasks and functions described herein. In some embodiments, the payments platform50and/or any modules comprising the payments platform50may be any means such as a device or circuitry operating in accordance with software or otherwise embodied in hardware or a combination of hardware and software (e.g., processor102operating under software control, the processor102embodied as an ASIC or FPGA specifically configured to perform the operations described herein, or a combination thereof) thereby configuring the device or circuitry to perform the corresponding functions of the payments platform50and/or any modules thereof, as described herein.

As shown inFIG.2, the payments platform50may include the logic module60, the trigger module70and the feature processing module80discussed above in reference toFIG.1. In an example embodiment, the logic module60may be configured to make a limit determination (e.g., a transaction limit) by applying the information provided thereto to a set of business logic and/or a model. In an example embodiment, the model may be or include a time-survival model130. Using the time-survival model130and any other computer logic or executable code that defines the logic module60, the features provided by the feature processing module80may be used to determine the transaction limit that will be used in connection with determining whether an individual transaction is approved or authorized when the customer presents the value card12for payment.

In an example embodiment, the time-survival model130may be constructed to generate an output ACH return propensity (e.g., an NSF propensity (or NSF prediction)) that is indicative of the likelihood of receiving an NSF notification in connection with a transaction of a corresponding value. Thus, for example, the time-survival model130may list respective NSF propensity values, and map the NSF propensity values to model limits that are constrained using various business rules.

In some cases, the logic module60may correlate NSF propensity to transaction values and define a threshold value, which may become the corresponding limit determination. In other words, again by way of example, a given percentage X % may be defined as the threshold value for NSF propensity above which the risk of loss is too great to be acceptable. The corresponding transaction value $YY for the NSF propensity that lies at the threshold value of X % may then define the debit or transaction limit that is determined by the logic module60. The logic module60may be configured to enter the time-survival model130or otherwise generate the limit determination based on the model's ability to correlate feature vectors to NSF propensity. The features provided by the feature processing module80may therefore be converted into or otherwise take the form of feature vectors.

In an example embodiment, the feature processing module80may receive massive amounts of data that may be relevant to NSF propensity from many different arbitrary data sources140. The arbitrary data sources140may be different types of data, some of which may be directly financial in nature, and some of which may not. For example, social media content/activity, marketing content/activity, and various other sources of information may be included in the arbitrary data sources140. In some embodiments, the arbitrary data sources140may be provided to the feature processing module80for conversion into feature vectors that are usable by the logic module60as described above. The feature processing module80may include a real time streaming platform150, which provides streaming data from the arbitrary data sources140to the logic module60on a continuous basis. In some cases, the streaming data may include user exposure signals, user history signals, credit report signals, user payment signals, and inter-institution signals relating to the user (i.e., customer) or accounts of the user. Moreover, in some cases, the streaming platform150may further be configured to provide the feature vectors to the logic module60, although in others, the feature processing module80may perform feature vector extraction on raw data provided by the streaming platform150via a machine learning module160.

Thus, in some cases, the feature processing module80may also include or otherwise be operably coupled to the machine learning module160. The machine learning module160may be configured to identify feature vectors based on pattern identification associations via multivariate optimization in some cases. The machine learning module160may include trained models that are also updateable during operation for further learning and modification. The trained models that are updateable may include the time-survival model130in some cases. Thus, in some cases, the machine learning module160may be configured to employ machine learning techniques to improve the performance of the logic module60over time.

The machine learning module160may also or alternatively include one or more models configured for feature learning. Via the models configured for feature learning, the machine learning module160may be configured to efficiently extract feature vectors from massive amounts of potentially relevant real time data that is streamed to the machine learning module160via the streaming platform150. In such examples, the feature learning may be performed via either supervised or unsupervised learning that is accomplished via machine learning modules, such as gradient boosted decision trees/gradient boosted machines. In some cases, the machine learning module160may also perform or assist with transaction or loan modeling and decision making as described herein. The machine learning module160may utilize the models and current information provided thereto (e.g., from the streaming platform150) in order to make a transaction limit determination as described above.

By employing the machine learning module160, the massive amounts of real time data that can be provided to the logic module60asynchronously for limit determination can be made sense of in meaningful ways, and in extremely fast timeframes. This may draw the latency associated with determining transaction limits down substantially, which may in turn boost card swipe activations and decrease the time to first use of the value card12. In some embodiments, the latency of the payments platform50must not exceed 2.5 seconds, and the overall time to returning a limit determination even for a first time use or card swipe activation should never exceed one minute. The machine learning module160may therefore easily respond to over one hundred thousand requests per day (e.g., about two limit updates per user).

As noted above, the employment of the machine learning module160in connection with powering the feature processing module80increases the sensitivity of the logic module60to the availability of massive amounts of potentially relevant information. However, unless the limit determining frequency is constrained, rapid and potentially wild swings in limit determinations may occur, which may cause other problems. To avoid high frequency limit determinations, the trigger module70may be combined into the payments platform50to counter-balance the sensitivity increase, but still enable many such determinations to be made on a scalable platform capable of servicing a massive number of users quickly. In some cases, the counter-balance applied may only be provided where increases/decreases in transaction limits are relatively small such that the value in an increase/decrease causes more consumer value loss than risk mitigation and thereby constitutes an overall reduction in business value.

The trigger module70may therefore (e.g., via the network30and/or the device interface120) receive event data170that monitored by the trigger module70to detect an event trigger180. The event trigger180may be an event that is associated with either card activity (i.e., of the value card12) or account activity (associated with the value card12), which is deemed to be worthy of initiating a recalculation of the debit or transaction limit of the customer via the logic module60. In some cases, the event trigger180may include a user onboarding event (e.g., when a customer obtains and activates the value card12), linking a new account to the value card12, completing an ACH transaction, or experiencing an ACH return (e.g., an insufficient funds event). The insufficient funds event (e.g., an example of an ACH return event) may be an NSF exit caused due to any issue arising in connection with an ACH requests/notifications190. Accordingly, as the event data170(which may include the ACH requests/notifications190) comes into the trigger module70(e.g., via the network30and/or device interface120), the trigger module70may look for any of the events listed above to determine if such event qualifies as the event trigger. Thus, the mere occurrence of the above-listed examples of the event trigger180does not necessarily constitute the event trigger180. Instead, when one of the examples occurs, the trigger module70may examine the corresponding event to determine whether it qualifies as the event trigger180to cause the logic module60to make the limit determination. In addition to performing the limit determination, the ACH attempt may be withheld, if there is a high likelihood of an ACH return.

Accordingly, the generation of a transaction limit is only accomplished in response to a qualifying instance of the event trigger180. After the limit determination is made, a corresponding determined debit limit195may be stored (e.g., at the logic module60or any other portion of the payments platform50). Thus, for example, when the value card12is a debit card, and a debit transaction is attempted using the value card12, there is no recalculation of the debit limit made responsive to the swipe of the value card12. The immediate decision to accept or reject the debit transaction is therefore also not made on the basis of a debit limit determination made synchronously with the swipe. Instead, asynchronous streaming data relevant to the limit determination is processed when the event trigger180is received, and the corresponding debit limit195is saved for consideration with respect to the next swipe of the value card12. The decision to accept or reject the debit transaction is therefore capable of being made with very little noticeable latency as well, on the basis of asynchronously updated and refreshed limit determination activity that relates to card and account activity apart from the immediately present swipe attempt.

In an example embodiment, the debit limit195is saved along with an age indicator, which accounts for the time since the last limit determination (and therefore how old the debit limit195is). In some cases, the debit limit may further be modified by an error factor that may be determined based on the age indicator. In this regard, for example, the debit limit195may be reduced by some amount as the time since the last limit determination increases. This decay in the debit limit195is meant to account for any uncertainty that may exist due to a lack of recent activity of the value card12or the accounts associated therewith.

FIG.3illustrates a block diagram of a process flow for a value card transaction in accordance with an example embodiment. As shown inFIG.3, process flow may begin with continuous monitoring of event data associated with card activity and account activity at operation300. The monitoring may be performed to detect an event trigger, and may continue as long as no such event trigger is detected. If, however, the determination regarding whether an event trigger is detected at operation310is positive, then the payments platform50may execute a remote procedure call (RPC) at operation320. The RPC may trigger employment of a machine learning module to make a limit determination at operation330. However, the limit determination may require receipt of a feed of real time streaming data at operation340and the extraction of feature vectors from that streaming data at operation350. As noted above, the streaming data may be available at all times, but the limit determination itself (of operation330) may only be performed when the event trigger is detected at operation310. This saves computing resources, but keeps the system primed and ready to make rapid determinations when called upon.

The limit determined is then saved at operation360along with an age indicator. At some undetermined future time, a swipe of the value card may be received at operation370. The determined limit may then be used at operation380(perhaps as modified based on the age indicator) to decide whether to accept or decline the transaction.

The method ofFIG.3and the hardware described in reference toFIG.2are merely examples of methods and hardware that could be employed to implement example embodiments. Moreover, in some cases, various services or systems may cooperate to practice example embodiments, and different combinations of hardware and software may be employed to implement such services and systems.FIG.4is a block diagram of various systems interactions that may be employed to implement an early capture capability in accordance with an example embodiment.

As shown inFIG.4, a qualification database400may store information associated with qualification of a plurality of users, each having a corresponding user account setup and maintained as described above. In an example embodiment, the qualification database400may be a portion of the database server44ofFIG.1, or implemented in memory104ofFIG.2. A qualification service410may interface with and update the qualification database400. The qualification service410may be implemented from the payments platform50, and may employ the functionalities described in connection with the descriptions ofFIG.2.

Checkout information may be provided to the qualification service410by various checkout systems420associated with respective different vendors or websites. The checkout information may be indicative of card swipe or other attempts to use the card for payment. Repayment information may also be provided to the qualification service410by various repayment systems430associated with respective different vendors or websites. Web or mobile devices440may be examples of clients20that may interact with the qualification service410to setup user accounts and to initiate transactions (via the checkout systems420) or make payments (via the repayment systems430).

Transaction system450may be employed to make transaction extension decisions based on information from the qualification service410, and to augment (or boost) transaction limits based on marketing information from a marketing system460, which may indicate when particular boosts, enhancements, or incentives for various merchants are applicable. A user decision service470may be used to inform the user of transaction decisions. All information resulting from these decisions may be recorded in decisions database480.

In this regard, a method for expediting speed and enhancing accuracy of debit limit determinations based on streaming data feeds according to an example embodiment is shown inFIG.5. The method may include monitoring event data for an event trigger that, when received, directs a call to determine a debit limit for a customer at operation500. The method may further include receiving streaming data from a plurality of arbitrary sources, the streaming data including features evaluated by a business logic module to determine the debit limit for the customer at operation510, and employing a machine learning module to extract the features from the streaming data and supply the extracted features to the business logic module at operation520. The method may also include determining the debit limit based on the extracted features via the business logic module responsive to the event trigger at operation530.

In some embodiments, the method (and a corresponding apparatus or system configured to perform the operations of the method) may include (or be configured to perform) additional components/modules, optional operations, and/or the components/operations described above may be modified or augmented. Some examples of modifications, optional operations and augmentations are described below, and optional operations are shown in dashed lines. It should be appreciated that the modifications, optional operations and augmentations may each be added alone, or they may be added cumulatively in any desirable combination. In this regard, for example, the method may further include storing the debit limit for consideration relative to an attempt to authorize of a subsequent transaction initiated via a value card by the customer at operation540. In some embodiments, the method may further include returning a decision regarding the attempt to authorize the subsequent transaction within one minute of receiving notice of the attempt at operation550. In an example embodiment, the debit limit is further stored with an age indicator. In some cases, the debit limit may be modified by an error factor determined based on the age indicator. In an example embodiment, determining the debit limit may include determining a propensity for receiving an insufficient funds notification (i.e., a propensity or probability for receiving an ACH return, ACH failure, NSF return, etc.) for a transaction request initiated by the customer over a range of transaction values and defining the debit limit at a transaction value corresponding to a threshold propensity. Within this context, the insufficient funds notification is any indication that a transaction is not supportable, which may include an ACH return or NSF return. In some cases, the machine learning module may identify the features based on pattern identification associations with multivariate optimization. In an example embodiment, the propensity for receiving the insufficient funds notification may be determined based on a time-survival model. In some cases, the event trigger may include a user onboarding event, linking a new account, completing an ACH transaction, or experiencing an insufficient funds event. In an example embodiment, the streaming data may include user exposure signals, user history signals, credit report signals, user payment signals, and inter-institution signals.

In an example embodiment, an apparatus for performing the method ofFIG.5above may comprise a processor (e.g., the processor102) or processing circuitry configured to perform some or each of the operations (500-550) described above. The processor may, for example, be configured to perform the operations (500-550) by performing hardware implemented logical functions, executing stored instructions, or executing algorithms for performing each of the operations. In some embodiments, the processor or processing circuitry may be further configured for additional operations or optional modifications to operations500to550.