The present invention relates generally to the field of data modelling, and more particularly to graphical data modelling techniques and tools.
In commerce, it is a growing practice for companies to engage in intra supply-chain financing in order to optimize availability and cost of capital within the supply chain. In some circumstances, suppliers obtain short-term financing secured against their own accounts receivable, which create a number of problems resulting from having to take on short-term debt; for example, a lower credit rating. This burden on suppliers also impacts buyers; buyers often rely on suppliers to sustain their own businesses.
Supply chain financing allows a buyer and a seller to collaborate in this process, such that suppliers can leverage a buyer's accounts payable to receive immediate payment of their receivables, thereby avoiding the need for incurring short-term financing debt. The buyers, in turn, have more flexibility in making payments to their suppliers.
The demand for supply chain financing tools has increased greatly, and represents a large but mostly unsatisfied need. In contrast to the prior art, embodiments of the disclosed invention provide a method, system, and computer program product that enable decision makers to better visualize and understand the landscape of the supply chain, their options in making decisions, and the impact of those decisions, and to make informed decisions based on that understanding.
Embodiments of the present invention disclose a method, computer program product, and system for generating an electronic data model.
According to an embodiment, a method for generating an electronic data model obtains an electronic data model of a logical supply chain. The electronic data model includes a lender node and a borrower node. The method regenerates the electronic data model based on at least one decision scenario in response to a request by the borrower node to the lender node to finance a loan. The request is based on one or more of a request received from the borrower node and a simulated request from the borrower node. The method determines corresponding gain values and probabilities of occurrence, for the lender node, of the at least one decision scenario. The corresponding gain values and probabilities of occurrence are determined with respect to the lender node and at least one node in the electronic data model other than the borrower node. The method recommends a decision according to the at least one decision scenario, in response to the request, based on the gain values and probabilities of occurrence.
According to a further embodiment, a computer system for generating an electronic data model includes a computer device having a processor and a tangible storage device, and a program embodied on the storage device for execution by the processor. The program has a plurality of program instructions that, when executed by the processor, cause the processor to obtain an electronic data model of a logical supply chain, where the electronic data model includes a lender node and a borrower node. The instructions cause the processor to regenerate the electronic data model based on at least one decision scenario in response to a request by the borrower node to the lender node to finance a loan. The request is based on one or more of a request received from the borrower node and a simulated request from the borrower node. The instructions cause the processor to determine corresponding gain values and probabilities of occurrence, for the lender node, of the at least one decision scenario, where the corresponding gain values and probabilities of occurrence are determined with respect to the lender node and at least one node in the electronic data model other than the borrower node. The instructions cause the processor to recommend a decision according to the at least one decision scenario, in response to the request, based on the gain values and probabilities of occurrence.
According to a further embodiment, a computer program product for generating an electronic data model includes a tangible storage device embodying program code. The program code is executable by a processor of a computer to perform a method. The method obtains, by the processor, an electronic data model of a logical supply chain. The electronic data model includes a lender node and a borrower node. The method regenerates, by the processor, the electronic data model based on at least one decision scenario in response to a request by the borrower node to the lender node to finance a loan. The request is based on one or more of a request received from the borrower node and a simulated request from the borrower node. The method determines, by the processor, corresponding gain values and probabilities of occurrence, for the lender node, of the at least one decision scenario. The corresponding gain values and probabilities of occurrence are determined, by the processor, with respect to the lender node and at least one node in the electronic data model other than the borrower node. The method recommends, by the processor, a decision according to the at least one decision scenario, in response to the request, based on the gain values and probabilities of occurrence.
Embodiments of the present invention provide a modelling tool for evaluating the financial risk to be borne by a lender, such as a supplier in a supply chain, by taking into account the physical supply chain (i.e., actual flow of materials) during supply chain financing decisions. The framework provides for both a quantitative and dynamic validation model for supply chain financing decision making that takes into account the larger supply chain structure in order to determine long term impacts. Existing supply chain financing solutions do not take into account the supply chain structure but instead rely on business rules with expert knowledge input, and only provide limited knowledge about the direct single supply thread, instead of the entire supply chain network. No existing supply chain financing modelling solution evaluates the whole network and provides information on long term impacts. In other words, current solutions do not offer any insight as to the fact that suppliers often have multiple buyers that can act as competing supply chain financiers, and buyers may have multiple suppliers that may act as competing suppliers of the borrower, and those suppliers may in turn have supply chain connections between themselves.
Supply chain 100 is an illustrative example of a model of a supply chain. Embodiments of the invention may use information about such supply chains to analyze the model data, provide tools for making informed decisions, and recommend financing decisions based on that model.
SC analytics program 200 may be a computer program stored on a tangible storage medium of analytics system 1000, and may include program modules or program instructions to perform one or more methods according to embodiments of the invention. These instructions may be executable by a processor (not shown) of analytics system 1000.
According to an aspect of the invention, SC analytics program 200 may have the following program modules: (i) a modelling module 210 configured to receive data identifying a logical supply chain, the supply chain's members, and relationships between the members, and to generate corresponding data models; (ii) a recommending module 220 configured to analyze the data models of the supply chain generated by modelling module 210, and to guide decision making by providing analysis of various scenarios, and recommendations; (iii) a graphing module 230 configured to generate graphical data models based on the data models generated by modelling module 210; and (iv) a graphical user interface (“GUI”) 250 configured to communicate with a user (not shown) to display outputs of modelling module 210, recommending module 220, and graphing module 230 and other pertinent information to the user, and to receive input from the user to guide additional functions of modules of SC analytics program 200.
Database(s) 260 may include one or more tangible storage media that may store input and output data received/generated by analytics system 1000, and used by SC analytics program 200. Data stored on database 260 may include, for example and without limitation: supply chain structure data, supply chain member data, supply chain member relationships data, electronic logical model data, analysis data, recommendation data, and user data. Additional details of the type of data that may be stored on database 260 are depicted in
Model 300 includes a set of nodes corresponding to members of the supply chain on which model 300 is based. The nodes are identified by numeral references, as well as by functional role types. According to an embodiment of the invention, these nodes include a lender, identified by node 304; supply chain members 1-7 (referred to in
Labels assigned to each node are for illustrative purposes only, and signify some of the relationships that members of the supply chain may have relative to one another. For example, the lender (node 304) in model 300 may correspond to a member in the supply chain that is both a supplier and a buyer, relative to one or more other members of the supply chain.
Entities of model 300 will now be described in greater detail according to their roles and relationships in model 300, according to an embodiment of the invention.
The lender (node 304) may be a node in model 300, relative to which additional nodes may be defined. The lender (node 304) may be, in an embodiment, a user of analytics system 1000 engaged in a financial decision making process. For example, the user may be a supplier in the supply chain (for example, in supply chain 100 of
Other supply chain members, referred to as SC Members 1-7 (nodes 308, 308A, 308B, and 308C), may be members of the supply chain on which model 300 is based. These SC Members 1-7 may have direct or indirect relationships to the lender (node 304), and to each other.
For example, SC Member 2 (node 308A) may be defined as a “borrower” relative to the lender (node 304) based on an existing or contemplated borrowing relationship. This relationship may be defined in the underlying data used to generate model 300. The indication that SC Member 2 is a borrower of the lender (node 304) may be used, in an embodiment of the invention, to perform special analysis with respect to ally entities that may otherwise not be available for other entities of model 300. These additional functions are described in greater detail in connection with method 400 and
As a further example, SC Member 3 (node 308B), may be defined as an “alliance member” of lender (node 304) due to a defined relationship between the two. This relationship may be defined in the underlying data used to generate model 300. The relationship may correspond, for example, to a special business relationship that makes SC Member 3 an ally of lender (node 304). The indication that SC Member 3 is an ally of the lender (node 304) may be used, in an embodiment of the invention, to perform special analysis with respect to ally entities that may otherwise not be available for other entities of model 300. These additional functions are described in greater detail in connection with method 400 and
As yet another example, SC Member 7 (node 308C) may be a competing borrower relative to SC Member 2 (node 308A), which is also a borrower. The distinction between these nodes in model 300 enables embodiments of the invention to distinguish between alternative borrowers and assess the impact of deciding to lend to one versus the other, by the lender (node 304).
The competing lender (node 310) may be a supply chain member defined as an alternative or competing source of capital available to SC Members 1-7, compared to the lender (node 304). Properties of the competing lender, such as its available capital, known decision making practices, and other characteristics, may be used by analytics system 1000 to perform its various functions, as described below in connection with method 400 and
Additional embodiments of the invention will now be described in connection with
In an alternative embodiment, modelling module 210 may generate model 300 itself based on data associated with a logical supply chain. Generating model 300 may include identifying members of the logical supply chain, designating them as nodes of model 300, characterizing the nodes based on predetermined (or based on determining) roles of the members in the logical supply chain, and connecting the nodes (logically or graphically) based on their relationships to one another, as described in connection with
Whether model 300 is generated or received by modelling module 210, it may have the same or a similar structure as that described above, or it may have a different structure.
At step 404, recommending module 220 may receive a simulated request to finance a loan. The request may be received from a user, which may be a method, system, process, machine, or a combination thereof. The request may also represent a request from a natural-person-user interacting with analytics system 1000 and SC analytics program 200 through, for example, GUI module 250. The request may be based on an actual request (for example, a first supply chain member requests a loan from a second supply chain member; the second supply chain member may wish to engage with embodiments of the invention to make a decision), or a simulated request (for example, a supply chain member may wish to simulate “what-if” scenarios based on requests it may make of another member, or requests it may receive from another member).
At step 406, modelling module 210 may regenerate model 300 according to one or more of first, second, third, and fourth decision scenarios, corresponding to (i) approving the request, (ii) declining the request, (iii) declining the request but approving another request to finance a loan from another borrower node, and (iv) declining the request, where a competing lender node approves the request. Each regenerated version of model 300 provides a tool to a user of analytics system 1000 to play “what-if” scenarios with model 300, determine the possible impacts on model 300, and make an informed choice.
At step 408, recommending module 220 determines corresponding gain values (R) and probabilities of occurrence (P) for each decision scenario. A gain value may be positive, neutral, or negative; a negative gain value may also be described as a loss value. A probability value for each scenario measures the likelihood that the scenario will occur. Data used to determine these values may be known historical data (for example, data about past financing decisions, current liquidity, financial and accounting records, expert knowledge provided as input into the system through GUI module 250) and/or projected data. This data may be stored on database 260 (
In an embodiment, when considering one of the four decision scenarios, recommending module 220 may determine that there are multiple possible consequences based on the underlying data (for example, the data described in
According to an embodiment, (R) may be determined, in each scenario or sub-scenario, based on the following values (these values may also be referred to as modelling parameters), each of which may be derived using historical data as described in connection with
Each of these values may be represented as a whole number value, a floating point value between 0-1, a percentage, or another value. Each of these values may be weighted such that it impacts the final value of (R) at a higher or lower degree.
According to an embodiment, the above recited parameters may be determined as follows.
Chance of default value (d): (d) may be calculated based on known, estimated, and projected borrowing information about the borrower (node 308A), including the number of loans the borrower has obtained in the past and the number of such loans that the borrower has defaulted on in the past, or the risk that the borrower has assumed. It may further be based on current assets, credit rating, market trends, and other information. (d) may also be based on similar information of comparable nodes. For example, where the borrower (node 308A) is a retailer, the data for another retailer in the same business sector having comparable revenue can be used. SC analytics program 200 may retrieve this information from database 260 (
Change in sales value (s): (s) may be calculated based on known, estimated, and projected sales information about the lender (node 304) (or any other node). It may further be based on current assets, inventory, market trends, demand, and other information. (s) may also be based on similar information of comparable nodes. For example, where the lender (node 304) is a retailer, the data for another retailer in the same business sector having comparable revenue can be used. SC analytics program 200 may retrieve this information from database 260 (
Change in market share value (m): (m) may be calculated based on known, estimated, and projected market share information about the lender (node 304) (or any other node). It may further be based on current assets, inventory, market trends, demand, and other information. (m) may also be based on similar information of comparable nodes. For example, where the lender (node 304) is a retailer, the data for another retailer in the same business sector having comparable revenue can be used. SC analytics program 200 may retrieve this information from database 260 (
Change in liquidity value (l): (l) may be calculated based on known, estimated, and projected liquidity information about the lender (node 304) (or any other node). Liquidity may be a measure of the lender's current assets and/or receivables against its current or forthcoming obligations. It may further be based on current assets, inventory, market trends, demand, and other information. (l) may also be based on similar information of comparable nodes. For example, where the lender (node 304) is a retailer, the data for another retailer in the same business sector having comparable revenue can be used. SC analytics program 200 may retrieve this information from database 260 (
Change in strength of supplier relationships value (sr): (sr) may be calculated based on known, estimated, and projected supplier relationship strengths relative to the lender (node 304) (or relative to any other node). It may further be based on current assets, inventory, market trends, demand, and other information. Supplier relationships strength may be a measure of supplier relationships according to predefined measuring criteria. In one example, each contract between two nodes of model 300 may be assigned a positive point value. If a given contract prevents one node from conducting business with another node, this may lower competition, and may be assigned a negative point value. Based on the predefined measuring criteria, these point values may be aggregated for one or more suppliers of the lender (node 304). (sr) may also be based on similar information of comparable nodes. For example, where the lender (node 304) is a retailer, the data for another retailer in the same business sector having comparable revenue can be used. SC analytics program 200 may retrieve this information from database 260 (
Change in alliance strength value (as): (as) may be calculated based on known, estimated, and projected alliance relationship strengths relative to the lender (node 304) (or relative to any other node). It may further be based on current assets, inventory, market trends, demand, and other information. Alliance strength value may be a measure of alliance node relationships with the lender (node 304). In one example, gain values based on the change in sales, liquidity, supplier relationships, and other factors relative to an alliance member (node 308B) may be measured and calculated for the alliance member, as described above, and elsewhere, with respect to the lender (node 304). The higher the gain value for an alliance member, the higher the (as) value may be. (as) may also be based on similar information of comparable nodes. For example, where the alliance member (node 308B) is a retailer, the data for another retailer in the same business sector having comparable revenue can be used. SC analytics program 200 may retrieve this information from database 260 (
Probability value (cla) that the competing lender (node 310) approves the loan request: (cla) may be calculated based on known, estimated, and projected lending decisions of the competing lender (node 310) for a loan request by the borrower (node 308A). It may further be based on current assets, inventory, market trends, demand, and other information of the competing lender (node 310). In one example, (cla) may be based on the number of currently outstanding (or historical information about past) loans provided by the competing lender to one or more borrowers, and/or borrowers that are similarly situated with respect to the borrower (node 308A). For example, SC analytics program 200 may retrieve lending information of the competing lender (node 310) from the database 260. SC analytics program 200 may then determine that the competing lender (node 310) has received fifteen loan requests from eight borrowers similarly situated relative to the borrower (node 308A) in the last six months, and has approved only half of those requests. SC analytics program 200 may determine therefore, that (cla)=50%. Other calculations of (cla) are possible (for example, as the number of approved loans increases, the probability that a subsequent loan request is approved becomes lower), and may include weighting criteria (for example, certain properties such as creditworthiness may be affect the probability; a higher creditworthiness, for example, may make it more probable that a borrower's loan request is approved).
Loss value (clal) based on loss to the lender if the competing lender approves the loan: (clal) may be calculated based on known, estimated, and projected loss (or gain) to the lender (node 304) where the competing lender (node 310) approves a loan request by the borrower (node 308A). It may further be based on current assets, inventory, market trends, demand, and other information of the competing lender (node 310). In one example, (clal) may be based on to change in market share, sales, and other factors relative to the lender (node 304). For example, SC analytics program 200 may retrieve from the database 260 market share and sales information for the lender (node 304) and the competing lender (node 310), and determine that in the event the lender refuses to finance the loan request, and the competing lender accepts to do so instead, the lender's sales and market share will recede (although it may remain unchanged or even grow in some circumstances) lending information of the competing lender (node 310) from the database 260. In one example, SC analytics program 200 may determine (clal) as follows: (clal)=(m)+(s). Other calculations of (clal) are possible, and may include weighting criteria.
Impact value (impv) that measures the impact of the decision on the structure of the supply chain: (impv) may be calculated based on known, estimated, and projected impact of a decision on the structure of model 300. It may further be based on current or past relationships between nodes of model 300 and their individual properties. Some or all node properties and connections may be assigned an impv value based on impact measurement criteria. In one example, the criteria may include definitions of individual impv values of edges in model 300 such that the more edges there, the higher the (impv) value. In another example, the criteria may include definitions such that edges corresponding to relationships between a competitor and other members of the supply chain have a negative value and lower the (impv) value. Accordingly, in one example, SC analytics program 200 may determine (impv) as the sum of individual impv values defined for nodes in model 300, properties of the nodes, their edges, and other factors. Other calculations of (impv) are possible, and may include weighting criteria (for example, relationships between the lender (node 304) and alliance members (node 308B) may have a higher weight than other relationships). Accordingly, embodiments of the invention may determine an impact of a decision scenario or sub-scenario on the structure of model 300, and may assess its properties, including, for example, its desirability.
In calculating the above values, modelling algorithms may receive known historical data about the supply chain members, or entities (for example, companies) similar to the supply chain members, to determine corresponding attributes, such as market capital, cash on hand, risk averment, projected growth plan, etc. Similar information may be used to estimate future values.
In an embodiment, the probabilities of occurrence of each scenario or sub-scenario may be based on a probabilistic assumption. For example, the probability of each possible scenario or sub-scenario may be calculated by assuming that the probability of occurrence of the given scenario or sub-scenario is a Gaussian distribution, a Pareto distribution, or a Poisson distribution. In a related embodiment, the assumptions may be based on constant expected return probabilistic models. These models are known to a person of ordinary skill in the art. Exemplary and non-limiting constant expected return models are described in the following source, incorporated by reference in its entirety: Eric Zivot, University of Washington: The Constant Expected Return Model [online; retrieved on 2014-12-10]. Retrieved from the Internet: <URL: http://faculty.washington.edu/ezivot/econ424/constantexpectedreturn.pdf Chapter 1. Additional examples are described in the following source, incorporated by reference in its entirety: Lewellen, J. The Time-Series Relations Among Expected Return, Risk, and Book-to-market, Journal of Financial Economics, Vol. 54, no. 5-43 (1999).
Additional details of method 400 at steps 406 and 408 are described below for each of the four decision scenarios, in turn, in connection with an illustrative example. In the illustrative example, it is assumed that: the borrower making a request for financing is SC Member 2 (node 308A); the request is directed to the lender (node 304;
Modelling module 210 may regenerate model 300, at step 406, according to the first decision scenario, i.e., approving the request, as follows. Modelling module 210 may assume that the request is approved, and recalculate properties of model 300, its nodes, and the connections between the nodes, using the node metadata and additional data in database 260 (
Based on properties of regenerated model 300A, recommending module 220 may determine, at step 408, a corresponding expected return value (R) that is measured relative to the lender (node 304), for providing a loan to the borrower, SC member 2 (node 308A). The estimate may be, in one example, based on the following subset of factors listed above: the chance of default value (d); the change in sales value (s); the change in market share value (m); the change in liquidity value (l); the change in strength of supplier relationships value (sr); the change in alliance strength value (as); and an impact value (impv) that measures the impact of the decision on the structure of the supply chain. For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding value for (R).
For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding final value for (R).
Recommending module 220 may also determine the probability (P) of occurrence for (R) for each sub-scenario of the first scenario. Recommending module may multiply these values for each sub-scenario, and aggregate them, to determine a single (R) value for the first scenario.
Modelling module 210 may regenerate model 300, at step 406, according to the second decision scenario, i.e., declining the request, as follows. Modelling module 210 may assume that the request is declined, and recalculate properties of model 300, its nodes, and the connections between the nodes, using the node metadata and additional data in database 260 (
Based on properties of regenerated model 300B, recommending module 220 may determine (R), at step 408, based on declining to provide a loan to the borrower, SC member 2 (node 308A). The determination may be, in one example, based on the following subset of factors: the change in sales value (s); the change in market share value (m); the change in liquidity value (l); the change in strength of supplier relationships value (sr); the change in alliance strength value (as); and the impact value (impv) that measures the impact of the decision on the structure of the supply chain. For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding value for (R).
For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding final value for (R).
Recommending module 220 may also determine the probability (P) of occurrence for (R) for each sub-scenario of scenario two. Recommending module may multiply these values for each sub-scenario, and aggregate them, to determine a single (R) value for the second scenario.
Modelling module 210 may regenerate model 300, at step 406, according to the third decision scenario, i.e., declining the request but approving another request to finance a loan from another borrower node, as follows. Modelling module 210 may assume that the request is declined, and that a request from the competing borrower, SC Member 7 (node 308C) is accepted, and recalculate properties of model 300, its nodes, and the connections between the nodes, using the node metadata and additional data in database 260 (
Based on properties of regenerated model 300C, modelling module 210 may determine that since SC Member 7 is a new supplier to the lender (node 304), the lender no longer requires SC Members 4 and 6 to be its suppliers. Therefore, regenerated model 300C assumes that the decision to decline the request from SC Member 2, and instead accepting a competing request from SC Member 7, results in a change in the supply chain.
Based on properties of regenerated model 300C, recommending module 220 may determine, at step 408, a corresponding expected return value (R) that is measured relative to the lender (node 304), for declining to provide a loan to the borrower, SC member 2 (node 308A), and instead providing a loan to the competing borrower, SC Member 7. The estimate may be, in one example, based on the following subset of factors listed above: the chance of default value (d) with respect to SC Member 7; the change in sales value (s); the change in market share value (m); the change in liquidity value (l); the change in strength of supplier relationships value (sr); the change in alliance strength value (as); and an impact value (impv) that measures the impact of the decision on the structure of the supply chain. For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding value for (R).
For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding final value for (R).
Recommending module 220 may also determine the probability (P) of occurrence for (R) for each sub-scenario of scenario three. Recommending module may multiply these values for each sub-scenario, and aggregate them, to determine a single (R) value for the third scenario.
Modelling module 210 may regenerate model 300, at step 406, according to the fourth decision scenario, i.e., declining the request, where a competing lender node approves the request, as follows. Modelling module 210 may assume that the request from SC Member 2 is declined, but that the competing lender (node 310) approves the request, and recalculate properties of model 300, its nodes, and the connections between the nodes, using the node metadata and additional data in database 260 (
Based on properties of regenerated model 300D, recommending module 220 may determine, at step 408, a corresponding expected return value (R) that is measured relative to the lender (node 304). The estimate may be, in one example, based on the following subset of factors listed above: the change in sales value (s); the change in market share value (m); the change in liquidity value (l); the change in strength of supplier relationships value (sr); the change in alliance strength value (as); the probability value (cla) that the competing lender (node 310) approves the loan request; the loss value (clal) based on loss to the lender if the competing lender approves the loan; and the impact value (impv) that measures the impact of the decision on the structure of the supply chain. For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding value for (R).
For any given sub-scenario, these values may be determined and summed, averaged, or combined in another way to arrive at a corresponding final value for (R).
Recommending module 220 may also determine the probability (P) of occurrence for (R) for each sub-scenario of the fourth scenario. Recommending module may multiply these values for each sub-scenario, and aggregate them, to determine a single (R) value for the fourth scenario.
At step 410, recommending module 216 evaluates the various (R) and (P) values for each scenario (and sub-scenario), individually or aggregately, and ranks them in order, and assigned an associated confidence level to the values. For example, the aggregate (R) value (considering the impact of probabilities) may be (0.25) for the first scenario, (0.80) for the second scenario, (0.50) for the third scenario, and (0.05) for the fourth scenario. Recommending module 216 may rank the decision scenarios as follows: second scenario, first scenario, third scenario, and fourth scenario. Each ranked value may also be paired with a confidence level (which may be a percentage). This information may be presented to a user. The user (which may represent the lender (node 304)) may determine from the analysis of recommendation module 216, that the second scenario has the highest return value, and that accordingly, the best course of action would be to deny the borrower's request for a loan.
In a related embodiment, at an additional step (not shown) of method 400, recommending module 220 may estimate a long-term impact value on the lender (node 304) based on a decision to finance, or to decline to finance, the loan. This long-term estimate may be based on the factors described above for calculating (R) and (P), and may further include a time dimension T. T may be in the range of {Tn, Tn+1, Tn+2, . . . }. The constant expected return models described above may be iterated for two or more values of T to determine the impact on the supply chain over time.
For example, data that may be used to determine the expected return value (R) and other values may include, without limitation, borrower node information, lender node information, competing supplier node information, market information, alliance information, and supplier chain information.
Referring now to
In an embodiment, properties or characteristics of a connection or edge between two given nodes may represent a flow of goods and/or capital between them. A measure of this flow may be referred to as a flow value.
Referring now to
Each set of internal components 800 also includes a R/W drive or interface 832 to read from and write to one or more computer-readable tangible storage devices 936 such as a thin provisioning storage device, CD-ROM, DVD, SSD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device. The R/W drive or interface 832 may be used to load the device driver 840 firmware, software, or microcode to tangible storage device 936 to facilitate communication with components of computing device 1000.
Each set of internal components 800 may also include network adapters (or switch port cards) or interfaces 836 such as a TCP/IP adapter cards, wireless WI-FI interface cards, or 3G or 4G wireless interface cards or other wired or wireless communication links. The operating system 828 that is associated with computing device 1000, can be downloaded to computing device 1000 from an external computer (e.g., server) via a network (for example, the Internet, a local area network or wide area network) and respective network adapters or interfaces 836. From the network adapters (or switch port adapters) or interfaces 836 and operating system 828 associated with computing device 1000 are loaded into the respective hard drive 830 and network adapter 836. The network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
Each of the sets of external components 900 can include a computer display monitor 920, a keyboard 930, and a computer mouse 934. External components 900 can also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. Each of the sets of internal components 800 also includes device drivers 840 to interface to computer display monitor 920, keyboard 930 and computer mouse 934. The device drivers 840, R/W drive or interface 832 and network adapter or interface 836 comprise hardware and software (stored in storage device 830 and/or ROM 824).
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.