This disclosure relates to customizing customer onboarding for a service and, more particularly, to customizing, with machine learning models, a free trial window for a service provided to a customer and/or to customizing, with machine learning models, a timing of authorization requests for obtaining authorization from a credential manager subsystem of a credential of a customer to be used for funding a service transaction of a service between a service provider subsystem and the customer.
A payment for funding a service transaction between a customer and a service provider (e.g., for any suitable goods/services of an online media store) using a transaction credential managed by a credential manager (e.g., a payment instrument of a financial institution) may be scheduled for authorization at a particular scheduled authorization time, and the service provider may send an authorization request for the service transaction to the credential manager at that particular scheduled authorization time. However, oftentimes, such an authorization request may detract the customer from signing-up for the service or may fail (e.g., due to downtime of the credential manager or expiration of the transaction credential) and one or more additional authorization requests may then be made.
This document describes systems, methods, and computer-readable media for customizing customer onboarding for a service.
As an example, a system is provided for onboarding of a customer for a service, where the system may include a credential manager subsystem that manages a customer transaction credential, a service provider subsystem that offers the service, and a user electronic device that attempts a new sign up for the service of the service provider subsystem, for a customer of the user electronic device, wherein the service provider subsystem is configured to customize onboarding of the customer for the service.
As another example, a method is provided for customizing onboarding of a customer for a service using a management server.
As yet another example, a non-transitory machine readable medium is provided that may store a program for execution by at least one processing unit of a management server, the program for onboarding of a customer for a service, is provided, where the program may include sets of instructions for customizing the onboarding.
As yet another example, a non-transitory computer readable storage medium is provided that may store one or more programs, the one or more programs including instructions, which, when executed by a computing system including one or more processors, may cause the computing system to customize onboarding of a customer for a service.
As yet another example, a method for customizing, using a management server, an onboarding process afforded to a customer for a service of a service provider is provided that may include running, with the management server, a trained customer service intention probability (“CSIP”) model on current CSIP onboarding feature data associated with the onboarding of the customer for the service, wherein the running the trained CSIP model predicts an intention probability that is indicative of the likelihood of the customer to use the service, running, with the management server, a trained customer service capability probability (“CSCP”) model on current CSCP onboarding feature data associated with the onboarding of the customer for the service, wherein the running the trained CSCP model predicts a capability probability that is indicative of the likelihood of the customer to pay for the service, defining, with the management server, a customized free trial length using each one of the predicted intention probability and the predicted capability probability, and providing, with the management server, a free trial of the customized free trial length to the customer for the service.
As yet another example, a system for customizing an onboarding process is provided that may include a credential manager subsystem that manages a payment credential, a service provider subsystem that offers a service, and a user electronic device that attempts to access the service of the service provider subsystem for a user of the user electronic device, wherein the user has a user account with the service provider subsystem, wherein the payment credential is associated with the user account, and wherein the service provider subsystem is configured to detect the access attempt, in response to the detection of the access attempt, run a trained learning engine on onboarding features of the access attempt to predict a likelihood of the user successfully paying for the service using the payment credential, and, when the predicted likelihood meets a likelihood threshold, automatically provide the service to the user via the user electronic device without first requesting, of the credential manager subsystem, an authorization of the payment credential for paying for the service.
As yet another example, a non-transitory machine readable medium is provided for storing a program for execution by at least one processing unit of a management server, the program for customizing an onboarding process afforded to a customer for a service, the program may include sets of instructions for predicting, using a trained first model, a likelihood of the customer using the service, predicting, using a trained second model that is different than the first model, a likelihood of the customer paying for the service, calculating a length of a trial period based on each one of the predicted likelihood of the customer using the service and the predicted likelihood of the customer paying for the service, and providing a trial of the calculated length to the customer for the service.
This Summary is provided only to present some example embodiments, so as to provide a basic understanding of some aspects of the subject matter described in this document. Accordingly, it will be appreciated that the features described in this Summary are only examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Unless otherwise stated, features described in the context of one example may be combined or used with features described in the context of one or more other examples. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.
The discussion below makes reference to the following drawings, in which like reference characters refer to like parts throughout, and in which:
Systems, methods, and computer-readable media may be provided for customizing customer onboarding for a service. A new layer of efficiency, effectiveness, and/or control to customer onboarding may be provided by customizing one or more aspects of an onboarding process afforded by a service provider subsystem to a particular customer for a particular service. The length of a free trial of the service that may be provided to the customer and/or under what circumstances a free trial or a to-be-paid-for portion of the service may be provided to the customer prior to authorizing a customer transaction credential may be customized. Such customization may be provided, for example, for delaying a credential authorization request during the customer onboarding process and/or for reducing or attempting to minimize the number of authorization requests made during the customer onboarding process and/or for increasing or attempting to maximize the number of successful authorization requests and/or otherwise for improving or optimizing or maximizing or increasing the success rate of each authorization request (e.g., for reducing costs associated with carrying out an authorization request) and/or for increasing or attempting to maximize the effectiveness of a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service)) and/or for otherwise making the onboarding process faster, more seamless, more efficient, and/or more effective. In some embodiments, customer transaction credential registration and/or authorization may be skipped prior to initiating the providing of a service or a free trial thereof to a customer during an onboarding process, for example, when a predicted likelihood of the customer to pay for the service is greater than or equal to an applicable pay threshold, where such a predicted likelihood to pay may be a result of an output from any appropriately trained model(s) using any suitable input features for the customer and/or for the service being onboarded (e.g., past history information associated with the customer (e.g., historical payment details of the customer (e.g., previous purchases and/or attempted purchases by the customer), etc.), etc.) and/or when a predicted likelihood of the customer to use the service is greater than or equal to an applicable stay threshold, where such a predicted likelihood to stay may be a result of an output from any appropriately trained model(s) using any suitable input features for the customer and/or for the service being onboarded.
A credential authorization request may be declined by CM subsystem 300 or otherwise unsuccessful for any suitable reason, such as CM subsystem 300 being temporarily offline, the customer transaction credential being temporarily suspended, the customer transaction credential being invalid (e.g., due to the expiration date of the credential having been passed), and/or the like. Moreover, each credential authorization request made by SP subsystem 200 may have any suitable cost associated therewith, including, but not limited to, an operational cost, a transactional cost, and/or the like, to which a particular monetary value may be calculated or used to represent the cost to SP subsystem 200 of a credential authorization request. Moreover, carrying out such a credential authorization request may take a certain amount of time to complete, which may detract the customer from signing-up for the service and result in a failed onboarding. Moreover, creation of a credential authorization request may require a customer to provide certain information regarding the customer transaction credential to be authorized (e.g., manually entering or selecting some or all credential identification information for enabling the authorization request), which may detract the customer from signing-up for the service and result in a failed onboarding. Therefore, a goal of customizing a customer onboarding process may be to delay a credential authorization request during the customer onboarding process and/or to reduce or attempt to minimize the number of authorization requests made during the customer onboarding process and/or to increase or attempt to maximize the number of successful authorization requests and/or otherwise to improve or optimize or maximize or increase the success rate of each authorization request (e.g., for reducing costs associated with carrying out an authorization request) and/or to customize a free trial length to increase or attempt to maximize the effectiveness of such a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service)) and/or to otherwise make the onboarding process faster, more seamless, more efficient, and/or more effective.
A determination of whether or not to carry out a customer transaction credential authorization request and/or a determination of a free trial window length may be made based on various types of information, including, but not limited to a probability of customer payment or a customer service capability probability (“CSCP”) or PPAY, a probability of customer retention or a customer service intention probability (“CSIP”) or PSTAY, and/or the like. One or more machine learning models may be trained and later used to determine such information for a particular customer being onboarded for a particular service. For example, one or more CSCP models may be trained and utilized for predicting or otherwise determining the probability of customer payment CSCP or PPAY by a particular customer being onboarded for a particular service, while one or more CSIP models may be trained and utilized for predicting or otherwise determining the probability of customer intention for retention CSIP or PSTAY of a particular customer being onboarded for a particular service. Such predicted probabilities may be used to determine whether or not to provide a free trial window for the service to the customer prior to authorizing a customer transaction credential and/or to determine a customized length of such a free trial window and/or to determine whether or not to provide any portion of the service (e.g., of a service to be paid for) to the customer prior to authorizing a customer transaction credential, for customizing the onboarding process for the particular customer (e.g., for simplifying process and/or for making the process more efficient and/or effective and/or for increasing the rate at which a customer is retained during the onboarding process and/or for increasing the length of time during which the customer is onboarded with the service and/or for increasing the number of customers onboarded with successfully deferred customer transaction credential authorization and/or the like).
Various types of data may be used to predict or otherwise determine the probability of customer payment CSCP or PPAY by a particular customer being onboarded for a particular service. For example, at least one suitable CSCP model, such as any suitable machine learning model (e.g., a binary classification model, a multi-class classification model, a regression model, a random forest model, a gradient boosted tree model, an ensemble model, a neural network (e.g., a deep or wide or deep and wide neural network), a learning engine, models that are non-machine learning models or non-statistical learning based models, where such engines may include policy- or operations-based rules, third party learning application programming interfaces (“APIs”), and/or the like), may be trained and/or utilized by SP subsystem 200 or any other suitable entity in conjunction with any suitable onboarding data for determining whether or not to carry out a customer transaction credential authorization request or for otherwise customizing customer onboarding for a particular customer and/or a particular service. For example, as described with respect to
Various types of data may be used to predict or otherwise determine the probability of customer intention CSIP or PSTAY for a particular customer being onboarded for a particular service. For example, at least one suitable CSIP model, such as any suitable machine learning model (e.g., a binary classification model, a multi-class classification model, a regression model, a random forest model, a gradient boosted tree model, an ensemble model, a neural network (e.g., a deep or wide or deep and wide neural network), a learning engine, models that are non-machine learning models or non-statistical learning based models, where such engines may include policy- or operations-based rules, third party learning APIs, and/or the like), may be trained and/or utilized by SP subsystem 200 or any other suitable entity in conjunction with any suitable onboarding data for determining whether or not to carry out a customer transaction credential authorization request or for otherwise customizing customer onboarding for a particular customer and/or a particular service. For example, as described with respect to
Such time input features for a particular onboarding for a particular service for a particular customer of a particular service onboarding data set, which may be used to train one or more CSIP models and/or one or more CSCP models and/or used as inputs to determine a probability from one or more CSIP models and/or one or more CSCP models, may include any suitable features, including, but not limited to, time of day and/or day of week and/or day of month and/or month of year of any suitable event(s) of the onboarding (e.g., the moment that a periodic subscription service is due to be up for renewal, the moment that a free trial period for the service of the onboarding ends and initial payment for the service of the onboarding is due, etc.), time of day and/or day of week and/or day of month and/or month of year of a transaction funding authorization request associated with funding of the service of the onboarding, time of day and/or day of week and/or day of month and/or month of year of a customer transaction credential authorization request associated with a customer transaction credential of the onboarding, an amount of time between a transaction due date and an authorization request of the onboarding, an amount of time between a transaction due date and a transaction funding authorization request, time since last authorization success, time since last authorization failure, time since last activity, time since last billing information update, maximum duration of stay on any particular paid subscription, and/or the like.
Such billing input features for a particular onboarding for a particular service for a particular customer of a particular service onboarding data set, which may be used to train one or more CSIP models and/or one or more CSCP models and/or used as inputs to determine a probability from one or more CSIP models and/or one or more CSCP models, may include any suitable features, including, but not limited to, amount of time that any customer transaction credential associated with the customer has been tracked by or otherwise also on record at the SP subsystem (e.g., for the particular service onboarding or for any other purpose (e.g., any other service)), the type of such a customer transaction credential (e.g., store credit, credit card, debit card, etc.), the CM subsystem responsible for such a customer transaction credential, the expiration date of such a customer transaction credential, the personal account number (hashed or otherwise) of such a customer transaction credential, number of times a customer has updated at the SP subsystem the billing information associated with such a customer transaction credential, the amount of time since the last time the customer updated at the SP subsystem the billing information associated with such a customer transaction credential, the type of billing error associated with an authorization request if it was unsuccessful (e.g., credential declined, credential delinquent, network problem (e.g., CM subsystem was offline), etc.) for such a customer transaction credential, number and/or time(s) and/or funding value of any or each previously attempted and failed authorization requests made for such a customer transaction credential, number and/or time(s) and/or funding value of any or each previously attempted and successful authorization requests made for such a customer transaction credential, duration since last authorization failure/success for such a customer transaction credential, status of last authorization request for such a customer transaction credential, amount of last authorization request for such a customer transaction credential, ratio of free versus paid purchases for such a customer transaction credential, ratio of failed versus successful authorization requests made for such a customer transaction credential, number of first authorization attempt failure/success for such a customer transaction credential, maximum number of authorization attempts on a transaction for such a customer transaction credential, number of distinct users associated with such a customer transaction credential at the SP and/or with an account at the SP including that customer transaction credential, number of distinct device platforms associated with such a customer transaction credential at the SP and/or with an account at the SP including that customer transaction credential, number of distinct customer transaction credentials associated with the customer and on record at the SP subsystem, number of distinct types of customer transaction credentials associated with the customer and on record at the SP subsystem, number of distinct CM subsystems responsible for the customer transaction credentials associated with the customer and on record at the SP subsystem, age (e.g., average, minimum, maximum, etc.) of customer transaction credentials associated with the customer and on record at the SP subsystem, amount spent (e.g., average, minimum, maximum, etc.) on various products (e.g., subscription, songs, books, etc.) of the SP subsystem for each of the customer transaction credentials associated with the customer and on record at the SP subsystem, number of distinct product types purchased with each or such a particular customer transaction credential, number of distinct product types obtained for free, number of distinct products purchased with each or such a particular customer transaction credential, price (e.g., average, minimum, maximum, etc.) of all products purchased and/or otherwise obtained with each or such a particular customer transaction credential, price (e.g., average, minimum, maximum, etc.) and/or amount of products purchased and/or otherwise obtained of a particular type (e.g., server storage type (e.g., iCloud™), music type, inApp, etc.), status of last authorization request for such a customer transaction credential, type of last SP product purchased with such a customer transaction credential, cost of last SP product purchased with such a customer transaction credential, and/or the like.
Such user input features for a particular onboarding for a particular service for a particular customer of a particular service onboarding data set, which may be used to train one or more CSIP models and/or one or more CSCP models and/or used as inputs to determine a probability from one or more CSIP models and/or one or more CSCP models, may include any suitable features, including, but not limited to, family status of customer (e.g., with respect to the SP (e.g., family member, shared family plan, individual customer, etc.)), length of customer association with the SP product associated with the onboarding (e.g., days the customer has been subscribed to or using a service of the onboarding and/or of any other service of the SP), length of customer association with the SP associated with the onboarding days the customer has had an account with the SP (e.g., account tenure)), device platform used by the customer (e.g., device platform of device 100), customer identifier (e.g., unique ID of the customer consumer or of a family or consumer group that may include the customer), a subscription price for a service of the onboarding, a subscription length for a service of the onboarding, a subscription gap (e.g., length of time in between subscriptions) by the customer for the service of the onboarding, a maximum number of subscriptions held by the customer, a total amount in age and/or cost and/or number of subscriptions of the customer, an average amount in age and/or cost and/or number of subscriptions of the customer, a maximum amount in age and/or cost and/or number of subscriptions of the customer, a minimum amount in age and/or cost and/or number of subscriptions of the customer, a total amount of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or otherwise of the SP) and/or with respect to each service of the SP, a minimum amount of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or otherwise of the SP) and/or with respect to each service of the SP, a maximum amount of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or otherwise of the SP) and/or with respect to each service of the SP, an average amount of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or otherwise of the SP) and/or with respect to each service of the SP, a total amount of length of time of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or otherwise of the SP) and/or with respect to each service of the SP, a minimum amount of length of time of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or otherwise of the SP) and/or with respect to each service of the SP, a maximum amount of length of time of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or any other service or otherwise of the SP) and/or with respect to each service of the SP, an average amount of length of time of activity carried out by the customer with respect to a service (e.g., a service of the onboarding or any other service or otherwise of the SP) and/or with respect to each service of the SP, number of repeated activity of a type carried out by the customer with respect to a service (e.g., a service of the onboarding or any other service or otherwise of the SP) and/or with respect to each service of the SP, information indicative of any suitable customer engagement with the SP product associated with the transaction (e.g., number of songs played by the customer using a subscription music streaming service of the onboarding and/or of any other service of the SP, etc.), location of the customer, amount spent on various products (e.g., subscription, songs, books, etc.) for the customer, duration since last authorization failure/success for the customer, ratio of free versus paid purchases for the customer, number of first authorization attempt failure/success for the customer, maximum number of authorization attempts on a transaction for the customer, and/or the like.
Each CSCP model may be trained using any suitable input features of any suitable historic onboarding training data set (e.g., any suitable CSCP onboarding feature data) via any suitable supervised approach (e.g., logistic regression, random forest, gradient boosted decision trees, deep learning (e.g., long short term memory (“LSTM”)), and/or the like) as well as developed (e.g., at operation 602b of process 600 of
Each CSIP model may be trained using any suitable input features of any suitable historic onboarding training data set (e.g., any suitable CSIP onboarding feature data) via any suitable supervised approach (e.g., logistic regression, random forest, gradient boosted decision trees, deep learning (e.g., LS″), and/or the like) as well as developed (e.g., at operation 602a of process 600 of
In some embodiments, a particular type of input feature for training a CSCP model and/or for training a CSIP model may include trial length (“TL”) input feature data of the historical onboarding data, which may be indicative of a length of a free trial window provided to the particular customer during which the customer may access for free (e.g., without paying for) a portion or the entirety of the service's offerings of the particular service of the particular onboarding. In some embodiments (e.g., after certain types of iterations of onboarding processes), one or more CSIP models and/or one or more CSCP models may also be trained on free trial window length TL input feature data (e.g., once enough historical onboarding data sets have been accumulated for onboarding processes using customized or otherwise varied free trial lengths for a particular service). For example, a first CSCP model may be trained on input feature data of historic onboarding training data sets associated with historical onboarding(s) including a free trial window length of a first free trial window length or a first range of lengths L1, a second CSCP model may be trained on input feature data of historic onboarding training data sets associated with historical onboarding(s) including a free trial window length of a second free trial window length or a second range of lengths L2 different from L1, and so on, such that different CSCP models may be associated with different free trial lengths or ranges thereof (e.g., a first trial window length of 0 days, a second trial window length of greater than days but less than 1 day, a third trial window length of greater than 1 day but less than 2 days, or the like (e.g., a first trial window length of 0 time, a second trial window length of 1 day to 7 days, a third trial length of 7 days to 14 days, etc.)). Each CSCP model may be trained via any suitable supervised approach and developed (e.g., at operation 602b of process 600 of
Therefore, a CSCP or PPAY may be identified for each potential free trial window length of a current onboarding process using a CSCP model associated with (e.g., trained on user input feature data including) that respective free trial window length, such that different CSCPs or PPAYS may be determined for different possible free trial lengths for the current onboarding process, or a general CSCP or PPAY may be determined for a current onboarding process using a general CSCP model (e.g., a CSCP model not trained on input feature data of historic onboarding training data sets associated with historical onboarding(s) including a particular free trial window length). A CSCP model may be trained to output a customer service capability probability (CSCP) score PPAY (e.g., a value between 0 (e.g., indicative of a 0% chance of successful customer payment for the particular service being onboarded) and 1 (e.g., indicative of a 100% chance of successful customer payment for the particular service being onboarded)) for a particular current onboarding of a particular customer for a particular service using any suitable model input features of that onboarding, either generally (e.g., if a free trial window length is not to be customized and/or if specific trial window length models are not available) or for each one of any suitable potential free trial window lengths or ranges thereof (e.g., a particular CSCP model (e.g., a CSCPM 602bm of
In some embodiments, certain characteristics of a customized onboarding process may be dynamically changed during the pendency of that onboarding process based on new real-time data that may be made available to the system. For example, a free trial length of a free trial period of a customized onboarding process may be dynamically updated by re-training and/or re-inferring any suitable CSIP model and/or any suitable CSCP model during the onboarding process using any new data that may be made available to the system during that onboarding process. As just one example, while a free trial period may be actively being provided for a particular customer's onboarding process for a particular service (e.g., as may have been determined at least partially by the output(s) of one or more CSIP model(s) and/or by the output(s) of one or more CSCP models(s)), in response to a negative result of any authorization request and/or in response to the particular customer attempting to make a new purchase or otherwise changing any suitable online customer feature data, new onboarding process data may be created that may be used by the system for potentially dynamically updating one or more characteristics of the onboarding process (e.g., new BF, new TF, and/or new UF may be provided as new second onboarding process data for the particular customer that may be provided as new input data (e.g., new onboarding feature data) into one or more CSIP models (e.g., as new CSIP onboarding feature data) and/or into one or more CSCP models (e.g., as new CSCP onboarding feature data) for potentially adjusting the customized onboarding process currently underway.
Such CSCP and/or CSIP models (e.g., neural networks) running on any suitable processing units (e.g., graphical processing units (“GPUs”) that may be available to SP subsystem 200) provide significant speed improvements in efficiency and accuracy with respect to prediction over other types of algorithms and human-conducted analysis of data, as such models can provide estimates in a few milliseconds or less, thereby improving the functionality of any computing device on which they may be run. Due to such efficiency and accuracy, such models enable a technical solution for enabling dynamic customization of onboarding processes (e.g., availability of or length of a free trial window and/or deferment of any authorization request(s)) using any suitable real-time data (e.g., data made available to the models during the onboarding) that may not be possible without the use of such models, as such models may increase performance of their computing device(s) by requiring less memory, providing faster response times, and/or increased accuracy and/or reliability. Due to the condensed time frame of certain onboarding processes and/or the time within which a decision with respect to a characteristic of certain onboarding processes ought to be made to provide a desirable customer experience (e.g., substantially instantaneously), such models offer the unique ability to provide accurate determinations with the speed necessary to enable accurate decisions for initially customizing onboarding processes and/or dynamically adjusting such customized onboarding processes. Such models enable a data-driven model for customizing an onboarding process as opposed to a pre-defined onboarding process, a dynamically refreshable onboarding process as opposed to a static onboarding process, and/or a utility probability based onboarding process as opposed to a purely rule-based onboarding process.
CM subsystem 300 may be provided by any suitable credential manager that may manage any funding account on behalf of a customer and/or that may provide a customer with any suitable customer transaction credential that may be used to identify to a service provider an associated funding account from which funds may be transferred to an account of the service provider in exchange for any suitable goods and/or services of the service provider. CM subsystem 300 may include a payment network subsystem (e.g., a payment card association or a credit card association) and/or an issuing bank subsystem and/or any other suitable type of subsystem. A specific customer transaction credential that may be used during a service transaction with SP subsystem 200 may be associated with a specific funding account of a particular user with CM subsystem 300 (e.g., accounts for various types of payment cards may include credit cards, debit cards, charge cards, stored-value cards (e.g., transit cards), fleet cards, gift cards, and the like). Such a customer transaction credential may be provisioned on device 100 (e.g., as CM credential information of an applet on a secure credential component (e.g., NFC component, secure element, and/or the like) of device 100) by CM subsystem 300 and may later be used by device 100 as at least a portion of a service transaction order communicated to SP subsystem 200 for funding a transaction between a customer and SP subsystem 200 (e.g., to pay for a good or service of the SP of SP subsystem 200). Alternatively, such a customer transaction credential may be provided to a customer as a physical credential card or any suitable credential information that may be relayed by the customer to an SP (e.g., over the telephone or via manual entry into a web form), which may be used by the SP for funding a service transaction.
SP subsystem 200 may be provided by any suitable service provider that may provide a free trial for any suitable SP product and/or a paid session for any suitable SP product (e.g., a service transaction for providing any suitable goods and/or services) to a customer or another entity or device of the customer's choosing. As just one example, SP subsystem 200 may be provided by Apple Inc. of Cupertino, Calif., which may be a provider of various services to users of device 100 (e.g., the iTunes™ Store for selling/renting media to be played by device 100, the Apple App Store™ for selling/renting applications for use on device 100, the Apple Music™ Service for providing a subscription streaming service, the Apple iCloud™ Service for storing data from device 100 and/or associating multiple user devices and/or multiple user profiles with one another, the Apple Online Store for buying various Apple products online, etc.), and which may also be a provider, manufacturer, and/or developer of device 100 itself (e.g., when device 100 is an iPod™, iPad™, iPhone™, or the like) and/or of an operating system (e.g., device application 103) of device 100. As another example, SP subsystem 200 may be provided by a restaurant or a movie theater or an airline or a car dealership or any other suitable SP entity. The SP that may provide SP subsystem 200 (e.g., Apple Inc.) may be distinct and independent from any CM of any remote CM subsystem 300 (e.g., any funding entity of any remote funding subsystem, any financial institution entity of any remote financial institution subsystem, etc.). For example, the SP that may provide SP subsystem 200 may be distinct and/or independent from any payment network or issuing bank that may furnish and/or manage any credit card or any other customer transaction credential and/or customer payment credential and/or customer funding credential to be used by a customer for funding a service transaction with SP subsystem 200.
Communication of any suitable data between electronic device 100 and CM subsystem 300 may be enabled via any suitable communications set-up 95, which may include any suitable wired communications path, wireless communications path, or combination of two or more wired and/or wireless communications paths using any suitable communications protocol(s) and/or any suitable network and/or cloud architecture(s). Additionally or alternatively, communication of any suitable data between SP subsystem 200 and CM subsystem 300 may be enabled via any suitable communications set-up 95. Additionally or alternatively, communication of any suitable data between electronic device 100 and SP subsystem 200 that may not be made via CM subsystem 300 may be enabled via any suitable communications set-up 95. Communications set-up 95 may be at least partially managed by one or more trusted service managers (“TSMs”). Any suitable circuitry, device, system, or combination of these (e.g., a wired and/or wireless communications infrastructure that may include one or more communications towers, telecommunications servers, or the like) that may be operative to create a communications network may be used to provide at least a portion of communications set-up 95, which may be capable of providing communications using any suitable wired or wireless communications protocol. For example, communications set-up 95 may support Wi-Fi (e.g., an 802.11 protocol), ZigBee (e.g., an 802.15.4 protocol), WiDi™, Ethernet, Bluetooth™, BLE, high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, TCP/IP, SCTP, DHCP, HTTP, BitTorrent™, FTP, RTP, RTSP, RTCP, RAOP, RDTP, UDP, SSH, WDS-bridging, any communications protocol that may be used by wireless and cellular telephones and personal e-mail devices (e.g., GSM, GSM plus EDGE, CDMA, OFDMA, HSPA, multi-band, etc.), any communications protocol that may be used by a low power Wireless Personal Area Network (“6LoWPAN”) module, any other communications protocol, or any combination thereof.
As shown in
As shown in
Memory 104 may include one or more storage mediums, including, for example, a hard-drive, flash memory, permanent memory such as read-only memory (“ROM”), semi-permanent memory such as random access memory (“RAM”), any other suitable type of storage component, or any combination thereof. Memory 104 may include cache memory, which may be one or more different types of memory used for temporarily storing data for electronic device applications. Memory 104 may be fixedly embedded within electronic device 100 or may be incorporated onto one or more suitable types of cards that may be repeatedly inserted into and removed from electronic device 100 (e.g., a subscriber identity module (“SIM”) card or secure digital (“SD”) memory card). Memory 104 may store media data (e.g., music and image files), software (e.g., for implementing functions on device 100), firmware, media information (e.g., media content and/or associated metadata), preference information (e.g., media playback preferences), lifestyle information (e.g., food preferences), exercise information (e.g., information obtained by exercise monitoring equipment or any suitable sensor circuitry), transaction information (e.g., information such as credit card information or other transaction credential information), wireless connection information (e.g., information that may enable device 100 to establish a wireless connection), subscription information (e.g., information that keeps track of podcasts or television shows or other media a user subscribes to), contact information (e.g., telephone numbers and e-mail addresses), calendar information, pass information (e.g., transportation boarding passes, event tickets, coupons, store cards or other transaction credentials (e.g., financial payment cards), etc.), any suitable model data of device 100 (e.g., as may be stored in any suitable device model 105 of memory assembly 104 (e.g., any portion or all of one, some, or each model of SP subsystem 200 or otherwise as may be described herein)), any other suitable data, or any combination thereof.
Power supply circuitry 106 can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components of electronic device 100. For example, power supply circuitry 106 can be coupled to a power grid (e.g., when device 100 is not acting as a portable device or when a battery of the device is being charged at an electrical outlet with power generated by an electrical power plant). As another example, power supply circuitry 106 can be configured to generate power from a natural source (e.g., solar power using solar cells). As another example, power supply circuitry 106 can include one or more batteries for providing power (e.g., when device 100 is acting as a portable device). For example, power supply circuitry 106 can include one or more of a battery (e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen, lead acid, or lithium-ion battery), an uninterruptible or continuous power supply (“UPS” or “CPS”), and circuitry for processing power received from a power generation source (e.g., power generated by an electrical power plant and delivered to the user via an electrical socket or otherwise).
One or more input components 108 may be provided to permit a user to interact or interface with device 100. For example, input component circuitry 108 can take a variety of forms, including, but not limited to, a touch pad, dial, click wheel, scroll wheel, touch screen, one or more buttons (e.g., a keyboard), mouse, joy stick, track ball, microphone, still image camera, video camera, scanner (e.g., a bar code scanner or any other suitable scanner that may obtain product identifying information from a code, such as a bar code, or the like), proximity sensor, light detector, biometric sensor (e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible to electronic device 100 for authenticating a user), line-in connector for data and/or power, and combinations thereof. Each input component 108 can be configured to provide one or more dedicated control functions for making selections or issuing commands associated with operating device 100.
Electronic device 100 may also include one or more output components 110 that may present information (e.g., graphical, audible, and/or tactile information) to a user of device 100. For example, output component circuitry 110 of electronic device 100 may take various forms, including, but not limited to, audio speakers, headphones, line-out connectors for data and/or power, visual displays, infrared ports, tactile/haptic outputs (e.g., rumblers, vibrators, etc.), and combinations thereof. As a particular example, electronic device 100 may include a display output component as output component 110, where such a display output component may include any suitable type of display or interface for presenting visual data to a user. A display output component may include a display embedded in device 100 or coupled to device 100 (e.g., a removable display). A display output component may include display driver circuitry, circuitry for driving display drivers, or both, and such a display output component can be operative to display content (e.g., media playback information, application screens for applications implemented on electronic device 100, information regarding ongoing communications operations, information regarding incoming communications requests, device operation screens, etc.) that may be under the direction of processor 102.
It should be noted that one or more input components and one or more output components may sometimes be referred to collectively herein as an input/output (“I/O”) component or I/O circuitry or I/O interface (e.g., input component 108 and output component 110 as I/O component or I/O interface 109). For example, input component 108 and output component 110 may sometimes be a single I/O component 109, such as a touch screen, that may receive input information through a user's touch (e.g., multi-touch) of a display screen and that may also provide visual information to a user via that same display screen.
Sensor circuitry 112 may include any suitable sensor or any suitable combination of sensors operative to detect movements of electronic device 100 and/or any other characteristics of device 100 or its environment (e.g., physical activity or other characteristics of a user of device 100). For example, sensor circuitry 112 may include any suitable sensor(s), including, but not limited to, one or more of a GPS sensor, accelerometer, directional sensor (e.g., compass), gyroscope, motion sensor, pedometer, passive infrared sensor, ultrasonic sensor, microwave sensor, a tomographic motion detector, a camera, a biometric sensor, a light sensor, a timer, or the like. In some examples, a biometric sensor may include, but is not limited to, one or more health-related optical sensors, capacitive sensors, thermal sensors, electric field (“eField”) sensors, and/or ultrasound sensors, such as photoplethysmogram (“PPG”) sensors, electrocardiography (“ECG”) sensors, galvanic skin response (“GSR”) sensors, posture sensors, stress sensors, photoplethysmogram sensors, and/or the like. While specific examples are provided, it should be appreciated that other sensors can be used and other combinations of sensors can be combined into a single device. In some examples, a GPS sensor or any other suitable location detection component(s) of device 100 can be used to determine a user's location and movement, as well as a displacement of the user's motion.
Communications circuitry 114 may be provided to allow device 100 to communicate with one or more other electronic devices or servers using any suitable communications protocol (e.g., with CM subsystem 300 and/or with SP subsystem 200 using communications set-up 95). For example, communications circuitry 114 may support Wi-Fi™ (e.g., an 802.11 protocol), ZigBee™ (e.g., an 802.15.4 protocol), WiDi™, Ethernet, Bluetooth™, Bluetooth™ Low Energy (“BLE”), high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, transmission control protocol/internet protocol (“TCP/IP”) (e.g., any of the protocols used in each of the TCP/IP layers), Stream Control Transmission Protocol (“SCTP”), Dynamic Host Configuration Protocol (“DHCP”), hypertext transfer protocol (“HTTP”), BitTorrent™, file transfer protocol (“FTP”), real-time transport protocol (“RIP”), real-time streaming protocol (“RTSP”), real-time control protocol (“RTCP”), Remote Audio Output Protocol (“RAOP”), Real Data Transport Protocol™ (“RDTP”), User Datagram Protocol (“UDP”), secure shell protocol (“SSH”), wireless distribution system (“WDS”) bridging, any communications protocol that may be used by wireless and cellular telephones and personal e-mail devices (e.g., Global System for Mobile Communications (“GSM”), GSM plus Enhanced Data rates for GSM Evolution (“EDGE”), Code Division Multiple Access (“CDMA”), Orthogonal Frequency-Division Multiple Access (“OFDMA”), high speed packet access (“HSPA”), multi-band, etc.), any communications protocol that may be used by a low power Wireless Personal Area Network (“6LoWPAN”) module, Near Field Communication (“NFC”), any other communications protocol, or any combination thereof. Communications circuitry 114 may also include or be electrically coupled to any suitable transceiver circuitry that can enable device 100 to be communicatively coupled to another device (e.g., a host computer or an accessory device) and communicate with that other device wirelessly, or via a wired connection (e.g., using a connector port). Communications circuitry 114 may be configured to determine a geographical position of electronic device 100. For example, communications circuitry 114 may utilize the global positioning system (“GPS”) or a regional or site-wide positioning system that may use cell tower positioning technology or Wi-Fi™ technology.
Processing circuitry 102 of electronic device 100 may include any processing circuitry that may be operative to control the operations and performance of one or more components of electronic device 100. For example, processor 102 may receive input signals from any input component 108 and/or sensor circuitry 112 and/or communications circuitry 114 and/or drive output signals through any output component 110 and/or communications circuitry 114. As shown in
Although not shown, device 100 may include any suitable secure credential component (e.g., NFC component, secure element, and/or the like) that may include or otherwise be configured to provide a tamper-resistant platform (e.g., as a single-chip or multiple-chip secure microcontroller) that may be capable of securely hosting applications and their confidential and cryptographic data in accordance with rules and security requirements that may be set forth by a set of well-identified trusted authorities (e.g., an authority of SP subsystem 200 and/or of CM subsystem 300 and/or of an industry standard, such as GlobalPlatform). Any suitable customer transaction credential information, such as CM credential information, may be stored in an applet on such a secure credential component of device 100 and may be configured to provide customer transaction credential data for use in any suitable service transaction order with a remote entity subsystem, such as SP subsystem 200. For example, the customer transaction credential data may provide an actual value source and/or may provide sufficient detail for identifying a funding account of CM subsystem 300 that may be used to as a value source, and the value source may be used to at least partially fund a service transaction between electronic device 100 and SP subsystem 200 for any suitable service provider service (e.g., any suitable good or service that may be provided on behalf of SP subsystem 200 for the benefit of a user of electronic device 100).
Electronic device 100 may also be provided with a housing 101 that may at least partially enclose one or more of the components of device 100 for protection from debris and other degrading forces external to device 100. In some embodiments, one or more of the components may be provided within its own housing (e.g., input component 108 may be an independent keyboard or mouse within its own housing that may wirelessly or through a wire communicate with processor 102, which may be provided within its own housing).
Although not shown, SP subsystem 200 may also include a processor component that may be the same as or similar to processor component 102 of electronic device 100, a communications component that may be the same as or similar to communications component 114 of electronic device 100, an I/O interface that may be the same as or similar to I/O interface 109 of electronic device 100, a bus that may be the same as or similar to bus 115 of electronic device 100, a memory component that may be the same as or similar to memory 104 of electronic device 100, and/or a power supply component that may be the same as or similar to power supply 106 of electronic device 100.
Although not shown, CM subsystem 300 may also include a processor component that may be the same as or similar to processor component 102 of electronic device 100, a communications component that may be the same as or similar to communications component 114 of electronic device 100, an I/O interface that may be the same as or similar to I/O interface 109 of electronic device 100, a bus that may be the same as or similar to bus 115 of electronic device 100, a memory component that may be the same as or similar to memory 104 of electronic device 100, and/or a power supply component that may be the same as or similar to power supply 106 of electronic device 100.
As shown in
An output component 110a may be a display that can be used to display a visual or graphic user interface (“GUI”) 180, which may allow a user to interact with electronic device 100. A screen 190 of GUI 180 may include various layers, windows, screens, templates, elements, menus, and/or other components of a currently running application (e.g., application 103) that may be displayed in all or some of the areas of display output component 110a. One or more of user input components 108a-108i may be used to navigate through GUI 180. For example, one user input component 108 may include a scroll wheel that may allow a user to select one or more graphical elements or icons 182 of GUI 180. Icons 182 may also be selected via a touch screen I/O component 109a that may include display output component 110a and an associated touch input component 108f. Such a touch screen I/O component 109a may employ any suitable type of touch screen input technology, such as, but not limited to, resistive, capacitive, infrared, surface acoustic wave, electromagnetic, or near field imaging. Furthermore, touch screen I/O component 109a may employ single point or multi-point (e.g., multi-touch) input sensing.
Icons 182 may represent various applications, layers, windows, screens, templates, elements, and/or other components that may be displayed in some or all of the areas of display component 110a upon selection by the user. Furthermore, selection of a specific icon 182 may lead to a hierarchical navigation process. For example, selection of a specific icon 182 may lead from screen 190 of
Electronic device 100 also may include various other I/O components 109 that may allow for communication between device 100 and other devices, such as a connection port 109b that may be configured for transmitting and receiving data files, such as media files or customer order files, and/or any suitable information (e.g., audio signals) from a remote data source and/or power from an external power source. For example, I/O component 109b may be any suitable port (e.g., a Lightning™ connector or a 30-pin dock connector available by Apple Inc.). I/O component 109c may be a connection slot for receiving a SIM card or any other type of removable component. Electronic device 100 may also include at least one audio input component 110g, such as a microphone, and at least one audio output component 110b, such as an audio speaker. Electronic device 100 may also include at least one tactile output component 110c (e.g., a rumbler, vibrator, haptic and/or taptic component, etc.), a camera and/or scanner input component 108h (e.g., a video or still camera, and/or a bar code scanner or any other suitable scanner that may obtain product identifying information from a code, such as a bar code, or the like), and a biometric input component 108i (e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible to electronic device 100 for authenticating a user).
Referring now to
SMP broker component 240 of SP subsystem 200 may be configured to manage customer authentication with an SP customer account of SP subsystem 200 and/or to manage CM validation with a CM subsystem account of SP subsystem 200. SMP broker component 240 may be a primary end point that may control certain interface elements (e.g., elements of a GUI 180) on device 100. A CM application of CM subsystem 300 may be configured to call specific application programming interfaces (“APIs”) and SMP broker 240 may be configured to process requests of those APIs and respond with data that may derive a portion of a user interface that may be presented by CM subsystem 300 (e.g., to device 100) and/or respond with application protocol data units (“APDUs”) that may communicate with CM subsystem 300. Such APDUs may be received by SP subsystem 200 from CM subsystem 300 via a trusted services manager (“TSM”) of system 1 (e.g., a TSM of a communication path between SP subsystem 200 and CM subsystem 300). In some particular embodiments, SMP TSM component 250 of SP subsystem 200 may be configured to provide Global Platform-based services or any other suitable services that may be used to carry out credential provisioning operations on device 100 from CM subsystem 300. GlobalPlatform, or any other suitable secure channel protocol, may enable SMP TSM component 250 to properly communicate and/or provision sensitive account data between a secure element of device 100 and a TSM for secure data communication between SP subsystem 200 and a remote subsystem.
SMP TSM component 250 may be configured to use HSM component 290 to protect keys and generate new keys. SMP crypto services component 260 of SP subsystem 200 may be configured to provide key management and cryptography operations that may be provided for user authentication and/or confidential data transmission between various components of system 1 (e.g., between SP subsystem 200 and CM subsystem 300 and/or between SP subsystem 200 and device 100 and/or between different components of SP subsystem 200). SMP crypto services component 260 may utilize HSM component 290 for secure key storage and/or opaque cryptographic operations. A payment crypto service of SMP crypto services component 260 may be configured to interact with IDMS component 270 to retrieve information associated with on-file credit cards or other types of customer transaction credentials associated with user accounts of the SP (e.g., an Apple iCloud™ account). Such a payment crypto service may be configured to be the only component of SP subsystem 200 that may have clear text (e.g., non-hashed) information describing customer transaction credentials (e.g., credit card numbers) of its user accounts in memory. Fraud system component 280 of SP subsystem 200 may be configured to run an SP fraud check on a customer transaction credential based on data known to the SP about the transaction credential and/or the customer (e.g., based on data (e.g., customer transaction credential information) associated with a customer account with the SP and/or any other suitable data that may be under the control of the SP and/or any other suitable data that may not be under the control of a remote subsystem). Fraud system component 280 may be configured to determine an SP fraud score for the credential based on various factors or thresholds. Additionally or alternatively, SP subsystem 200 may include store 265, which may be a provider of various services to users of device 100 (e.g., the iTunes™ Store for selling/renting media to be played by device 100, the Apple App Store™ for selling/renting applications for use on device 100, the Apple iCloud™ Service for storing data from device 100 and/or associating multiple user devices and/or multiple user profiles with one another, the Apple Online Store for buying various Apple products online, the Apple Music™ Service for enabling subscriptions of various streaming services, etc.). As just one example, store 265 may be configured to manage and provide an application 103 and/or application 103a to device 100, where the application may be any suitable application, such as a CM application (e.g., a banking application), an SP application (e.g., a music streaming (or other suitable) service application), an e-mail application, a text messaging application, an internet application, a credential management application, or any other suitable communication application, and/or to provide any suitable SP product to a customer (e.g., a media file to memory 104 of customer device 100, etc.).
Server 210 may be any suitable server that may be operative to handle any suitable services or functionalities of SP subsystem 200. In other embodiments, at least a portion or the entirety of server 210 may be an independent subsystem distinct from SP subsystem 200 (e.g., as a third party subsystem of a third party that may be distinct from the SP of SP subsystem 200 or as another subsystem provided by the SP of SP subsystem 200 that may be distinct from SP subsystem 200). As shown in
Some or all models generated or otherwise trained or built by model builder 218 may be collected by a model repository 232, while a best model identifier 234 may be operative to identify the best performing model(s) of model repository 232 using any suitable techniques (e.g., model identifier 234 may identify a best performing model for each one of the various types of models available to system 1 at a particular moment (e.g., a best performing CSIP model, a best performing CSCP model, etc.), each of which may be the same or different type of machine learning model). Then, when one or more particular types of model is to be used to customize an onboarding for a particular customer for a particular service, a model request server 236 may be operative to receive from any suitable source (e.g., any suitable client source for server 210 (e.g., store 265)) a request 239 for such model(s) that may include model request data 239d (e.g., any suitable onboarding data associated with a particular customer and/or a particular onboarding of that customer for a particular service, including, but not limited to, any suitable UF data, BF data, TF data, TL data, a “dsid” (e.g., a unique customer identifier for the particular customer and/or a customer score indicative of some trustworthiness or fraud score or otherwise that may be associated with the customer), a “store_front_id” (e.g., an identifier of the particular store that received the transaction purchase attempt from the customer (e.g., a particular app store, a particular music subscription service, etc.)), a “buy_amount” (e.g., a value amount of the SP product(s) to be purchased (e.g., eventually) in the onboarding), “buys_last_x_hours” (e.g., number of purchases attempted or authorized for the particular customer during the last X hours), “card_type” (e.g., type of transaction credential being used or otherwise determined to be available for use in the onboarding attempt), “flow_step” (e.g., relative operation within a customization flow at which request 239 was generated (e.g., which operation (e.g., operation 610, 612, and/or 628) and/or the like of process 600 of
In response to receiving such a request 239, model request server 236 may be operative to use some or all of model request data 239d as input data to one or more of the models available to model request server 236 (e.g., one or more of the best CSIP models and/or one or more of the best CSCP models of best model identifier 234) in order to receive appropriate model output data 205d (e.g., any suitable model output data that may be used to customize an onboarding experience for the particular customer, including, but not limited to, one or more CSIP PSTAY scores for the particular customer's onboarding as may be determined by one or more best performing CSIP models available to model request server 236 using at least some onboarding data of model request data 239d as model input data (e.g., as may be used by operation 612 of process 600), one or more CSCP PPAY scores for the particular customer's onboarding as may be determined by one or more best performing CSCP models available to model request server 236 using at least some onboarding data of model request data 239d as model input data (e.g., as may be used by operation 610 and/or operation 628 of process 600), and/or the like).
Any or all of such model output data 205d that may be received by model request server 236 for a particular request 239 may be provided as at least a portion of any suitable model response data 237d for a model response 237 that may be returned by server 210 to any suitable target (e.g., the client source (e.g., store 265) that may have provided request 239). As shown, in addition to any suitable model output data 205d, model response data 237d may include any suitable additional model response data that may help facilitate customization and/or utilization of customer onboarding for a particular service, including, but not limited to, a “dsid” (e.g., the unique customer identifier for the particular customer and/or a customer score indicative of some trustworthiness or fraud score or otherwise that may be associated with the customer (e.g., the same identifier as in request 239, which may facilitate linking request 239 and response 237)), a “timestamp” (e.g., any suitable timestamp indicative of the time at which all or any suitable portion of response data 237d may have been generated and/or the potential time with which a particular CSIP and/or CSCP score is associated), a “model version” (e.g., any suitable data that may be indicative of a particular model of server 210 that may have been used to generate at least a portion of data 205d and/or of a type of such a model and/or the like, which may be used for diagnostic purposes or any other suitable purposes, where such optional data may be exposed to the client and may be useful, for example, when the client would like to determine how and/or when the model output evolved, where an A/B test or experiment or otherwise might be conducted based on such data by the client or otherwise), and/or the like.
As also shown in
Therefore, streaming job model builder 228 may be operative to update one or more batch job models using only particular feature types of onboarding data 225 from data 221 of queue database 222, where such updating by builder 228 may be accomplished with limited overhead and/or limited processing in a more efficient manner (e.g., as only a limited set of features of a limited set of onboarding data may be used to retrain one or more models). Thus, modules 220, 222, 224, 226, 228, and/or 230 may be operative to update and/or improve the training of one or more models based on real-time or near-real time data in an efficient manner (e.g., by focusing on only certain features of onboarding data that may be of significant importance to the effectiveness of the model(s) and/or by only using newly generated onboarding data). This may enable a certain type of model, such as a CSIP model and/or a CSCP model, to be re-trained or otherwise refreshed using onboarding data generated or otherwise first made available to server 210 (e.g., via data 221) during an active onboarding for which that refreshed model may then be used to make a determination on an updated characteristic (e.g., an updated probability) for that active onboarding (e.g., at operation 610 and/or 612 and/or 614 and/or 628 of process 600 (e.g., periodically and/or in response to any new relevant onboarding data being received for the particular customer)).
Any suitable API(s) may be used between any two communicating entities of system 1. Store 265 may call an API endpoint with a request 239 to retrieve a response, and the API response to the call may be a response 237 from server 210. Additionally or alternatively, server 210 may call an API endpoint with a request for any suitable data 211 and/or data 332 from any suitable data source, and the API response to the call may be any suitable onboarding data 211 and/or 221 or otherwise from any suitable data source.
Thus, one or more models 205 managed by server 210 may be operative to effectively and efficiently determine an appropriate customized onboarding for a particular customer for a particular service in a particular onboarding situation. For example, such a model or learning engine may include any suitable neural network (e.g., an artificial neural network) that may be initially configured, trained on one or more sets of scored (e.g., successful and/or failed) onboarding data for one or more past onboardings (e.g., individual and/or aggregated onboardings by any customers or particular customer(s)), and then used to predict an appropriate characteristic or probability for use in customizing a particular onboarding for a particular customer for a particular service in a particular onboarding situation.
A neural network or neuronal network or artificial neural network or any other suitable type of model for use in managing one or more models may be hardware-based, software-based, or any combination thereof, such as any suitable model (e.g., an analytical model, a computational model, etc.), which, in some embodiments, may include one or more sets or matrices of weights (e.g., adaptive weights, which may be numerical parameters that may be tuned by one or more learning algorithms or training methods or other suitable processes) and/or may be capable of approximating one or more functions (e.g., non-linear functions or transfer functions) of its inputs. The weights may be connection strengths between neurons of the network, which may be activated during training and/or prediction. A neural network may generally be a system of interconnected neurons that can compute values from inputs and/or that may be capable of machine learning and/or pattern recognition (e.g., due to an adaptive nature). A neural network may use any suitable machine learning techniques to optimize a training process. The neural network may be used to estimate or approximate functions that can depend on a large number of inputs and that may be generally unknown. The neural network may generally be a system of interconnected “neurons” that may exchange messages between each other, where the connections may have numeric weights (e.g., initially configured with initial weight values) that can be tuned based on experience, making the neural network adaptive to inputs and capable of learning (e.g., learning pattern recognition). A suitable optimization or training process may be operative to modify a set of initially configured weights assigned to the output of one, some, or all neurons from the input(s) and/or hidden layer(s). A non-linear transfer function may be used to couple any two portions of any two layers of neurons, including an input layer, one or more hidden layers, and an output (e.g., an input to a hidden layer, a hidden layer to an output, etc.).
Different input neurons of the neural network may be associated with respective different types of features or categories of onboarding data and may be activated by service feature data or onboarding feature data of the respective onboarding feature (e.g., each possible category or feature of BF onboarding data, each possible category or feature of UF onboarding data, each possible category or feature of TF onboarding data, each possible category or feature of TL onboarding data, each possible category or feature of graph based onboarding data, and/or the like may be associated with one or more particular respective input neurons of the neural network and transaction feature data for the particular onboarding feature may be operative to activate the associated input neuron(s)). The weight assigned to the output of each neuron may be initially configured using any suitable determinations that may be made by a custodian or processor of the model (e.g., server 210) based on the data available to that custodian.
The initial configuring of the learning engine or model (e.g., the initial weighting and arranging of neurons of a neural network of the learning engine) may be done using any suitable data accessible to a custodian of the model. For example, a model custodian may be operative to capture any suitable initial background data about a particular customer or all known customers or a subset of all known customers or all known onboardings or a subset of all known onboardings as well as any suitable result or truth for each onboarding (e.g., successful or failed (e.g., with respect to customer intent and/or customer capability)) in any suitable manner from any suitable sources (e.g., SP subsystem 200, one or more CM subsystems 300, one or more customer devices 100, one or more third party subsystems, or the like). Any suitable training methods or algorithms (e.g., learning algorithms) may be used to train the neural network of the learning engine, including, but not limited to, Back Propagation, Resilient Propagation, Genetic Algorithms, Simulated Annealing, Levenberg, Nelder-Meade, and/or the like. Such training methods may be used individually and/or in different combinations to get the best performance from a neural network. A loop (e.g., a receipt and train loop) of receiving onboarding feature data and a result/truth for an onboarding and then training the model using the received onboarding feature data and result/truth may be repeated any suitable number of times for more effectively training the learning engine, where the received onboarding feature data and the received result/truth of different receipt and train loops may be for different customers or for the same customer (e.g., for different onboardings) and/or may be received from the same source or from different sources. The number and/or type(s) of the one or more types of onboarding features for which onboarding feature data may be received for one receipt and train loop may be the same or different in any way(s) than the number and/or type(s) of the one or more onboarding features for which onboarding feature data may be received for a second receipt and train loop.
At an offline operation 602 of process 600, one or more offline components may be prepared by any suitable sub-operations of operation 602, including operations 602a, 602b, and 602c, for example, prior to a new online onboarding using such offline components at various other operations of process 600 (e.g., one, some, or each one of operations 604-638). At operation 602a, as described above, at least one CSIP model (e.g., one or more CSIPM 602am of
At operation 602b, as described above, at least one CSCP model (e.g., one or more CSCPM 602bm of
At operation 602c, one or more suitable parameters (e.g., hyperparameter(s)) may be determined (e.g., for use in one or more operations of the online portion of process 600). For example, a different CSIP threshold θSTAY may be determined at operation 602c for each CSIP model 602am trained at operation 602a, and such a CSIP threshold θSTAY may be used in a comparison (e.g., at operation 616 of process 600) with a predicted CSIP or PSTAY probability output (e.g., at operation 612 of process 600) from the associated CSIP model when run using model input features defined by onboarding data for a current online onboarding of a particular customer for a particular service. Such a CSIP threshold θSTAY may be determined for a particular CSIP model 602am by grid search or parameter sweeping or any other suitable hyperparameter optimization technique of varying at least the CSIP threshold θSTAY in order to optimize one or more characteristics of process 600 (e.g., to delay a credential authorization request during a customer onboarding process and/or to reduce or attempt to minimize the number of authorization requests made during a customer onboarding process and/or to increase or attempt to maximize the number of successful authorization requests and/or otherwise to improve or optimize or maximize or increase the success rate of each authorization request (e.g., for reducing costs associated with carrying out an authorization request) and/or customize a free trial length to increase or attempt to maximize the effectiveness of such a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service))). Such a comparison (e.g., at operation 616) may provide a constraint to limit when a customer transaction credential authorization request may be carried out during the customer onboarding process (e.g., at operation 622 of process 600), for example, to delay a credential authorization request during the customer onboarding process and/or to reduce or attempt to minimize the number of authorization requests made during the customer onboarding process and/or to otherwise make the onboarding process faster, more seamless, more efficient, and/or more effective. Grid search of the threshold may provide appropriate cost/benefit analysis.
Additionally or alternatively, a different CSCP threshold θPAY may be determined at operation 602c for each CSCP model 602bm trained at operation 602b, and such a CSCP threshold θPAY may be used in a comparison (e.g., at operation 618 and/or operation 630 of process 600) with a predicted CSCP or PPAY probability output (e.g., at operation 610 and/or operation 628 of process 600) from the associated CSCP model when run using model input features defined by onboarding data for a current online onboarding of a particular customer for a particular service. Such a CSCP threshold θPAY may be determined for a particular CSCP model 602bm by grid search or parameter sweeping or any other suitable hyperparameter optimization technique of varying at least the CSCP threshold θPAY in order to optimize one or more characteristics of process 600 (e.g., to delay a credential authorization request during a customer onboarding process and/or to reduce or attempt to minimize the number of authorization requests made during a customer onboarding process and/or to increase or attempt to maximize the number of successful authorization requests and/or otherwise to improve or optimize or maximize or increase the success rate of each authorization request (e.g., for reducing costs associated with carrying out an authorization request) and/or customize a free trial length to increase or attempt to maximize the effectiveness of such a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service))). Such a comparison (e.g., at operation 618 and/or operation 630) may provide a constraint to limit when a customer transaction credential authorization request may be carried out during the customer onboarding process (e.g., at operation 622 and/or operation 634 of process 600), for example, to delay a credential authorization request during the customer onboarding process and/or to reduce or attempt to minimize the number of authorization requests made during the customer onboarding process and/or to otherwise make the onboarding process faster, more seamless, more efficient, and/or more effective. Grid search of the threshold may provide appropriate cost/benefit analysis.
Additionally or alternatively, a different set of functionalities CSIP-TL function ƒSTAY and CSCP-TL function ƒPAY may be determined at operation 602c for each set of associated models CSIP model 602am and CSCP model 602bm trained at operations 602a and 602b (e.g., associated due to being trained on onboarding data for the same service and/or same trial window length), where such functionalities ƒSTAY and θPAY may be used at least partially (e.g., in addition to PSTAY and PPAY as output by the models associated with the functionalities (e.g., at operations 610 and 612)) to determine (e.g., at operation 614 of process 600) a customized free trial length TL for a free trial window to be provided to the customer being onboarded (e.g., at operation 620 and/or operation 624 of process 600). Such a set of functionalities ƒSTAY and ƒPAY may be determined for an associated set of models 602am and 602bm (e.g., a general model or a TL-specific model) by trial and error or grid search or parameter sweeping or any other suitable hyperparameter optimization technique of varying at least the functionalities ƒSTAY and ƒPAY or otherwise determining how a customized free trial length TL ought to be determined in order to optimize one or more characteristics of process 600 (e.g., to customize a free trial length to increase or attempt to maximize the effectiveness of such a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service))), such as by discovering a relationship between associated PSTAY and PPAY and TL for providing the best onboarding conversion rate (or any other suitable key performance indicator(s) (“KPI(s)”)). Such functionalities ƒSTAY and ƒPAY in combination with outputs PSTAY and PPAY of associated CSIP and CSCP models for determining a customized free trial length TL for the current onboarding process (e.g., at operation 614) may provide an adaptation or personalization or customization to a free trial window offered to a particular customer for a particular service of the current onboarding, for example, to increase or attempt to maximize the effectiveness of such a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service)), and/or to otherwise make the onboarding process faster, more seamless, more efficient, and/or more effective. Trial and error or grid search or otherwise of the functionalities or otherwise of the customized length calculation may provide appropriate cost/benefit analysis.
At operation 604, it may be determined whether a particular customer has attempted to initiate a sign up for a particular service (e.g., whether a customer user of device 100 has selected a specific icon labeled with a “Music Service” or “MS” (or other suitable service) textual indicator of screen 190 of
When it is determined at operation 608 that the customer is eligible for a free trial of the service, then, at operation 610, one or more appropriate CSCP models 602bm (e.g., as trained at operation 602b) may be run utilizing any or all suitable onboarding data input features as may be available for the particular customer being onboarded for the particular service (e.g., any suitable UF, BF, TF, and/or TL data (e.g., as may be aggregated at operation 606)) in order to determine one or more particular capability probability P PAYS for the current customer onboarding. For example, in some embodiments, at operation 610, only a single general (e.g., non-TL-specific) CSCP model 602bm may be run to determine a single general PPAY (e.g., PPAY-GENERAL) for the current customer onboarding. Alternatively or additionally, at operation 610, any suitable number of different (e.g., different TL-specific) CSCP models 602bm may be run to determine different TL-specific PPAYS for the current customer onboarding, for example, based on any free trial window limitations that may have been determined at operation 608 (e.g., if the free trial may be no greater than 180 days, then six (6) different CSCP models 602bm that have been trained for each one of respective free trial window lengths of 30 days, 60 days, 90 days, 120 days, 150 days, and 180 days (e.g., models CSCPM30, CSCPM60, CSCPM90, CSCPM120, CSCPM150, and CSCPM180) may be used to determine six (6) different PPAYS (e.g., PPAY-30, PPAY-60, PPAY-90, PPAY-120, PPAY-150, and PPAY-180)).
Moreover, when it is determined at operation 608 that the customer is eligible for a free trial of the service, then, before, after, or at least partially contemporaneously with operation 610, at operation 612, one or more appropriate CSIP models 602am (e.g., as trained at operation 602a) may be run utilizing any or all suitable onboarding data input features as may be available for the particular customer being onboarded for the particular service (e.g., any suitable UF, BF, TF, and/or TL data (e.g., as may be aggregated at operation 606)) in order to determine one or more particular intention probability PSTAYS for the current customer onboarding. For example, in some embodiments, at operation 612, only a single general (e.g., non-TL-specific) CSIP model 602am may be run to determine a single general PSTAY (e.g., PSTAY-GENERAL) for the current customer onboarding. Alternatively or additionally, at operation 612, any suitable number of different (e.g., different TL-specific) CSIP models 602am may be run to determine different TL-specific PSTAYS for the current customer onboarding, for example, based on any free trial window limitations that may have been determined at operation 608 (e.g., if the free trial may be no greater than 180 days, then six (6) different CSIP models 602am that have been trained for each one of respective free trial window lengths of 30 days, 60 days, 90 days, 120 days, 150 days, and 180 days (e.g., models CSIPM30, CSIPM60, CSIPM90, CSIPM120, CSIPM150, and CSIPM180) may be used to determine six (6) different PSTAYS (e.g., PSTAY-30, PSTAY-60, PSTAY-90, PSTAY-120, PSTAY-150, and PSTAY-180)).
Then, after operations 610 and 612, a customized free trial length TL may be determined for the current customer onboarding at operation 614 using any suitable information, including, but not limited to, one, some, each PPAY as determined at operation 610, one, some, each PSTAY as determined at operation 612, any suitable CSIP threshold(s) θSTAY and/or any suitable CSCP threshold(s) θPAY and/or any suitable CSIP-TL functionality(ies) ƒSTAY and/or any suitable CSCP-TL functionality(ies) ƒPAY as determined at operation 602c, any maximum free trial window length TLMAX (e.g., as determined at operation 608), and/or the like. As just one particular example, the following particular customization trial length equation (1) may be utilized at operation 614 to calculate a customized free trial length TL, such as when only a single general PPAY (e.g., PPAY-GENERAL) and only a single general PSTAY (e.g., PSTAY-GENERAL) may be determined at respective operations 610 and 612 (e.g., via respective models CSCPMGENERAL and CSIPMGENERAL):
TL=TL
MAX*ƒSTAY-GENERAL(PSTAY-GENERAL)*ƒPAY-GENERAL(PPAY-GENERAL). (1)
In such examples, each functionality may be determined to be any suitable functionality type. For example, each one of ƒSTAY-GENERAL and ƒPAY-GENERAL may be defined to be linear functionalities, Whereby ƒSTAY-GENERAL(PSTAY-GENERAL)=PSTAY-GENERAL and ƒPAY-GENERAL(PPAY-GENERAL)=PPAY-GENERAL, such that the more that the customer is determined to be willing to stay (e.g., the greater the PSTAY-GENERAL), the linearly greater the customized free trial length TL calculated by equation (1), and/or such that the more that the customer is determined to be willing to pay (e.g., the greater the PPAY-GENERAL), the linearly greater the customized free trial length TL calculated by equation (1). As another example, while ƒPAY-GENERAL may be defined to be a linear functionality ƒSTAY-GENERAL may be defined to be an inversely linear functionality, whereby ƒSTAY-GENERAL(PSTAY-GENERAL)=(1−PSTAY-GENERAL), such that the more that the customer is determined to be willing to stay (e.g., the greater the PSTAY-GENERAL), the linearly smaller the customized free trial length TL calculated by equation (1) (e.g., in order to provide a smaller free trial window if the customer is predicted to be more inclined to retain the service after the free trial). As yet another example, one or each of ƒSTAY-GENERAL and ƒPAY-GENERAL may be defined to be a complex functionality, such as an exponential functionality, whereby ƒSTAY-GENERAL(PSTAY-GENERAL)=(1/(1+e(−5*PSTAY-GENERAL))) such that the more that the customer is determined to be willing to stay (e.g., the greater the PSTAY-GENERAL), the exponentially greater the customized free trial length TL calculated by equation (1), and/or such as a step functionality, whereby ƒPAY-GENERAL(PPAY-GENERAL)=PPAY-GENERAL if PPAY-GENERAL≥θPAY-GENERAL or ƒPAY-GENERAL(PPAY-GENERAL)=0.5 if PPAY-GENERAL<θPAY-GENERAL, such that if the customer is determined to be willing to stay at least a threshold amount, the step-wise greater the customized free trial length TL calculated by equation (1). Such an equation and/or such functionalities and/or other variables of such equations for calculating a customized trial length TL may be fine-tuned and/or experimented with (e.g., offline (e.g., at operation 602c)) prior to operation 614 and/or may vary based on the particular service of the onboarding. Such functionalities ƒSTAY-GENERAL and ƒPAY-GENERAL in combination with outputs PSTAY-GENERAL and PPAY-GENERAL of associated CSIP and CSCP general models for determining a customized free trial length TL for the current onboarding process (e.g., at operation 614) may provide an adaptation or personalization or customization to a free trial window offered to a particular customer for a particular service of the current onboarding, for example, to increase or attempt to maximize the effectiveness of such a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service)) and/or to otherwise make the onboarding process faster, more seamless, more efficient, and/or more effective. Trial and error or grid search or otherwise of the functionalities or otherwise of the customized length calculation may provide appropriate cost/benefit analysis.
As just one other particular example, any suitable functionality(ies) ƒSPECIFIC may be determined at operation 602c (e.g., through conditional probability or feedback loop or any suitable grid search or trial and error or otherwise) and then utilized at operation 614 to calculate a customized free trial length TL when different CSIP models 602am may be run at operation 610 to determine different TL-specific PSTAYS for the current customer onboarding and when different CSCP models 602bm may be run at operation 612 to determine different TL-specific PPAYS for the current customer onboarding. For example, six (6) different CSIP models 602am may be trained for a respective one of six (6) different possible free trial window lengths of 30 days, 60 days, 90 days, 120 days, 150 days, and 180 days (e.g., models CSIPM30, CSIPM60, CSIPM90, CSIPM120, CSIPM150, and CSIPM180) and may then be used to determine six (6) different PSTAYS (e.g., PSTAY-30, PSTAY-60, PSTAY-90, PSTAY-120, PSTAY-150, and PSTAY-180), while six (6) different CSPP models 602bm may be trained for a respective one of six (6) different possible free trial window lengths of 30 days, 60 days, 90 days, 120 days, 150 days, and 180 days (e.g., models CSCPM30, CSCPM60, CSCPM90, CSCPM120, CSCPM180, and CSCPM180) and may then be used to determine six (6) different PPAYS (e.g., PPAY-30, PPAY-60, PPAY-90, PPAY-120, PPAY-150, and PPAY-180). In such examples, a functionality ƒSPECIFIC may be used for carrying out a determination of a customization trial length equation (2) as follows:
TL=ƒ
SPECIFIC((PPAY-30,PPAY-60,PPAY-90,PPAY-120,PPAY-150,PPAY-180), (PSTAY-30,PSTAY-60,PSTAY-90,PSTAY-120,PSTAY-150,PSTAY-180)). (2)
In such an example, functionality ƒSPECIFIC may be determined to be any suitable functionality type. For example, functionality ƒSPECIFIC may be defined to select the TL associated with the particular one of the six (6) PPAY,PSTAY sets that generates the largest product (e.g., TL=30 days when (PPAY-30*PSTAY-30) is larger than each one of (PPAY-60*PSTAY-60) and (PPAY-90*PSTAY-90) and (PSTAY-120*PSTAY-120) and (PSTAY-150*PSTAY-150) and (PSTAY-180*PSTAY-180), or TL=60 days when (PSTAY-60*PSTAY-60) is larger than each one of (PSTAY-30*PSTAY-30) and (PSTAY-90*PSTAY-90) and (PSTAY-120*PSTAY-120) and (PSTAY-150*PSTAY-150) and (PSTAY-180*PSTAY-180), etc.), such that, for example, the TL with the largest combined probability may be selected. As another example, functionality ƒSPECIFIC may be defined to select the TL associated with the particular one of the six (6) PPAY,PSTAY sets with the largest PSTAY (e.g., TL=30 days when PSTAY-30 is larger than each one of PSTAY-60 and PSTAY-90 and PSTAY-120 and PSTAY-150 and PSTAY-180, or TL=60 days when PSTAY-60 is larger than each one of PSTAY-30 and PSTAY-90 and PSTAY-120 and PSTAY-150 and PSTAY-180, etc.), such that, for example, the TL with the largest stay probability may be selected. As another example, functionality ƒSPECIFIC may be defined to select the TL associated with an average or median or otherwise of the TL associated with the largest one of the six (6) PPAYS and the TL associated with the largest one of the six (6) PSTAYS (e.g., TL=60 days when not only PPAY-30 is greater than each one of PSTAY-60 and PPAY-90 and PSTAY-120 and PPAY-150 and PSTAY-180 but also PSTAY-90 is larger than each one of PSTAY-30 and PSTAY-60 and PSTAY-120 and PSTAY-150 and PSTAY-180, or TL=120 days when not only PSTAY-60 is greater than each one of PPAY-30 and PPAY-90 and PPAY-120 and PPAY-150 and PPAY-180 but also PSTAY-180 is larger than each one of PSTAY-30 and PSTAY-60 and PSTAY-90 and PSTAY-120 and PSTAY-150, etc. (e.g., the average of the TLs of the greatest PPAY and the greatest PSTAY)), such that, for example, the average or median of the TLs providing the greatest pay probability and the greatest stay probability. Such functionality ƒSPECIFIC in combination with outputs PSTAY and PPAY of the associated CSIP and CSCP TL-specific models for determining a customized free trial length TL for the current onboarding process (e.g., at operation 614) may provide an adaptation or personalization or customization to a free trial window offered to a particular customer for a particular service of the current onboarding, for example, to increase or attempt to maximize the effectiveness of such a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service)) and/or to otherwise make the onboarding process faster, more seamless, more efficient, and/or more effective. Trial and error or grid search or otherwise of the functionality or otherwise of the customized length calculation may provide appropriate cost/benefit analysis. For an intention or stay model, a KPI or goal or training intent may be to increase or otherwise attempt to maximize the number of customers that pay for a service after a free trial (e.g., increase conversion rate) and/or to increase or otherwise attempt to maximize the length of a customer's engagement with a service after a free trial. For a capability or pay model, a KPI or goal or training intent may be to increase or otherwise attempt to maximize the number of customers that pay for a service after a free trial (e.g., increase conversion rate) and/or to increase or otherwise attempt to maximize the number of customers with successful deferred payment. Conditional probability and/or feedback loop or any suitable grid search or trial and error or otherwise may be utilized to determine any useful relationship between maximizing successful onboarding (e.g., increasing or otherwise attempting to maximize onboarding KPI(s)) with trial window length.
At operation 616, at least one particular PSTAY, as determined at operation 612 for the particular current onboarding using a particular CSIP model 602am trained at operation 602a, may be compared to a particular CSIP threshold θSTAY, as determined at operation 602c for that particular CSIP model 602am, to determine whether that particular PSTAY is greater than or equal to that particular CSIP threshold θSTAY, and, if so, process 600 may proceed from operation 616 to operation 618, otherwise, process 600 may proceed from operation 616 to operation 622. For example, when only a single general PSTAY (e.g., PSTAY-GENERAL) is determined at operation 612 (e.g., via a model CSIPMGENERAL), then process 600 may advance from operation 616 to operation 618 when it is determined at operation 616 that PSTAY-GENERAL is greater than or equal to a CSIP threshold θSTAY-GENERAL that may be determined to be associated with CSIPMGENERAL at operation 602. Alternatively, when various different TL-specific PSTAYS (e.g., PSTAY-30, PSTAY-60, PSTAY-90, PSTAY-120, PSTAY-150, and PSTAY-180) are determined at operation 612 for various specific TLs (e.g., via respective TL-specific models CSIPM30, CSIPM60, CSIPM90, CSIPM120, CSIPM150, and CSIPM180), but a specific customized TL may be determined at operation 614, then process 600 may advance from operation 616 to operation 618 when it is determined at operation 616 that the PSTAY associated with that specific customized TL is greater than or equal to a specific CSIP threshold θSTAY that may be determined at operation 602 to be associated with the CSIPM associated with that specific customized TL (e.g., when it is determined at operation 614 that the customized free trial length TL is 120 days, then process 600 may advance from operation 616 to operation 618 when it is determined at operation 616 that PSTAY-120 is greater than or equal to a CSIP threshold θSTAY-120 that may be associated at operation 602c with CSIPM120).
At operation 618, at least one particular PPAY, as determined at operation 610 for the particular current onboarding using a particular CSCP model 602bm trained at operation 602b, may be compared to a particular CSCP threshold θPAY, as determined at operation 602c for that particular CSCP model 602bm, to determine whether that particular PPAY is greater than or equal to that particular CSCP threshold θPAY, and, if so, process 600 may proceed from operation 618 to operation 620, otherwise, process 600 may proceed from operation 618 to operation 622. For example, when only a single general PPAY (e.g., PPAY-GENERAL) is determined at operation 610 (e.g., via a model CSCPMGENERAL), then process 600 may advance from operation 618 to operation 620 when it is determined at operation 618 that PPAY-GENERAL is greater than or equal to a CSCP threshold θPAY-GENERAL that may be determined to be associated with CSCPMGENERAL at operation 602. Alternatively, when various different TL-specific PPAYS (e.g., PPAY-30, PPAY-60, PPAY-90, PPAY-120, PPAY-150, and PPAY-180) are determined at operation 610 for various specific TLs (e.g., via respective IL-specific models CSCPM30, CSCPM60, CSCPM90, CSCPM120, CSCPM150, and CSCPM180), but a specific customized TL may be determined at operation 614, then process 600 may advance from operation 618 to operation 620 when it is determined at operation 618 that the PPAY associated with that specific customized TL is greater than or equal to a specific CSCP threshold θPAY that may be determined at operation 602 to be associated with the CSCPM associated with that specific customized TL (e.g., when it is determined at operation 614 that the customized free trial length TL is 120 days, then process 600 may advance from operation 618 to operation 620 when it is determined at operation 618 that PPAY-120 is greater than or equal to a CSCP threshold θPAY-120 that may be associated at operation 602c with CSCPM120).
When the comparison of each one of operations 616 and 618 is successful (e.g., when the predicted likelihood of the customer to stay is greater than or equal to an applicable stay threshold and when the predicted likelihood of the customer to pay is greater than or equal to an applicable pay threshold), then process 600 may arrive at operation 620, where a free trial of customized length TL (e.g., as determined at operation 614) for at least a portion of the particular service of the current onboarding may be initiated and provided to the customer of the current onboarding (e.g., without requiring any successful attempt at a customer transaction credential authorization request for a customer transaction credential of the customer of the onboarding between operation 604 and operation 620). In such instances, the customer may be presented with any suitable new interface during the onboarding, such as by proceeding directly from screen 190a or screen 190b to a screen 190g of
Therefore, while operation 620 may initially provide a customer with a free trial for the service, operation 620 may occur prior to a customer transaction credential being registered or authorized (e.g., an operation similar to operation 622 may be carried out after initiation of the free trial being provided to the customer (e.g., in order to speed up the process of providing service to the customer)), or operation 620 may occur after an initial attempt to register and/or authorize a customer transaction credential (e.g., an operation similar to operation 622 may be carried out prior to initiation of the free trial being provided to the customer at operation 620 but operation 620 may occur even if such an attempt were to fail (e.g., in order to speed up the process of providing service to the customer)). Thus, in some embodiments, as long as the predicted likelihood of the customer to pay is greater than or equal to an applicable pay threshold and the predicted likelihood of the customer to stay is greater than or equal to an applicable stay threshold, then a free trial of the service of the current onboarding may be initiated and provided to the customer of the current onboarding without requiring any successful attempt at a customer transaction credential authorization request for a customer transaction credential of the customer of the onboarding, such that the onboarding process may be furthered by providing the free trial of the service to the customer even if a customer transaction credential has not yet been authorized (e.g., between operation 604 and operation 620). In some embodiments, a customer transaction credential may be determined to be of record with (e.g., registered with) the SP prior to operation 620 (e.g., a credential previously used by the SP for some other purpose) even if that customer transaction credential is not authorized between operation 604 and operation 620. Therefore, registration of a customer transaction credential with the SP may be a requirement prior to operation 620 even if authorization of that or any other suitable customer transaction credential need not be accomplished prior to operation 620. Alternatively, in some embodiments, a customer transaction credential may need not be determined to be of record with (e.g., registered with) the SP prior to operation 620 (e.g., no credential of the customer may have previously been used by the SP for some other purpose) and a free trial for the service may be provided to the customer (e.g., at operation 620) with a calculated risk (e.g., at operation 618) that a customer transaction credential will eventually be registered and authorized (e.g., by providing the customer with a benefit of the doubt based on the success of operation 618). In some embodiments, the attempt to authorize a customer transaction credential at operation 622 may be in order to determine whether the customer transaction credential may be authorized at that moment in time. Alternatively, in some embodiments, the attempt to authorize a customer transaction credential at operation 622 may be in order to determine whether the customer transaction credential may be authorized at a moment in time once the free trial period ends (e.g., a length of time TL from the moment in time of operation 622) in order to ensure that the customer transaction credential will be valid once the customized trial length ends.
Alternatively, when the comparison of either one of operations 616 and 618 is not successful (e.g., when the predicted likelihood of the customer to stay is less than an applicable stay threshold and/or when the predicted likelihood of the customer to pay is less than an applicable pay threshold), then process 600 may arrive at operation 622, where an attempt may be made to authorize a customer transaction credential of the customer of the onboarding prior to providing the customer with a free trial of the determined customized length. In such instances, the customer may be presented with any suitable new interface during the onboarding for enabling such an attempt at a customer transaction credential authorization request, such as by proceeding directly from screen 190a or screen 190b to a screen 190c of
When it is determined at operation 608 that the customer is not eligible for a free trial of the service, then, at operation 628, one or more appropriate CSCP models 602bm (e.g., as trained at operation 602b) may be run utilizing any or all suitable onboarding data input features as may be available for the particular customer being onboarded for the particular service (e.g., any suitable UF, BF, TF, and/or TL data) in order to determine one or more particular capability probability PPAYS for the current customer onboarding. For example, in some embodiments, at operation 628, only a single general (e.g., a non-TL-specific or a zero-length-TL-specific) CSCP model 602bm may be run to determine a single PPAY (e.g., PPAY-GENERAL or a PPAY-0) for the current customer onboarding. Alternatively or additionally, at operation 628, any suitable number of different (e.g., different TL-specific) CSCP models 602bm may be run to determine different TL-specific PPAYS for the current customer onboarding, for example, based on any free trial window limitations that may have been determined at operation 608, yet this may be unlikely or unnecessary as a free trial window is not being offered when flowing through operation 628.
After operation 628, process 600 may proceed to operation 630, at which at least one particular PPAY, as determined at operation 628 for the particular current onboarding using a particular CSCP model 602bm trained at operation 602b, may be compared to a particular CSCP threshold θPAY, as determined at operation 602c for that particular CSCP model 602bm, to determine whether that particular PPAY is greater than or equal to that particular CSCP threshold θPAY, and, if so, process 600 may proceed from operation 630 to operation 632, otherwise, process 600 may proceed from operation 630 to operation 634. For example, when only a single general PPAY (e.g., PPAY-GENERAL or a PPAY-0) is determined at operation 628 (e.g., via a model CSCPMGENERAL or via a model CSCPM0), then process 600 may advance from operation 630 to operation 632 when it is determined at operation 630 that PPAY-GENERAL is greater than or equal to a CSCP threshold θPAY-GENERAL that may be determined to be associated with CSCPMGENERAL at operation 602 or when it is determined at operation 630 that PPAY-0 is greater than or equal to a CSCP threshold θPAY-0 that may be determined to be associated with CSCPM0 at operation 602. Alternatively, when various different TL-specific PPAYS are determined at operation 628 for various specific TLs, then process 600 may advance from operation 630 to operation 632 when it is determined at operation 630 that any particular PPAY or function thereof that may be derived at operation 628 is greater than or equal to a particular or any suitable derivation of a CSCP threshold θPAY.
When the comparison of operation 630 is successful (e.g., when the predicted likelihood of the customer to pay is greater than or equal to an applicable pay threshold), then process 600 may arrive at operation 632, where a service to be paid for, or a service that has been paid for, of the particular service of the current onboarding may be initiated and provided to the customer of the current onboarding (e.g., without requiring any successful attempt at a customer transaction credential authorization request for a customer transaction credential of the customer of the onboarding between operation 604 and operation 632). In such instances, the customer may be presented with any suitable new interface during the onboarding, such as by proceeding directly from screen 190a or screen 190b to a screen 190j of
Thus, in some embodiments, as long as the predicted likelihood of the customer to pay is greater than or equal to an applicable pay threshold, then a service of the current onboarding to be paid for may be initiated and provided to the customer of the current onboarding without requiring any successful attempt at a customer transaction credential authorization request for a customer transaction credential of the customer of the onboarding, such that the onboarding process may be furthered by providing service to the customer even if a customer transaction credential has not yet been authorized. In some embodiments, a customer transaction credential may be determined to be of record with the SP prior to operation 632 (e.g., a credential previously used by the SP for some other purpose) even if that customer transaction credential is not authorized between operation 604 and operation 632. Therefore, registration of a customer transaction credential with the SP may be a requirement prior to operation 632 even if authorization of that or any other suitable customer transaction credential need not be accomplished prior to operation 632. Alternatively, in some embodiments, a customer transaction credential may need not be determined to be of record with the SP prior to operation 632 (e.g., no credential of the customer may have previously been used by the SP for some other purpose) and a to-be-paid for service may be provided to the customer (e.g., at operation 632) with a calculated risk (e.g., at operation 630) that payment will eventually be made (e.g., by providing the customer with a benefit of the doubt based on the success of operation 630).
Alternatively, when the comparison of operation 630 is not successful (e.g., when the predicted likelihood of the customer to pay is less than an applicable pay threshold), then process 600 may arrive at operation 634, where an attempt may be made to authorize a customer transaction credential of the customer of the onboarding prior to providing the customer with at least a portion of the service. In such instances, the customer may be presented with any suitable new interface during the onboarding for enabling such an attempt at a customer transaction credential authorization request, such as by proceeding directly from screen 190a or screen 190b to a screen 190c of
It is understood that the operations shown in process 600 of
Therefore, SP subsystem 200 may be configured to provide a new layer of efficiency and/or effectiveness and/or control to customer onboarding by customizing one or more aspects of an onboarding process (e.g., the length of a free trial and/or under what circumstances may a free trial or a to-be-paid-for service be provided to a customer prior to authorizing a customer transaction credential) afforded by the SP subsystem to a particular customer for a particular service for delaying a credential authorization request during the customer onboarding process and/or for reducing or attempting to minimize the number of authorization requests made during the customer onboarding process and/or for increasing or attempt to maximize the number of successful authorization requests and/or otherwise for improving or optimizing or maximizing or increasing the success rate of each authorization request (e.g., for reducing costs associated with carrying out an authorization request) and/or for increasing or attempting to maximize the effectiveness of a free trial (e.g., to promote customer engagement and intention for retention of the service (e.g., customer decision to pay for continuation of the service)) and/or for otherwise making the onboarding process faster, more seamless, more efficient, and/or more effective. In some embodiments, customer transaction credential registration and/or authorization may be skipped prior to initiating the providing of a service or a free trial thereof to a customer during an onboarding process, for example, when a predicted likelihood of the customer to pay for the service is greater than or equal to an applicable pay threshold (e.g., when a PPAY is determined to be greater than or equal to (or otherwise favorably compare with) an appropriate CSCP threshold θSTAY), where such a predicted likelihood to pay may be a result of an output from any appropriately trained model using any suitable input features for the customer and/or service being onboarded (e.g., past history information associated with the customer (e.g., historical payment details of the customer (e.g., previous purchases and/or attempted purchases by the customer), etc.), etc.) and/or when a predicted likelihood of the customer to use the service is greater than or equal to an applicable stay threshold (e.g., when a PSTAY is determined to be greater than or equal to (or otherwise favorably compare with) an appropriate CSIP threshold θSTAY), where such a predicted likelihood to stay may be a result of an output from any appropriately trained model using any suitable input features for the customer and/or service being onboarded. A free trial length may, thus, be customized with a goal of motivating the customer to stay and to pay. Using particular test/training onboarding data from previous onboarding attempts and/or any other suitable customer/service transactions of any suitable type with known outcomes, a customer service intention probability model may be generated/trained for appropriately predicting/determining the probability of a customer staying with a particular service and/or a customer service capability probability model may be generated/trained for appropriately predicting/determining the probability of a customer paying for a particular service. By creating one or more such models that have been generated using trusted test data, such model(s) may be relied on by the system to accurately predict one or more customer interactions during the onboarding process, which may enable server 210 to efficiently and effectively balance risk and reward for customizing the onboarding process for a particular customer for a particular service of a particular customer onboarding with an SP. In some embodiments, one or more such models may be updated and/or any suitable model input features may be updated for re-customizing the onboarding process during the onboarding itself (e.g., by reducing or expanding or terminating a free trial currently underway), such that onboarding may be further customized and dynamically adjusted to further mitigate risk by intelligently and efficiently updating the onboarding accordingly (e.g., by utilizing new data about the particular customer or otherwise).
One, some, or all of the processes described with respect to
It is understood that any, each, or at least one module or component or subsystem of system 1 may be provided as a software construct, firmware construct, one or more hardware components, or a combination thereof. For example, any, each, or at least one module or component or subsystem of system 1 may be described in the general context of computer-executable instructions, such as program modules, that may be executed by one or more computers or other devices. Generally, a program module may include one or more routines, programs, objects, components, and/or data structures that may perform one or more particular tasks or that may implement one or more particular abstract data types. It is also to be understood that the number, configuration, functionality, and interconnection of the modules and components and subsystems of system 1 are only illustrative, and that the number, configuration, functionality, and interconnection of existing modules, components, and/or subsystems may be modified or omitted, additional modules, components, and/or subsystems may be added, and the interconnection of certain modules, components, and/or subsystems may be altered.
At least a portion of one or more of the modules or components or subsystems of system 1 may be stored in or otherwise accessible to an entity of system 1 in any suitable manner (e.g., in memory 104 of device 100 (e.g., as at least a portion of an application 103 and/or as at least a portion of an application 103a)). Any or all of the modules or other components of system 1 may be mounted on an expansion card, mounted directly on a system motherboard, or integrated into a system chipset component (e.g., into a “north bridge” chip).
Any or each module or component of system 1 may be a dedicated system implemented using one or more expansion cards adapted for various bus standards. For example, all of the modules may be mounted on different interconnected expansion cards or all of the modules may be mounted on one expansion card. Any or each module or component of system 1 may include its own processing circuitry and/or memory. Alternatively, any or each module or component of system 1 may share processing circuitry and/or memory with any other module.
As described above, one aspect of the present technology is the gathering and use of data available from various sources to customize authorization request schedules. The present disclosure contemplates that in some instances, this gathered data may include personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data can include demographic data, location-based data, telephone numbers, email addresses, social network identifiers, home addresses, office addresses, data or records relating to a user's health or level of fitness (e.g., vital signs measurements, medication information, exercise information, etc.) or purchase history, date of birth, or any other identifying or personal information.
The present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users. The present disclosure contemplates that the entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data will comply with well-established privacy policies and/or privacy practices. In particular, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining personal information data private and secure. Such policies should be easily accessible by users, and should be updated as the collection and/or use of data changes. Personal information from users should be collected for legitimate and reasonable uses of the entity and not shared or sold outside of those legitimate uses. Further, such collection/sharing should occur after receiving the informed consent of the users. Additionally, such entities should consider taking any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy policies and procedures. Further, such entities can subject themselves to evaluation by third parties to certify their adherence to widely accepted privacy policies and practices. In addition, policies and practices should be adapted for the particular types of personal information data being collected and/or accessed and adapted to applicable laws and standards, including jurisdiction-specific considerations. For instance, in the United States, collection of or access to certain health data may be governed by federal and/or state laws, such as the Health Insurance Portability and Accountability Act (“HIPAA”); whereas health data in other countries may be subject to other regulations and policies and should be handled accordingly. Hence different privacy practices should be maintained for different personal data types in each country.
Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, in the case of location detection services, the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services or anytime thereafter. In addition to providing “opt in” or “opt out” options, the present disclosure contemplates providing notifications relating to the access or use of personal information. For instance, a user may be notified upon downloading an app that their personal information data will be accessed and then reminded again just before personal information data is accessed by the app.
Moreover, it is the intent of the present disclosure that personal information data should be managed and handled in a way to minimize risks of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting data once it is no longer needed. In addition, and when applicable, including in certain health related applications, data de-identification can be used to protect a user's privacy. De-identification may be facilitated, when appropriate, by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of data stored (e.g., collecting location data a city level rather than at an address level), controlling how data is stored (e.g., aggregating data across users), and/or other methods.
Therefore, although the present disclosure broadly covers use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data. For example, customizing customer onboarding can be made based on non-personal information data or a bare minimum amount of personal information, such as the content being requested by the device associated with a user, other non-personal information available to the device, or publicly available information.
While there have been described systems, methods, and computer-readable media for customizing customer onboarding, it is to be understood that many changes may be made therein without departing from the spirit and scope of the subject matter described herein in any way. Insubstantial changes from the claimed subject matter as viewed by a person with ordinary skill in the art, now known or later devised, are expressly contemplated as being equivalently within the scope of the claims. Therefore, obvious substitutions now or later known to one with ordinary skill in the art are defined to be within the scope of the defined elements.
Therefore, those skilled in the art will appreciate that the invention can be practiced by other than the described embodiments, which are presented for purposes of illustration rather than of limitation.
This application claims the benefit of prior filed U.S. Provisional Patent Application No. 62/771,441, filed Nov. 26, 2018, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62771441 | Nov 2018 | US |