US20230106398A1 - Systems and methods for a transaction processing system offering a service to a user system - Google Patents
Systems and methods for a transaction processing system offering a service to a user system Download PDFInfo
- Publication number
- US20230106398A1 US20230106398A1 US17/494,453 US202117494453A US2023106398A1 US 20230106398 A1 US20230106398 A1 US 20230106398A1 US 202117494453 A US202117494453 A US 202117494453A US 2023106398 A1 US2023106398 A1 US 2023106398A1
- Authority
- US
- United States
- Prior art keywords
- revenue
- transaction processing
- transactions
- processing system
- user system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G06N5/003—
Definitions
- Merchants such as grocers, car services, online marketplaces, etc., provide their products and services to consumers. Such merchants may employ agents to deliver their products and/or provide the actual services to the merchant’s customers, provide digital goods directly to their customers, or ship physical goods to consumers. For example, a person acting on the merchant’s behalf will drive a consumer in their own car, deliver food ordered through a merchant website, pick up and/or drop off clothes dry cleaned by the merchant, etc. As another example, merchants may provide a website, online marketplace, etc., to sell digital products, such as music, documents, art, unique tokens, etc., to consumers. Consumers therefore often engage, purchase, rent, etc. services and/or products of the merchant or the merchant’s agent via a merchant interface, such as a merchant web page, application, or other interface.
- a merchant interface such as a merchant web page, application, or other interface.
- merchants although providing systems for supplying products and/or services to consumers via their interface, often do not perform the financial processing associated with the transactions. Instead, merchants utilize commerce systems to process financial transactions for the products and/or services provided to consumers.
- Commerce systems may provide their transaction processing services to the merchant by way of software applications, web pages, application programming interfaces (APIs), etc.
- APIs application programming interfaces
- the merchant system integrates the commerce system software, APIs, web pages, etc. into the merchant interfaces to handle the processing of consumer transactions.
- the commerce system on behalf of the merchant system, can perform processing of payments for goods or services including collecting credit card information, running credit cards, crediting a merchant account for the transaction, crediting agents responsible for the transaction, debiting a commerce system fee for processing the transaction on behalf of the merchant, interacting with authorization network systems (e.g., bank systems, credit card issuing systems, etc.), providing payouts for products/services rendered on behalf of the merchant, as well as other.
- authorization network systems e.g., bank systems, credit card issuing systems, etc.
- Commerce systems may further provide additional services to merchants, such as extending credit, offering loans, etc.
- Such services are offered in response to an application completed by a merchant, where the merchant provides information regarding their credit-worthiness, revenue, assets, as well as other relevant information.
- the commerce system would then utilize the merchant-supplied information to determine a credit limit, loan amount, or other service the commerce platform is willing to provide, for example based on factors such as predicted revenue of the merchant.
- such an approach to the credit/loan application and approval process is labor intensive on behalf of the merchant, and requires the commerce platform to presume that the merchant supplied information is both accurate and complete.
- handling credit and loan applications at scale is problematic.
- the modern technical environment of the commerce platform creates unique technical problems with respect to the commerce system offering its customers (e.g., merchants) services, such as loans, credit, etc.
- FIG. 1 is a block diagram of an exemplary system architecture for a commerce platform system leveraging transaction processing resources when performing revenue forecasting.
- FIG. 2 is a block diagram of one embodiment of a forecast manager of a commerce platform system.
- FIG. 3 is a block diagram of one embodiment of a revenue forecasting engine of the forecast manager of a commerce platform system.
- FIG. 4 is a flow diagram of one embodiment of a method for performing revenue forecasting leveraging the transaction processing capabilities of a commerce platforms system.
- FIG. 5 is one embodiment of a computer system that may be used to support the systems and operations discussed herein.
- the embodiments discussed herein may also relate to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
- FIG. 1 is a block diagram of an exemplary system architecture 100 for a commerce platform system leveraging transaction processing resources when performing revenue forecasting.
- the system 100 includes commerce platform system(s) 110 , one or more merchant system(s) 120 , and one or more user system(s) 130 .
- one or more systems e.g., system 120 and 130
- the commerce platform system(s) 110 and merchant system(s) 120 may also be one or more computing devices, such as one or more server computer systems, desktop computer systems, etc. that utilize distributed computing architectures.
- the commerce platform system(s) 110 , merchant system(s) 120 , and merchant user system(s) 130 may be coupled to a network 102 and communicate with one another using any of the standard protocols for the exchange of information, including secure communication protocols.
- one or more of the commerce platform system(s) 110 , merchant system(s) 120 , and user system(s) 130 may run on one Local Area Network (LAN) and may be incorporated into the same physical or logical system, or different physical or logical systems.
- LAN Local Area Network
- the commerce platform system(s) 110 , merchant system(s) 120 , and merchant system(s) 130 may reside on different LANs, wide area networks, cellular telephone networks, etc.
- commerce platform system 110 may reside on a single server, or be distributed among different servers, coupled to other devices via a public network (e.g., the Internet) or a private network (e.g., LAN). It should be noted that various other network configurations can be used including, for example, hosted configurations, distributed configurations, centralized configurations, etc.
- commerce platform system 110 provides financial processing services to one or more merchants, such as to merchant system(s) 120 and/or user system(s) 130 .
- commerce platform system(s) 110 may manage merchant accounts held at the commerce platform, run financial transactions initiated at user system(s) 130 performed on behalf of a merchant system 120 , clear transactions, performing payouts to merchants and/or merchants' agents, manage merchant and/or agent accounts held at the commerce platform system(s) 110 , as well as other services typically associated with commerce platforms systems such as, for example, STRIPETM.
- STRIPETM service that operates at scale
- the number of transactions on the magnitude of millions or billions of transactions are processed each hour, day, month, etc. by the transaction system 112 .
- Each of these transactions is processed by the transaction system 112 of commerce platform system(s) 110 , and data associated with the transaction is stored in a data store of the commerce platform system (e.g., transaction data store 212 discussed below).
- Commerce platform system(s) 110 leverages the transaction data generated for each merchant to improve the technical ability of the commerce platform to offer additional services to merchant system(s) 120 , reduce merchant effort in seeking the additional services, and improve the accuracy of the predictions that form the basis upon which such services are offered. That is, commerce platform 110 uses its unique position within the modern network based transaction processing environment, as well as its functions performed within that environment, to generate a new approach and improved solution to additional service offerings.
- the additional services may include the extension of a loan or credit to a merchant system.
- the credit or loan may be offered to the merchant system for use in growing, maintaining, or otherwise to benefit the ongoing operations of the business of the merchant system.
- the techniques discussed herein are not limited to loan and credit offerings, as any service that can be extended to a merchant system from the commerce platform system(s) 110 based on revenue forecasting may use and benefit from the improvements discussed herein.
- transaction system 112 processes user system-merchant system transactions on behalf of merchant system(s) 120 . Such transactions can include product purchases, service performance, subscriptions, etc. Transaction system 112 , for each transaction, may therefore collect payment information, process payments with third parties (e.g., credit systems, banking systems, etc.), generate transaction completion information, credit merchant accounts, perform payouts (e.g., to agents of a merchant), as well as other processes associated with transaction and payment processing. Furthermore, transaction system 112 stores merchant data associated with each of these operations for each transaction within a data store of the commerce platform system(s) 110 so that a complete picture of a merchant’s activities using the commerce platform system(s) 110 is available.
- third parties e.g., credit systems, banking systems, etc.
- payouts e.g., to agents of a merchant
- forecast manager 116 accesses the transaction data generated by the transaction system 112 when determining whether to offer additional services to a merchant system.
- forecast manager 116 leverages the transaction data generated by the transaction system 112 to forecast a predicted revenue for one or more merchants upon which additional service offers may be based. That is, the modern network based transaction environment of the commerce platform system(s) 110 generates transaction data which may be used by forecast manager 116 to forecast future revenue of a merchant system. This revenue forecast may then be used by the commerce platform system(s) 110 to determine whether and under what conditions an additional service may be offered to a merchant system.
- the additional services may be a loan or credit services, but such services are not limited to these.
- an amount of the offer extended to a merchant system is critical. That is, an offer that is too low will not provide a merchant the full offer they are entitled to, which may hinder the merchant’s ongoing business, growth of their business, etc. An offer that is too high exposes the commerce platform system to increased and/or unacceptable levels of risk. Additional service offering factors, such as repayment time, fees, interest rates, etc. also impact the suitability of an offered service.
- the improved forecasting discussed herein ensures that the forecasted revenue of a merchant system does not result in an offer that is not too low, ensures that the commerce platform system(s) 110 risk is not unduly high by not generating forecasts that would lead to offers that are too high, and ensures additional offer factors accurately reflect a merchant’s position with the commerce platform.
- forecast manager 116 utilizes the transaction data generated by transaction system 112 to predict merchant revenue for a period of time (e.g., 1 month, 6 months, 1 year, etc.). That is, forecast manager 116 accesses the transaction records for each merchant system to determine historic transaction processing volume and transaction totals for each merchant system over a period of time, such as over a prior year or other tenure of a merchant system’s usage of the transaction system 112 . Then, utilizing a revenue modeling approach selected from a set of forecasting models, where the selection is determined based on merchant revenue conditions, each merchant’s historic revenue data is used to forecast that merchant’s future revenue.
- a period of time e.g., 1 month, 6 months, 1 year, etc.
- the efforts imposed on merchants with such an approach is minimized and/or reduced entirely, as the commerce platform system(s) 110 may predict revenue and generate service offers directly from the transaction data, thereby eliminating the need of a merchant to provide service application information as required by traditional approaches.
- the accuracy of the revenue forecasting is greatly improved due to the use of actual merchant revenue information (e.g., stored within the transaction records generated by transaction system 112 during actual merchant-user system transactions), as well as due to the use of a multi-model approach where different models are selected based on factors of a merchants processing tenure and processing volume with the commerce platform system 110 .
- the forecast manager 116 is able to leverage the unique position of the commerce platform system(s) 110 to improve the revenue forecasting (i.e., data basis) upon which service offers may be generated and extended to merchant system(s) 120 .
- the technical environment of the commerce platform system(s) 110 the data generated within the environment during merchant-user system transactions, and the specific approach to revenue forecast generation allow for a new technical solution to revenue forecasting and service offering that arises out of the modern distributed transaction processing environment.
- FIG. 2 is a block diagram of one embodiment of a forecast manager 220 of a commerce platform system 200 .
- Commerce platform system 200 and forecast manager 220 provides additional details for the commerce platform system(s) 110 and forecast manager 116 discussed above in FIG. 1 .
- commerce platform 200 includes a transaction processing system 210 .
- the transaction processing system 210 is responsible for receiving and processing transactions originating from merchant system(s) (not shown) and user system(s) (not shown) over a communications network (e.g., network 102 ).
- the transactions may be financial transactions performed by transaction processing system 210 including, but not limited to, purchases, refunds, credit requests, loan requests, subscriptions, etc.
- Transaction processing system 210 maintains a transaction data store 212 with transaction records for each merchant that uses the services of the commerce platform system 210 .
- the data store 212 may include a transaction record for each transaction processed by transaction processing system 210 .
- each transaction record may include various data, including amount, identifiers for parties to the transaction, whether a transaction was performed by a merchant’s agent, a payment method, a card type, a card brand, information entered for payment processing (e.g., shipping address, billing address, zip code of payment method/card, transaction total, tax information, etc.), as well as any other relevant transaction information.
- transaction data store 212 provides an accurate and historic record of transaction processing volume (e.g., amount totals of all transactions over a period of time, such as hourly, daily, weekly, quarterly, yearly, etc.) and transaction processing tenure (e.g., how long a particular merchant has used the services of the commerce platform system 200 ). Both of these factors, processing volume and merchant tenure, are used by forecast manager 220 when forecasting merchant revenue, and thus providing for service offerings.
- transaction processing volume e.g., amount totals of all transactions over a period of time, such as hourly, daily, weekly, quarterly, yearly, etc.
- transaction processing tenure e.g., how long a particular merchant has used the services of the commerce platform system 200 .
- revenue processor 230 of the forecast manager 220 is responsible for accessing transaction data from data store 212 via the transactions interface 224 , and generating revenue totals for each merchant of the commerce platform system 200 .
- transaction data store 212 stores millions or billions of transactions for a plurality of merchants over a relevant time period, such as a prior month, a prior quarter, a prior calendar year, etc.
- revenue processor 230 utilizes a distributed computing approach where revenue totaling is processed in parallel by tasks, such that the tasks can be distributed to multiple physical processing resources. More specifically, revenue processor 230 spawns tasks, such as SPARKTM jobs, where each task or multiple tasks generate revenue totals for merchants. By distributing the processing using the task-based approach, the revenue totaling may be efficiently performed in parallel for multiple merchants on a periodic basis, such as hourly, daily, weekly, etc. basis using distributed processing resources.
- the distributed jobs spawned by the revenue processor 230 are responsible for generating, in embodiments, periodic revenue totals for each merchant over a longer period of time. For example, and to illustrate the techniques discussed herein, weekly revenue totals over a prior calendar year are generated for each merchant and stored as data tables in revenue totals store 258 . For merchants that have not used the commerce platform system 200 for a calendar year or longer, their weekly revenue totals are generated for the length of their tenure from a present time to a time of the merchant’s first transaction. Furthermore, in embodiments, and to realize additional processing efficiencies, the distributed jobs perform updating of the merchant revenue data tables in revenue totals store 258 , rather than complete re-computation.
- additional information is generated by the jobs for each merchant, including total processing volume of each merchant over the last 3 months, total processing volume of each merchant over the last 12 months for each, average weekly processing volume over last 12 months (or weekly totals of processing volume starting from a first transaction for a merchant with less than a year-long transaction history), tenure length of a merchant, as well as other information.
- Revenue forecasting engine 226 which may also be implemented using the distributed job-based computing technique, is responsible for accessing the revenue totals data store 258 and generating revenue forecasts for each merchant of the commerce platform system 200 .
- a set of forecasting models 230 are used by revenue forecasting engine 226 , and a selection of which forecasting model to use for a particular merchant is based on the data generated by the revenue processor 230 .
- FIG. 3 is a block diagram of one embodiment of a revenue forecasting engine 326 and the forecasting model(s) 330 - 1 through 330 - 3 , which provide additional details for the engine 226 and models 230 of FIG. 2 .
- revenue forecasting engine 326 includes several processes that may be implemented as hardware, software, or a combination, including a revenue totals interface 340 , model selector 342 , a plurality of different forecasters implementing different forecasting models (e.g., forecasters 330 - 1 through 330 - 3 ), forecasts 350 , and a forecast(s) monitor 352 .
- Each of these processes may be implemented as distributed jobs (or sets of jobs) so that multiple instance of each process may operate in parallel at the same or different physical resources when processing revenue forecasting for the merchants associated with commerce platform system 200 .
- revenue forecasting engine 326 uses revenue totals interface 340 to access the data within revenue totals data store 258 and generated weekly revenue forecasts for each merchant. More specifically, the historic weekly totals, periodic processing volume totals, and tenure information, are accessed for each merchant and used for forecasting future weekly/periodic totals. In embodiments, the historic information is used for model selection as well as input data for the selected model, as discussed below.
- Model selector 342 is responsible for using the processing volume totals and tenure information to select among a set for forecasting models (e.g., models 230 ).
- a combination of tenure and processing volume is used to select an appropriate revenue forecasting model appropriate to the tenure/processing volume combination.
- only processing volume is considered when selecting between different models. That is, in embodiments, different revenue forecasting models' accuracy in revenue prediction are impacted by the total amount processed (e.g., processing volume) for a given merchant and/or the amount of input data available (e.g., tenure).
- the set of forecasting models includes an exponential smoothing model forecaster 330 - 1 , a heuristic model forecaster 330 - 2 , and machine learning trend and seasonality model forecaster 330 - 3 , and selection by model selector 342 utilizes the decision factors in either Table 1 or Table 2.
- the tenure length is not relevant to model selection, whereas processing volume (e.g., based on a predetermined dollar amount, such as $100 k, $250 k, etc. per year) is determinative as to whether revenue forecasting will utilize a heuristic or ML based approach to revenue forecasting.
- processing volume e.g., based on a predetermined dollar amount, such as $100 k, $250 k, etc. per year
- an exponential smoothing based approach is introduced for short tenure merchants, such as those with less than a 52-week history with the commerce platform (e.g., when a first merchant transaction is processed less than one year from a current date).
- the selected model based on the combination of processing volume and optionally tenure length ensures that the model-based forecasting applied to a particular merchant and that merchant’s transaction history provides the most accurate forecast.
- the heuristic modeling provides a more accurate prediction than the ML based modeling, whereas the ML based modeling provides more accurate weekly forecasting for high volume merchants.
- the merchant’s tenure may be used to further select exponential smoothing when they are a short tenure merchant, as exponential smoothing is more accurate than either the heuristic modeling or ML modeling for merchants with less available historical data.
- model selector uses the determined tenure and processing volume to select between the various forecasters (e.g., exponential smoothing (ES) forecaster 330 - 1 , heuristic model forecaster 330 - 2 , and machine learning (ML) trend and seasonality model forecaster 330 - 2 ).
- various forecasters e.g., exponential smoothing (ES) forecaster 330 - 1 , heuristic model forecaster 330 - 2 , and machine learning (ML) trend and seasonality model forecaster 330 - 2 .
- model selector 342 selects ES model forecaster 330 - 1 that forecasts weekly revenue totals using an exponential smoothing based model using the merchant’s available weekly revenue totals.
- the exponential smoothing model forecaster 330 - 1 is a time series forecasting method that smoothes time series data using an exponential window function. Exponential smoothing can be represented as:
- F T is the forecasted periodic revenue total at time T (e.g., an hourly, daily, weekly, monthly, or other time incremental revenue total)
- Y T-1 is the actual revenue total at time T-1
- ⁇ is a smoothing level.
- smoothing factor ⁇ typically has a value of 0 ⁇ ⁇ ⁇ 1.
- the smoothing factor can be set to 0.1 allowing the applied exponential smoothing forecasts (e.g., forecasted weekly revenue totals) to be a weighted average of the time series of the merchant’s periodic revenue totals, with higher weights allocated to the more recent periodic revenue totals
- model selector 342 selects heuristic model forecaster 330 - 2 to generate a constant value for a merchant’s predicted future weekly revenue from their historical weekly revenue totals.
- the forecast is X% of the merchant’s average weekly volume over a past 52 weeks, where X is set based on the merchant’s annualized 3-month to 12-month volume ratio, for example, (4*3-month processing volume)/12-month processing volume). Furthermore, X may be further adjusted based on the value of the ratio.
- the average weekly volume in response to an annualized ratio below 0.75, is adjusted by a constant factor of 0.90 (e.g., 0.90*average weekly volume over a 12 month period).
- a constant factor of 0.90 e.g. 0.90*average weekly volume over a 12 month period.
- an annualized ratio between 0.75 and 1.00 is adjusted by a factor of 1.00
- an annualized ratio above 1.00 is adjusted by a factor of 1.15.
- the heuristic model forecaster 330 - 2 generates linear trend forecasts with a constant modifier based on the annualized ratio of 3-month to 12-month processing volume.
- model selector 342 selects ML trend and seasonality model forecaster 330 - 3 to generate a time series forecasted weekly totals.
- the PROPHETTM forecasting tool may be utilized, with the historic revenue totals as input to the PROPHETTM forecasting tool.
- model hyperparamters may be selected for weekly revenue forecasts, such as linear growth, yearly seasonality and/or monthly seasonality for day-of-year and/or day-of-month seasonality adjustments, multiplicative seasonality such that merchant’s revenue increase by y% yearly, and changepoint of prior scale to adjust flexibility of trend changes.
- a cap and floor may be set by forecaster 330 - 3 , such that predicated revenue cannot fall below a merchant’s weekly average (e.g., cannot fall below 25%, 30%, etc. of a merchant’s weekly average), and cannot exceed an adjusted annualized 3-month to 12-month volume ratio, such as when the ratio is below 1.00, the cap ensures the prediction cannot exceed 1.35*average weekly volume over 12 months. Similarly, when the ratio is between 1.00 and 1.25, the cap ensures the prediction cannot exceed 1.65*average weekly volume over 12 months. Further, when the ratio is between 1.25 and 1.50, the cap ensures the prediction cannot exceed 2.05*average weekly volume over 12 months. Additionally, when the ratio is above 1.50, the cap ensures the prediction cannot exceed 2.50*average weekly volume over 12 months.
- model selector 342 selects a forecaster (e.g., 330 - 1 through 330 - 3 ) based on processing volume and optionally tenure length, where the model forecasts future weekly merchant revenue totals, for example the next 32, 45, 52, etc. weeks processing volumes, based on that merchant’s past actual weekly revenue totals.
- the weekly revenue forecasts, per merchant are then output by the selected forecaster to forecasts 350 .
- forecasts may be stored in store 258 along with merchant weekly revenue totals, but may also be a different data store (not illustrated).
- revenue forecasting engine 326 further includes forecast(s) monitor 352 that detects when models are predicting weekly revenue outside expected boundaries.
- a ceiling is set on weekly predictions to ensure model prediction stability and avoid outlier predictions.
- a maximum rate of change is set, and predictions outside of the rate of change are identified, and model notifications generated to users of the commerce platform system. Such notifications may include the merchant, the weekly totals with which forecasting was made, and the forecasted values, any adjustments made to predictions, etc., to enable model adjustments as needed.
- revenue forecasting engine 326 employs a set of forecasting techniques, which are selected based on actual historic merchant transaction parameters (e.g., processing volume and tenure). The forecasting may therefore adapt to specific merchants, and without requiring input from the merchants. Furthermore, each forecasting technique is used based on the accuracy that it provides for the merchant having the merchant parameters to ensure that the most accurate prediction is made for each merchant given the merchant’s unique scenario.
- offer manager 228 is responsible for accessing the weekly revenue forecasts of a merchant when deciding on the parameters of a service offered to a merchant (e.g., extension of a credit limit, determining a loan amount, determining a loan repayment term, etc.).
- the offer manager 228 may proactively generate such offers for commerce platform services on a periodic basis, in response to detecting merchants meeting offer criteria, or in response to merchant requests.
- commerce platform system 200 is able to leverage its unique position and environment as a modern transaction processing system when making revenue forecasts upon which services may be offered to merchant users of the commerce platform system 200 .
- the revenue forecasts are made directly from the commerce platform system’s 200 transaction data, which results in low/zero effort on behalf of merchants for making predictions, increased accuracy as no third parties are relied upon to supply information, and leverages the unique position of the commerce platform as a payment processing entity within a networked and distributed computing environment.
- the techniques herein are able to handle the volume of transaction data generated by the commerce platform system to efficiently make daily, weekly, or other periodic revenue forecasts and/or service offerings.
- FIG. 4 is a flow diagram of one embodiment of a method 400 for performing revenue forecasting leveraging the transaction processing capabilities of a commerce platforms system.
- the method 400 is performed by processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), firmware, or a combination.
- the method 400 is performed by a commerce platform system (e.g., commerce platform system 110 or commerce platform system 200 ).
- each of the processing logic operations discussed below may be implemented as a job (or set of jobs) in a distributed computing system, such that multiple instances of each process operation may be executed simultaneously to efficiently perform the forecasting discussed herein at scale.
- processing logic begins by accessing a plurality of transactions associated with a merchant system processed by a commerce platform system over a period of time (processing block 402 ).
- the transactions are comprised in transaction records associated with a merchant and include data indicative of type of transaction, transaction amount, transaction time, card information, etc.
- processing logic may access transactions for each merchant on a per-merchant basis.
- Processing logic generates weekly revenue transaction processing totals for the merchant (processing block 404 ). From the weekly transaction totals, processing logic generates a history of processing volume for each merchant (processing block 406 ), including average weekly processing volume, weekly totals, as well as other processing totals (e.g., 3-month, 12-month, and other processing volume totals). Furthermore, processing logic also determines, from the weekly totals, a tenure of the merchant with the commerce platform (processing block 408 ). The tenure is indicative of how long the merchant has been conducting transactions with the commerce platform, such as more than a year, within the previous calendar year, etc.
- Processing logic selects a revenue forecasting model from among a plurality of revenue forecasting models based at least in part on the tenure and the processing volume of the merchant (processing block 410 ).
- different revenue forecasting models are identified as providing maximum levels of accuracy based on processing volume amount (e.g., ⁇ $100 k/yr, or ⁇ $100 k/yr) as well as based on the history of available data (e.g., tenure ⁇ 1 year, or tenure ⁇ 1 year).
- the models include exponential smoothing, heuristic/linear trend, and ML based time forecasting that accounts for seasonality (e.g., PROPHETTM modeling).
- Processing logic then applies the selected revenue forecasting model using the weekly revenue transaction processing totals as input to the selected revenue forecasting model to generate a revenue forecast for the merchant (processing block 412 ).
- model parameters may be adjusted based on, for example, annualized revenue totals, constant multipliers, caps and floors, etc., as discussed in greater detail above.
- processing logic in response to a determination that a revenue forecast exceeds a threshold, transmits a model alert message with monitored model conditions (processing block 414 ).
- Model alerts may be used when monitoring any of the models discussed herein.
- the caps and floors above may serve as alert thresholds, as well additional factors such as rate of change indicators may form additional alerting thresholds.
- the alert message may include conditions associated with the forecast that caused the alert, such as weekly totals, 3-month processing volume, 12-month processing volume, etc. Such factors may be provided to a user of a commerce platform for model analysis and potential adjustment.
- processing logic When alerting conditions are satisfied, which is indicative of a model prediction outside an expected or acceptable range, processing logic optionally implements a feedback loop where processing logic receives adjusted model parameters for at least one model (processing block 420 ), such as from an analysist that received the alert message of processing block 414 . Processing logic then tunes the model using the received adjusted parameters (processing block 422 ). Thus, a model that is not performing as expected may be adjusted to improve its ongoing accurcy. Furthermore, an analyst is provided with data associated with a model prediction outside the norms to ensure that external condition associated with a merchant can be eliminated as a cause of the concerning forecast. In this optional tuning loop, the process would return to processing block 410 to regenerate forecasts.
- Processing logic then generates an offer for a commerce platform service based on the generated revenue forecast for the merchant (processing block 416 ).
- the service offer may be a type of service that utilizes revenue forecasts as an input to the offer, such as credit offers, loan offers, etc.
- the offer is then transmitted to the merchant system, for example, as an electronic message, as a graphical user interface within a web page, etc.
- FIG. 5 is one embodiment of a computer system that may be used to support the systems and operations discussed herein.
- the computer system illustrated in FIG. 5 may be used by a commerce platform system, a merchant system, a user system, etc. It will be apparent to those of ordinary skill in the art, however that other alternative systems of various system architectures may also be used.
- the data processing system illustrated in FIG. 5 includes a bus or other internal communication means 515 for communicating information, and a processor 510 coupled to the bus 515 for processing information.
- the system further comprises a random access memory (RAM) or other volatile storage device 550 (referred to as memory), coupled to bus 515 for storing information and instructions to be executed by processor 510 .
- Main memory 550 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 510 .
- the system also comprises a read only memory (ROM) and/or static storage device 520 coupled to bus 515 for storing static information and instructions for processor 510 , and a data storage device 525 such as a magnetic disk or optical disk and its corresponding disk drive.
- Data storage device 525 is coupled to bus 515 for storing information and instructions.
- the system may further be coupled to a display device 570 , such as a light emitting diode (LED) display or a liquid crystal display (LCD) coupled to bus 515 through bus 565 for displaying information to a computer user.
- a display device 570 such as a light emitting diode (LED) display or a liquid crystal display (LCD) coupled to bus 515 through bus 565 for displaying information to a computer user.
- An alphanumeric input device 575 may also be coupled to bus 515 through bus 565 for communicating information and command selections to processor 510 .
- cursor control device 580 such as a touchpad, mouse, a trackball, stylus, or cursor direction keys coupled to bus 515 through bus 565 for communicating direction information and command selections to processor 510 , and for controlling cursor movement on display device 570 .
- the communication device 590 may include any of a number of commercially available networking peripheral devices such as those used for coupling to an Ethernet, token ring, Internet, or wide area network.
- the communication device 590 may further be a null-modem connection, or any other mechanism that provides connectivity between the computer system 500 and the outside world. Note that any or all of the components of this system illustrated in FIG. 5 and associated hardware may be used in various embodiments as discussed herein.
- control logic or software implementing the described embodiments can be stored in main memory 550 , mass storage device 525 , or other storage medium locally or remotely accessible to processor 510 .
- the embodiments discussed herein may also be embodied in a handheld or portable device containing a subset of the computer hardware components described above.
- the handheld device may be configured to contain only the bus 515 , the processor 510 , and memory 550 and/or 525 .
- the handheld device may also be configured to include a set of buttons or input signaling components with which a user may select from a set of available options.
- the handheld device may also be configured to include an output apparatus such as a liquid crystal display (LCD) or display element matrix for displaying information to a user of the handheld device. Conventional methods may be used to implement such a handheld device.
- LCD liquid crystal display
- Conventional methods may be used to implement such a handheld device.
- the implementation of embodiments for such a device would be apparent to one of ordinary skill in the art given the disclosure as provided herein.
- the embodiments discussed herein may also be embodied in a special purpose appliance including a subset of the computer hardware components described above.
- the appliance may include a processor 510 , a data storage device 525 , a bus 515 , and memory 550 , and only rudimentary communications mechanisms, such as a small touch-screen that permits the user to communicate in a basic manner with the device.
- a processor 510 the more special-purpose the device is, the fewer of the elements need be present for the device to function.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- Merchants, such as grocers, car services, online marketplaces, etc., provide their products and services to consumers. Such merchants may employ agents to deliver their products and/or provide the actual services to the merchant’s customers, provide digital goods directly to their customers, or ship physical goods to consumers. For example, a person acting on the merchant’s behalf will drive a consumer in their own car, deliver food ordered through a merchant website, pick up and/or drop off clothes dry cleaned by the merchant, etc. As another example, merchants may provide a website, online marketplace, etc., to sell digital products, such as music, documents, art, unique tokens, etc., to consumers. Consumers therefore often engage, purchase, rent, etc. services and/or products of the merchant or the merchant’s agent via a merchant interface, such as a merchant web page, application, or other interface.
- These merchants, although providing systems for supplying products and/or services to consumers via their interface, often do not perform the financial processing associated with the transactions. Instead, merchants utilize commerce systems to process financial transactions for the products and/or services provided to consumers. Commerce systems may provide their transaction processing services to the merchant by way of software applications, web pages, application programming interfaces (APIs), etc. The merchant system integrates the commerce system software, APIs, web pages, etc. into the merchant interfaces to handle the processing of consumer transactions. Once integrated, the commerce system, on behalf of the merchant system, can perform processing of payments for goods or services including collecting credit card information, running credit cards, crediting a merchant account for the transaction, crediting agents responsible for the transaction, debiting a commerce system fee for processing the transaction on behalf of the merchant, interacting with authorization network systems (e.g., bank systems, credit card issuing systems, etc.), providing payouts for products/services rendered on behalf of the merchant, as well as other.
- Commerce systems may further provide additional services to merchants, such as extending credit, offering loans, etc. Traditionally, such services are offered in response to an application completed by a merchant, where the merchant provides information regarding their credit-worthiness, revenue, assets, as well as other relevant information. The commerce system would then utilize the merchant-supplied information to determine a credit limit, loan amount, or other service the commerce platform is willing to provide, for example based on factors such as predicted revenue of the merchant. However, such an approach to the credit/loan application and approval process is labor intensive on behalf of the merchant, and requires the commerce platform to presume that the merchant supplied information is both accurate and complete. Furthermore, for the commerce platform, which may work with a large number of merchants, handling credit and loan applications at scale is problematic. Thus, the modern technical environment of the commerce platform creates unique technical problems with respect to the commerce system offering its customers (e.g., merchants) services, such as loans, credit, etc.
- Thus, a technical solution that utilizes the modern technical environment of the commerce platform is desirable in order to minimize and/or eliminate merchant effort, handle service offerings at scale, and improves on the accuracy of the commerce platforms predictions from which service offerings are made.
- The present disclosure will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments, which, however, should not be taken to limit the embodiments described and illustrated herein, but are for explanation and understanding only.
-
FIG. 1 is a block diagram of an exemplary system architecture for a commerce platform system leveraging transaction processing resources when performing revenue forecasting. -
FIG. 2 is a block diagram of one embodiment of a forecast manager of a commerce platform system. -
FIG. 3 is a block diagram of one embodiment of a revenue forecasting engine of the forecast manager of a commerce platform system. -
FIG. 4 is a flow diagram of one embodiment of a method for performing revenue forecasting leveraging the transaction processing capabilities of a commerce platforms system. -
FIG. 5 is one embodiment of a computer system that may be used to support the systems and operations discussed herein. - In the following description, numerous details are set forth. It will be apparent, however, to one of ordinary skill in the art having the benefit of this disclosure, that the embodiments described herein may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the embodiments described herein.
- Some portions of the detailed description that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
- It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “accessing”, “generating”, “determining”, “selecting”, “applying”, “transmitting”, “receiving”, “tuning”, or the like, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system’s registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- The embodiments discussed herein may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
- The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the embodiments discussed herein are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings as described herein.
-
FIG. 1 is a block diagram of anexemplary system architecture 100 for a commerce platform system leveraging transaction processing resources when performing revenue forecasting. In one embodiment, thesystem 100 includes commerce platform system(s) 110, one or more merchant system(s) 120, and one or more user system(s) 130. In one embodiment, one or more systems (e.g.,system 120 and 130) may be mobile computing devices, such as a smartphone, tablet computer, smartwatch, etc., as well computer systems, such as a desktop computer system, laptop computer system, server computer systems, etc. The commerce platform system(s) 110 and merchant system(s) 120 may also be one or more computing devices, such as one or more server computer systems, desktop computer systems, etc. that utilize distributed computing architectures. - The commerce platform system(s) 110, merchant system(s) 120, and merchant user system(s) 130 may be coupled to a
network 102 and communicate with one another using any of the standard protocols for the exchange of information, including secure communication protocols. In one embodiment, one or more of the commerce platform system(s) 110, merchant system(s) 120, and user system(s) 130 may run on one Local Area Network (LAN) and may be incorporated into the same physical or logical system, or different physical or logical systems. Alternatively, the commerce platform system(s) 110, merchant system(s) 120, and merchant system(s) 130 may reside on different LANs, wide area networks, cellular telephone networks, etc. that may be coupled together via the Internet but separated by firewalls, routers, and/or other network devices. In one embodiment,commerce platform system 110 may reside on a single server, or be distributed among different servers, coupled to other devices via a public network (e.g., the Internet) or a private network (e.g., LAN). It should be noted that various other network configurations can be used including, for example, hosted configurations, distributed configurations, centralized configurations, etc. - In one embodiment,
commerce platform system 110 provides financial processing services to one or more merchants, such as to merchant system(s) 120 and/or user system(s) 130. For example, commerce platform system(s) 110 may manage merchant accounts held at the commerce platform, run financial transactions initiated at user system(s) 130 performed on behalf of amerchant system 120, clear transactions, performing payouts to merchants and/or merchants' agents, manage merchant and/or agent accounts held at the commerce platform system(s) 110, as well as other services typically associated with commerce platforms systems such as, for example, STRIPE™. For commerce platform systems that operate at scale, such assystem 110, the number of transactions on the magnitude of millions or billions of transactions are processed each hour, day, month, etc. by thetransaction system 112. Each of these transactions is processed by thetransaction system 112 of commerce platform system(s) 110, and data associated with the transaction is stored in a data store of the commerce platform system (e.g.,transaction data store 212 discussed below). - Commerce platform system(s) 110, in embodiments leverages the transaction data generated for each merchant to improve the technical ability of the commerce platform to offer additional services to merchant system(s) 120, reduce merchant effort in seeking the additional services, and improve the accuracy of the predictions that form the basis upon which such services are offered. That is,
commerce platform 110 uses its unique position within the modern network based transaction processing environment, as well as its functions performed within that environment, to generate a new approach and improved solution to additional service offerings. In an embodiment, the additional services may include the extension of a loan or credit to a merchant system. For example, the credit or loan may be offered to the merchant system for use in growing, maintaining, or otherwise to benefit the ongoing operations of the business of the merchant system. However, the techniques discussed herein are not limited to loan and credit offerings, as any service that can be extended to a merchant system from the commerce platform system(s) 110 based on revenue forecasting may use and benefit from the improvements discussed herein. - As discussed herein,
transaction system 112 processes user system-merchant system transactions on behalf of merchant system(s) 120. Such transactions can include product purchases, service performance, subscriptions, etc.Transaction system 112, for each transaction, may therefore collect payment information, process payments with third parties (e.g., credit systems, banking systems, etc.), generate transaction completion information, credit merchant accounts, perform payouts (e.g., to agents of a merchant), as well as other processes associated with transaction and payment processing. Furthermore,transaction system 112 stores merchant data associated with each of these operations for each transaction within a data store of the commerce platform system(s) 110 so that a complete picture of a merchant’s activities using the commerce platform system(s) 110 is available. - In embodiments,
forecast manager 116 accesses the transaction data generated by thetransaction system 112 when determining whether to offer additional services to a merchant system. As will be discussed in greater detail herein,forecast manager 116 leverages the transaction data generated by thetransaction system 112 to forecast a predicted revenue for one or more merchants upon which additional service offers may be based. That is, the modern network based transaction environment of the commerce platform system(s) 110 generates transaction data which may be used byforecast manager 116 to forecast future revenue of a merchant system. This revenue forecast may then be used by the commerce platform system(s) 110 to determine whether and under what conditions an additional service may be offered to a merchant system. As discussed herein, for example, the additional services may be a loan or credit services, but such services are not limited to these. For credit and/or loan services, an amount of the offer extended to a merchant system is critical. That is, an offer that is too low will not provide a merchant the full offer they are entitled to, which may hinder the merchant’s ongoing business, growth of their business, etc. An offer that is too high exposes the commerce platform system to increased and/or unacceptable levels of risk. Additional service offering factors, such as repayment time, fees, interest rates, etc. also impact the suitability of an offered service. Thus, the improved forecasting discussed herein ensures that the forecasted revenue of a merchant system does not result in an offer that is not too low, ensures that the commerce platform system(s) 110 risk is not unduly high by not generating forecasts that would lead to offers that are too high, and ensures additional offer factors accurately reflect a merchant’s position with the commerce platform. - In embodiments, to obtain this improved revenue forecast upon which additional services may be offered to merchant system(s) 120,
forecast manager 116 utilizes the transaction data generated bytransaction system 112 to predict merchant revenue for a period of time (e.g., 1 month, 6 months, 1 year, etc.). That is,forecast manager 116 accesses the transaction records for each merchant system to determine historic transaction processing volume and transaction totals for each merchant system over a period of time, such as over a prior year or other tenure of a merchant system’s usage of thetransaction system 112. Then, utilizing a revenue modeling approach selected from a set of forecasting models, where the selection is determined based on merchant revenue conditions, each merchant’s historic revenue data is used to forecast that merchant’s future revenue. As discussed herein, the efforts imposed on merchants with such an approach is minimized and/or reduced entirely, as the commerce platform system(s) 110 may predict revenue and generate service offers directly from the transaction data, thereby eliminating the need of a merchant to provide service application information as required by traditional approaches. Furthermore, the accuracy of the revenue forecasting is greatly improved due to the use of actual merchant revenue information (e.g., stored within the transaction records generated bytransaction system 112 during actual merchant-user system transactions), as well as due to the use of a multi-model approach where different models are selected based on factors of a merchants processing tenure and processing volume with thecommerce platform system 110. - Therefore, the
forecast manager 116 is able to leverage the unique position of the commerce platform system(s) 110 to improve the revenue forecasting (i.e., data basis) upon which service offers may be generated and extended to merchant system(s) 120. In other words, the technical environment of the commerce platform system(s) 110, the data generated within the environment during merchant-user system transactions, and the specific approach to revenue forecast generation allow for a new technical solution to revenue forecasting and service offering that arises out of the modern distributed transaction processing environment. -
FIG. 2 is a block diagram of one embodiment of aforecast manager 220 of acommerce platform system 200.Commerce platform system 200 andforecast manager 220 provides additional details for the commerce platform system(s) 110 andforecast manager 116 discussed above inFIG. 1 . - In one embodiment,
commerce platform 200 includes a transaction processing system 210. In embodiments, the transaction processing system 210 is responsible for receiving and processing transactions originating from merchant system(s) (not shown) and user system(s) (not shown) over a communications network (e.g., network 102). For example, the transactions may be financial transactions performed by transaction processing system 210 including, but not limited to, purchases, refunds, credit requests, loan requests, subscriptions, etc. - Transaction processing system 210 maintains a
transaction data store 212 with transaction records for each merchant that uses the services of the commerce platform system 210. Thedata store 212 may include a transaction record for each transaction processed by transaction processing system 210. Furthermore, as discussed above, each transaction record may include various data, including amount, identifiers for parties to the transaction, whether a transaction was performed by a merchant’s agent, a payment method, a card type, a card brand, information entered for payment processing (e.g., shipping address, billing address, zip code of payment method/card, transaction total, tax information, etc.), as well as any other relevant transaction information. As a result,transaction data store 212 provides an accurate and historic record of transaction processing volume (e.g., amount totals of all transactions over a period of time, such as hourly, daily, weekly, quarterly, yearly, etc.) and transaction processing tenure (e.g., how long a particular merchant has used the services of the commerce platform system 200). Both of these factors, processing volume and merchant tenure, are used byforecast manager 220 when forecasting merchant revenue, and thus providing for service offerings. - In embodiments,
revenue processor 230 of theforecast manager 220 is responsible for accessing transaction data fromdata store 212 via thetransactions interface 224, and generating revenue totals for each merchant of thecommerce platform system 200. In embodiments,transaction data store 212 stores millions or billions of transactions for a plurality of merchants over a relevant time period, such as a prior month, a prior quarter, a prior calendar year, etc. Thus, inembodiments revenue processor 230 utilizes a distributed computing approach where revenue totaling is processed in parallel by tasks, such that the tasks can be distributed to multiple physical processing resources. More specifically,revenue processor 230 spawns tasks, such as SPARK™ jobs, where each task or multiple tasks generate revenue totals for merchants. By distributing the processing using the task-based approach, the revenue totaling may be efficiently performed in parallel for multiple merchants on a periodic basis, such as hourly, daily, weekly, etc. basis using distributed processing resources. - The distributed jobs spawned by the
revenue processor 230 are responsible for generating, in embodiments, periodic revenue totals for each merchant over a longer period of time. For example, and to illustrate the techniques discussed herein, weekly revenue totals over a prior calendar year are generated for each merchant and stored as data tables inrevenue totals store 258. For merchants that have not used thecommerce platform system 200 for a calendar year or longer, their weekly revenue totals are generated for the length of their tenure from a present time to a time of the merchant’s first transaction. Furthermore, in embodiments, and to realize additional processing efficiencies, the distributed jobs perform updating of the merchant revenue data tables inrevenue totals store 258, rather than complete re-computation. Furthermore, from these data tables, additional information is generated by the jobs for each merchant, including total processing volume of each merchant over the last 3 months, total processing volume of each merchant over the last 12 months for each, average weekly processing volume over last 12 months (or weekly totals of processing volume starting from a first transaction for a merchant with less than a year-long transaction history), tenure length of a merchant, as well as other information. -
Revenue forecasting engine 226, which may also be implemented using the distributed job-based computing technique, is responsible for accessing the revenue totalsdata store 258 and generating revenue forecasts for each merchant of thecommerce platform system 200. In an embodiment, a set of forecastingmodels 230 are used byrevenue forecasting engine 226, and a selection of which forecasting model to use for a particular merchant is based on the data generated by therevenue processor 230. -
FIG. 3 is a block diagram of one embodiment of arevenue forecasting engine 326 and the forecasting model(s) 330-1 through 330-3, which provide additional details for theengine 226 andmodels 230 ofFIG. 2 . In embodiments,revenue forecasting engine 326 includes several processes that may be implemented as hardware, software, or a combination, including a revenue totalsinterface 340,model selector 342, a plurality of different forecasters implementing different forecasting models (e.g., forecasters 330-1 through 330-3), forecasts 350, and a forecast(s) monitor 352. Each of these processes may be implemented as distributed jobs (or sets of jobs) so that multiple instance of each process may operate in parallel at the same or different physical resources when processing revenue forecasting for the merchants associated withcommerce platform system 200. - As illustrated in
FIG. 3 ,revenue forecasting engine 326 uses revenue totals interface 340 to access the data within revenuetotals data store 258 and generated weekly revenue forecasts for each merchant. More specifically, the historic weekly totals, periodic processing volume totals, and tenure information, are accessed for each merchant and used for forecasting future weekly/periodic totals. In embodiments, the historic information is used for model selection as well as input data for the selected model, as discussed below. -
Model selector 342 is responsible for using the processing volume totals and tenure information to select among a set for forecasting models (e.g., models 230). In an embodiment, a combination of tenure and processing volume is used to select an appropriate revenue forecasting model appropriate to the tenure/processing volume combination. In another embodiment, only processing volume is considered when selecting between different models. That is, in embodiments, different revenue forecasting models' accuracy in revenue prediction are impacted by the total amount processed (e.g., processing volume) for a given merchant and/or the amount of input data available (e.g., tenure). The set of forecasting models, in embodiments, includes an exponential smoothing model forecaster 330-1, a heuristic model forecaster 330-2, and machine learning trend and seasonality model forecaster 330-3, and selection bymodel selector 342 utilizes the decision factors in either Table 1 or Table 2. -
TABLE 1 Short Tenure (<52 weeks) and Long Tenure (>= 52 weeks) Low Processing Volume (<$100 k/yr) Heuristic Modeling High Processing Volume (>=$100 k/yr) ML Modeling -
TABLE 2 Short Tenure Long Tenure Low Processing Volume Exponential Smoothing Modeling Heuristic Modeling High Processing Volume ML Modeling - As shown in Table 1 above, the tenure length is not relevant to model selection, whereas processing volume (e.g., based on a predetermined dollar amount, such as $100 k, $250 k, etc. per year) is determinative as to whether revenue forecasting will utilize a heuristic or ML based approach to revenue forecasting. Optionally, in Table 2, an exponential smoothing based approach is introduced for short tenure merchants, such as those with less than a 52-week history with the commerce platform (e.g., when a first merchant transaction is processed less than one year from a current date). In embodiments, the selected model based on the combination of processing volume and optionally tenure length ensures that the model-based forecasting applied to a particular merchant and that merchant’s transaction history provides the most accurate forecast. In one embodiment, and with reference to Table 1, for low volume merchants, the heuristic modeling provides a more accurate prediction than the ML based modeling, whereas the ML based modeling provides more accurate weekly forecasting for high volume merchants. In another embodiment, and with reference to Table 2, the merchant’s tenure may be used to further select exponential smoothing when they are a short tenure merchant, as exponential smoothing is more accurate than either the heuristic modeling or ML modeling for merchants with less available historical data.
- Based on the selection criteria of Tables 1 or 2, model selector uses the determined tenure and processing volume to select between the various forecasters (e.g., exponential smoothing (ES) forecaster 330-1, heuristic model forecaster 330-2, and machine learning (ML) trend and seasonality model forecaster 330-2).
- For short tenure merchants,
model selector 342 selects ES model forecaster 330-1 that forecasts weekly revenue totals using an exponential smoothing based model using the merchant’s available weekly revenue totals. The exponential smoothing model forecaster 330-1 is a time series forecasting method that smoothes time series data using an exponential window function. Exponential smoothing can be represented as: -
- In the above formula, FT is the forecasted periodic revenue total at time T (e.g., an hourly, daily, weekly, monthly, or other time incremental revenue total), YT-1 is the actual revenue total at time T-1, and α is a smoothing level. Furthermore, smoothing factor α typically has a value of 0 < α ≤ 1. In one embodiment, the smoothing factor can be set to 0.1 allowing the applied exponential smoothing forecasts (e.g., forecasted weekly revenue totals) to be a weighted average of the time series of the merchant’s periodic revenue totals, with higher weights allocated to the more recent periodic revenue totals
- For low processing volume merchants, that are either long tenure (e.g.., Table 2 selection) or regardless of tenure (e.g., Table 1 selection),
model selector 342 selects heuristic model forecaster 330-2 to generate a constant value for a merchant’s predicted future weekly revenue from their historical weekly revenue totals. In embodiments, the forecast is X% of the merchant’s average weekly volume over a past 52 weeks, where X is set based on the merchant’s annualized 3-month to 12-month volume ratio, for example, (4*3-month processing volume)/12-month processing volume). Furthermore, X may be further adjusted based on the value of the ratio. In an embodiment, in response to an annualized ratio below 0.75, the average weekly volume is adjusted by a constant factor of 0.90 (e.g., 0.90*average weekly volume over a 12 month period). Similarly, and in embodiments, an annualized ratio between 0.75 and 1.00 is adjusted by a factor of 1.00, and an annualized ratio above 1.00 is adjusted by a factor of 1.15. In other words, the heuristic model forecaster 330-2 generates linear trend forecasts with a constant modifier based on the annualized ratio of 3-month to 12-month processing volume. - For high processing volume merchants, that are either long tenure (e.g.., Table 2 selection) or regardless of tenure (e.g., Table 1 selection),
model selector 342 selects ML trend and seasonality model forecaster 330-3 to generate a time series forecasted weekly totals. In an embodiment, the PROPHET™ forecasting tool may be utilized, with the historic revenue totals as input to the PROPHET™ forecasting tool. Furthermore, model hyperparamters may be selected for weekly revenue forecasts, such as linear growth, yearly seasonality and/or monthly seasonality for day-of-year and/or day-of-month seasonality adjustments, multiplicative seasonality such that merchant’s revenue increase by y% yearly, and changepoint of prior scale to adjust flexibility of trend changes. Additionally, a cap and floor may be set by forecaster 330-3, such that predicated revenue cannot fall below a merchant’s weekly average (e.g., cannot fall below 25%, 30%, etc. of a merchant’s weekly average), and cannot exceed an adjusted annualized 3-month to 12-month volume ratio, such as when the ratio is below 1.00, the cap ensures the prediction cannot exceed 1.35*average weekly volume over 12 months. Similarly, when the ratio is between 1.00 and 1.25, the cap ensures the prediction cannot exceed 1.65*average weekly volume over 12 months. Further, when the ratio is between 1.25 and 1.50, the cap ensures the prediction cannot exceed 2.05*average weekly volume over 12 months. Additionally, when the ratio is above 1.50, the cap ensures the prediction cannot exceed 2.50*average weekly volume over 12 months. - As discussed above,
model selector 342 selects a forecaster (e.g., 330-1 through 330-3) based on processing volume and optionally tenure length, where the model forecasts future weekly merchant revenue totals, for example the next 32, 45, 52, etc. weeks processing volumes, based on that merchant’s past actual weekly revenue totals. The weekly revenue forecasts, per merchant, are then output by the selected forecaster toforecasts 350. In embodiments, forecasts may be stored instore 258 along with merchant weekly revenue totals, but may also be a different data store (not illustrated). - In embodiments,
revenue forecasting engine 326 further includes forecast(s) monitor 352 that detects when models are predicting weekly revenue outside expected boundaries. In an embodiment, a ceiling is set on weekly predictions to ensure model prediction stability and avoid outlier predictions. In an embodiment, a maximum rate of change is set, and predictions outside of the rate of change are identified, and model notifications generated to users of the commerce platform system. Such notifications may include the merchant, the weekly totals with which forecasting was made, and the forecasted values, any adjustments made to predictions, etc., to enable model adjustments as needed. - Thus, as discussed above,
revenue forecasting engine 326 employs a set of forecasting techniques, which are selected based on actual historic merchant transaction parameters (e.g., processing volume and tenure). The forecasting may therefore adapt to specific merchants, and without requiring input from the merchants. Furthermore, each forecasting technique is used based on the accuracy that it provides for the merchant having the merchant parameters to ensure that the most accurate prediction is made for each merchant given the merchant’s unique scenario. - Returning to
FIG. 2 ,offer manager 228 is responsible for accessing the weekly revenue forecasts of a merchant when deciding on the parameters of a service offered to a merchant (e.g., extension of a credit limit, determining a loan amount, determining a loan repayment term, etc.). Theoffer manager 228 may proactively generate such offers for commerce platform services on a periodic basis, in response to detecting merchants meeting offer criteria, or in response to merchant requests. - As discussed above,
commerce platform system 200 is able to leverage its unique position and environment as a modern transaction processing system when making revenue forecasts upon which services may be offered to merchant users of thecommerce platform system 200. The revenue forecasts are made directly from the commerce platform system’s 200 transaction data, which results in low/zero effort on behalf of merchants for making predictions, increased accuracy as no third parties are relied upon to supply information, and leverages the unique position of the commerce platform as a payment processing entity within a networked and distributed computing environment. Furthermore, by deploying the processed discussed above inFIGS. 2 and 3 , as well as below inFIG. 4 , as distributed computing solutions with each processing being a job or set of jobs, the techniques herein are able to handle the volume of transaction data generated by the commerce platform system to efficiently make daily, weekly, or other periodic revenue forecasts and/or service offerings. -
FIG. 4 is a flow diagram of one embodiment of amethod 400 for performing revenue forecasting leveraging the transaction processing capabilities of a commerce platforms system. Themethod 400 is performed by processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), firmware, or a combination. In one embodiment, themethod 400 is performed by a commerce platform system (e.g.,commerce platform system 110 or commerce platform system 200). Furthermore, each of the processing logic operations discussed below may be implemented as a job (or set of jobs) in a distributed computing system, such that multiple instances of each process operation may be executed simultaneously to efficiently perform the forecasting discussed herein at scale. - Referring to
FIG. 4 , processing logic begins by accessing a plurality of transactions associated with a merchant system processed by a commerce platform system over a period of time (processing block 402). As discussed herein, the transactions are comprised in transaction records associated with a merchant and include data indicative of type of transaction, transaction amount, transaction time, card information, etc. Furthermore, processing logic may access transactions for each merchant on a per-merchant basis. - Processing logic generates weekly revenue transaction processing totals for the merchant (processing block 404). From the weekly transaction totals, processing logic generates a history of processing volume for each merchant (processing block 406), including average weekly processing volume, weekly totals, as well as other processing totals (e.g., 3-month, 12-month, and other processing volume totals). Furthermore, processing logic also determines, from the weekly totals, a tenure of the merchant with the commerce platform (processing block 408). The tenure is indicative of how long the merchant has been conducting transactions with the commerce platform, such as more than a year, within the previous calendar year, etc.
- Processing logic then selects a revenue forecasting model from among a plurality of revenue forecasting models based at least in part on the tenure and the processing volume of the merchant (processing block 410). As discussed above, different revenue forecasting models are identified as providing maximum levels of accuracy based on processing volume amount (e.g., <$100 k/yr, or ≥ $100 k/yr) as well as based on the history of available data (e.g., tenure < 1 year, or tenure ≥ 1 year). The models include exponential smoothing, heuristic/linear trend, and ML based time forecasting that accounts for seasonality (e.g., PROPHET™ modeling).
- Processing logic then applies the selected revenue forecasting model using the weekly revenue transaction processing totals as input to the selected revenue forecasting model to generate a revenue forecast for the merchant (processing block 412). Furthermore, model parameters may be adjusted based on, for example, annualized revenue totals, constant multipliers, caps and floors, etc., as discussed in greater detail above.
- In some embodiments, processing logic, in response to a determination that a revenue forecast exceeds a threshold, transmits a model alert message with monitored model conditions (processing block 414). Model alerts may be used when monitoring any of the models discussed herein. Furthermore, in embodiments, the caps and floors above may serve as alert thresholds, as well additional factors such as rate of change indicators may form additional alerting thresholds. The alert message may include conditions associated with the forecast that caused the alert, such as weekly totals, 3-month processing volume, 12-month processing volume, etc. Such factors may be provided to a user of a commerce platform for model analysis and potential adjustment.
- When alerting conditions are satisfied, which is indicative of a model prediction outside an expected or acceptable range, processing logic optionally implements a feedback loop where processing logic receives adjusted model parameters for at least one model (processing block 420), such as from an analysist that received the alert message of
processing block 414. Processing logic then tunes the model using the received adjusted parameters (processing block 422). Thus, a model that is not performing as expected may be adjusted to improve its ongoing accurcy. Furthermore, an analyst is provided with data associated with a model prediction outside the norms to ensure that external condition associated with a merchant can be eliminated as a cause of the concerning forecast. In this optional tuning loop, the process would return to processing block 410 to regenerate forecasts. - Processing logic then generates an offer for a commerce platform service based on the generated revenue forecast for the merchant (processing block 416). As discussed herein, the service offer may be a type of service that utilizes revenue forecasts as an input to the offer, such as credit offers, loan offers, etc. The offer is then transmitted to the merchant system, for example, as an electronic message, as a graphical user interface within a web page, etc.
-
FIG. 5 is one embodiment of a computer system that may be used to support the systems and operations discussed herein. For example, the computer system illustrated inFIG. 5 may be used by a commerce platform system, a merchant system, a user system, etc. It will be apparent to those of ordinary skill in the art, however that other alternative systems of various system architectures may also be used. - The data processing system illustrated in
FIG. 5 includes a bus or other internal communication means 515 for communicating information, and aprocessor 510 coupled to thebus 515 for processing information. The system further comprises a random access memory (RAM) or other volatile storage device 550 (referred to as memory), coupled tobus 515 for storing information and instructions to be executed byprocessor 510.Main memory 550 also may be used for storing temporary variables or other intermediate information during execution of instructions byprocessor 510. The system also comprises a read only memory (ROM) and/orstatic storage device 520 coupled tobus 515 for storing static information and instructions forprocessor 510, and adata storage device 525 such as a magnetic disk or optical disk and its corresponding disk drive.Data storage device 525 is coupled tobus 515 for storing information and instructions. - The system may further be coupled to a
display device 570, such as a light emitting diode (LED) display or a liquid crystal display (LCD) coupled tobus 515 throughbus 565 for displaying information to a computer user. Analphanumeric input device 575, including alphanumeric and other keys, may also be coupled tobus 515 throughbus 565 for communicating information and command selections toprocessor 510. An additional user input device iscursor control device 580, such as a touchpad, mouse, a trackball, stylus, or cursor direction keys coupled tobus 515 throughbus 565 for communicating direction information and command selections toprocessor 510, and for controlling cursor movement ondisplay device 570. - Another device, which may optionally be coupled to
computer system 500, is acommunication device 590 for accessing other nodes of a distributed system via a network. Thecommunication device 590 may include any of a number of commercially available networking peripheral devices such as those used for coupling to an Ethernet, token ring, Internet, or wide area network. Thecommunication device 590 may further be a null-modem connection, or any other mechanism that provides connectivity between thecomputer system 500 and the outside world. Note that any or all of the components of this system illustrated inFIG. 5 and associated hardware may be used in various embodiments as discussed herein. - It will be appreciated by those of ordinary skill in the art that any configuration of the system may be used for various purposes according to the particular implementation. The control logic or software implementing the described embodiments can be stored in
main memory 550,mass storage device 525, or other storage medium locally or remotely accessible toprocessor 510. - It will be apparent to those of ordinary skill in the art that the system, method, and process described herein can be implemented as software stored in
main memory 550 or readonly memory 520 and executed byprocessor 510. This control logic or software may also be resident on an article of manufacture comprising a computer readable medium having computer readable program code embodied therein and being readable by themass storage device 525 and for causing theprocessor 510 to operate in accordance with the methods and teachings herein. - The embodiments discussed herein may also be embodied in a handheld or portable device containing a subset of the computer hardware components described above. For example, the handheld device may be configured to contain only the
bus 515, theprocessor 510, andmemory 550 and/or 525. The handheld device may also be configured to include a set of buttons or input signaling components with which a user may select from a set of available options. The handheld device may also be configured to include an output apparatus such as a liquid crystal display (LCD) or display element matrix for displaying information to a user of the handheld device. Conventional methods may be used to implement such a handheld device. The implementation of embodiments for such a device would be apparent to one of ordinary skill in the art given the disclosure as provided herein. - The embodiments discussed herein may also be embodied in a special purpose appliance including a subset of the computer hardware components described above. For example, the appliance may include a
processor 510, adata storage device 525, abus 515, andmemory 550, and only rudimentary communications mechanisms, such as a small touch-screen that permits the user to communicate in a basic manner with the device. In general, the more special-purpose the device is, the fewer of the elements need be present for the device to function. - It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
- The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles and practical applications of the various embodiments, to thereby enable others skilled in the art to best utilize the various embodiments with various modifications as may be suited to the particular use contemplated.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/494,453 US20230106398A1 (en) | 2021-10-05 | 2021-10-05 | Systems and methods for a transaction processing system offering a service to a user system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/494,453 US20230106398A1 (en) | 2021-10-05 | 2021-10-05 | Systems and methods for a transaction processing system offering a service to a user system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230106398A1 true US20230106398A1 (en) | 2023-04-06 |
Family
ID=85774683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/494,453 Abandoned US20230106398A1 (en) | 2021-10-05 | 2021-10-05 | Systems and methods for a transaction processing system offering a service to a user system |
Country Status (1)
Country | Link |
---|---|
US (1) | US20230106398A1 (en) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132520A1 (en) * | 2015-11-09 | 2017-05-11 | Accenture Global Solutions Limited | Predictive modeling for adjusting initial values |
US20170228744A1 (en) * | 2016-02-09 | 2017-08-10 | Builddirect.Com Technologies Inc. | E-commerce system with demand forecasting tool |
US20180060738A1 (en) * | 2014-05-23 | 2018-03-01 | DataRobot, Inc. | Systems and techniques for determining the predictive value of a feature |
US20180150910A1 (en) * | 2016-11-30 | 2018-05-31 | Paypal, Inc. | Systems and methods for processing business data |
US20180211266A1 (en) * | 2017-01-24 | 2018-07-26 | Adobe Systems Incorporated | Metric Forecasting in a Digital Medium Environment |
US20200167869A1 (en) * | 2016-04-16 | 2020-05-28 | Overbond Ltd. | Real-time predictive analytics engine |
US20200357057A1 (en) * | 2019-05-08 | 2020-11-12 | Toast, Inc. | Dynamic origination of capital pricing based on historical point-of-sale data |
US20210264199A1 (en) * | 2020-02-24 | 2021-08-26 | Capital One Services, Llc | Control of hyperparameter tuning based on machine learning |
WO2021207779A1 (en) * | 2020-04-15 | 2021-10-21 | Xero Limited | Systems and computer-implemented methods for capital management |
US11176607B1 (en) * | 2018-06-28 | 2021-11-16 | Square, Inc. | Capital loan optimization |
US20210397941A1 (en) * | 2020-06-12 | 2021-12-23 | International Business Machines Corporation | Task-oriented machine learning and a configurable tool thereof on a computing environment |
US20210398141A1 (en) * | 2020-06-17 | 2021-12-23 | Capital One Services, Llc | Systems and methods for preempting customer acceptance of predatory loan offers and fraudulent transactions |
US20220005036A1 (en) * | 2019-06-24 | 2022-01-06 | Square, Inc. | Predicting capital needs |
US20220138774A1 (en) * | 2020-11-04 | 2022-05-05 | Capital One Services, Llc | Systems for predicting activity distribution across mediums and methods thereof |
US11393023B1 (en) * | 2019-07-19 | 2022-07-19 | Block, Inc. | Adaptive multi-stage user interface for credit offers |
US11403652B1 (en) * | 2018-09-07 | 2022-08-02 | Intuit, Inc. | Customer-level lifetime value |
WO2022203591A1 (en) * | 2021-03-22 | 2022-09-29 | Hitachi, Ltd. | Compatibility scoring system and method for evaluating compatibility |
US11468007B1 (en) * | 2021-09-24 | 2022-10-11 | Reasonal, Inc. | Predictive revision recommendations |
US20220335518A1 (en) * | 2021-04-16 | 2022-10-20 | Fidelity Information Services, Llc | Systems and methods for selective api-provisioned machine learning model-predicted risk analysis |
US11536121B1 (en) * | 2015-06-08 | 2022-12-27 | DataInfoCom USA, Inc. | Systems and methods for analyzing resource production |
-
2021
- 2021-10-05 US US17/494,453 patent/US20230106398A1/en not_active Abandoned
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060738A1 (en) * | 2014-05-23 | 2018-03-01 | DataRobot, Inc. | Systems and techniques for determining the predictive value of a feature |
US11536121B1 (en) * | 2015-06-08 | 2022-12-27 | DataInfoCom USA, Inc. | Systems and methods for analyzing resource production |
US20170132520A1 (en) * | 2015-11-09 | 2017-05-11 | Accenture Global Solutions Limited | Predictive modeling for adjusting initial values |
US20170228744A1 (en) * | 2016-02-09 | 2017-08-10 | Builddirect.Com Technologies Inc. | E-commerce system with demand forecasting tool |
US20200167869A1 (en) * | 2016-04-16 | 2020-05-28 | Overbond Ltd. | Real-time predictive analytics engine |
US11354747B2 (en) * | 2016-04-16 | 2022-06-07 | Overbond Ltd. | Real-time predictive analytics engine |
US20180150910A1 (en) * | 2016-11-30 | 2018-05-31 | Paypal, Inc. | Systems and methods for processing business data |
US20180211266A1 (en) * | 2017-01-24 | 2018-07-26 | Adobe Systems Incorporated | Metric Forecasting in a Digital Medium Environment |
US11176607B1 (en) * | 2018-06-28 | 2021-11-16 | Square, Inc. | Capital loan optimization |
US11403652B1 (en) * | 2018-09-07 | 2022-08-02 | Intuit, Inc. | Customer-level lifetime value |
US20200357057A1 (en) * | 2019-05-08 | 2020-11-12 | Toast, Inc. | Dynamic origination of capital pricing based on historical point-of-sale data |
US20220005036A1 (en) * | 2019-06-24 | 2022-01-06 | Square, Inc. | Predicting capital needs |
US11393023B1 (en) * | 2019-07-19 | 2022-07-19 | Block, Inc. | Adaptive multi-stage user interface for credit offers |
US20210264199A1 (en) * | 2020-02-24 | 2021-08-26 | Capital One Services, Llc | Control of hyperparameter tuning based on machine learning |
WO2021207779A1 (en) * | 2020-04-15 | 2021-10-21 | Xero Limited | Systems and computer-implemented methods for capital management |
US20210397941A1 (en) * | 2020-06-12 | 2021-12-23 | International Business Machines Corporation | Task-oriented machine learning and a configurable tool thereof on a computing environment |
US20210398141A1 (en) * | 2020-06-17 | 2021-12-23 | Capital One Services, Llc | Systems and methods for preempting customer acceptance of predatory loan offers and fraudulent transactions |
US20220138774A1 (en) * | 2020-11-04 | 2022-05-05 | Capital One Services, Llc | Systems for predicting activity distribution across mediums and methods thereof |
WO2022203591A1 (en) * | 2021-03-22 | 2022-09-29 | Hitachi, Ltd. | Compatibility scoring system and method for evaluating compatibility |
US20220335518A1 (en) * | 2021-04-16 | 2022-10-20 | Fidelity Information Services, Llc | Systems and methods for selective api-provisioned machine learning model-predicted risk analysis |
US11468007B1 (en) * | 2021-09-24 | 2022-10-11 | Reasonal, Inc. | Predictive revision recommendations |
Non-Patent Citations (1)
Title |
---|
Ozturk, Murat, Ismail Hakki Toroslu, and Guven Fidan. "Heuristic based trading system on Forex data using technical indicator rules." Applied Soft Computing 43 (2016): 170-186. (Year: 2016) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12118440B2 (en) | Automated order execution based on user preference settings utilizing a neural network prediction model | |
US8620788B2 (en) | System and method for dynamic financial account management | |
AU2004244267B2 (en) | Customer revenue prediction method and system | |
US11144989B1 (en) | Customized graphical user interface for managing multiple user accounts | |
US20160210700A1 (en) | Systems and methods for daily recommended spend | |
US11580599B1 (en) | Intelligent loan offering at a point of sale | |
US20150379644A1 (en) | Systems and methods for identifying and remedying account error events in networked computer systems | |
US20090144123A1 (en) | System and Method of Demand Modeling for Financial Service Products | |
US11144990B1 (en) | Credit offers based on non-transactional data | |
CN112734516A (en) | Financial product recommendation method and system based on client cash flow prediction | |
US20210182811A1 (en) | Prediction engine for aggregated user accounts | |
US11900448B2 (en) | Liquidity engine | |
US20210366044A1 (en) | Systems and methods for managing allocation of resources | |
US20230106398A1 (en) | Systems and methods for a transaction processing system offering a service to a user system | |
JP2022161031A (en) | Method and system for applying predictive model to generate watchlist | |
US12314971B2 (en) | Systems and methods for economic nexus determination by a commerce platform system | |
US20240070552A1 (en) | Methods and systems for determining payment behaviours | |
US20250165983A1 (en) | Generating user interfaces comprising a universal dynamic base limit value reflecting transactions within one or more transaction accounts | |
US20230298029A1 (en) | Method and Apparatus for Facilitating Merchant Cash Advances on the Basis of Forecasted Return Volume | |
Pastpipatkul et al. | Relationship Among International Trade, Financial Development, and Economic Growth: The Case of ASEAN | |
CN110826793A (en) | Value evaluation method, device, electronic equipment and medium for asset allocation | |
CN113988457A (en) | Data generation method and system for user's deposit on schedule |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: STRIPE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DING, MENGJIE;XU, BO;DENT, JACK;SIGNING DATES FROM 20210929 TO 20211001;REEL/FRAME:057706/0869 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |