Computer-based systems and methods for risk detection, visualization, and resolution using modular chainable algorithms

Computer-based systems and methods for risk/reward detection, visualization, and resolution using modular chainable algorithms are provided. The system allows for computer-based modeling of large data sets with improving processing speed and utilizing fewer computational resources. The modular chainable algorithms included embedded program code executable by a processor for performing a data modeling or analytic function on source data, visualization code for visualizing output of the program code, and workflow code for automatically performing one or more actions relating to the data modeling or analytic function.

BACKGROUND

Technical Field

The present disclosure relates generally to the field of information technology. More specifically, the present disclosure relates to computer-based systems and methods for risk detection, visualization, and resolution using modular chainable algorithms.

Related Art

Various computer-based data analytics tools have, in the past, been developed for use in various fields of endeavor. One such field relates to the detection of billing patterns and fraud detection for various entities, such as government entities. While such tools have the capability of detecting risk patterns and visualizing such patterns, they are often limited in their algorithmic flexibility, thereby limiting the value of such tools. Moreover, such systems lack the ability to chain multiple algorithms together, in a modular fashion, to conduct sophisticated modeling and analytics tasks. Accordingly, these and other needs are addressed by the systems and methods of the present disclosure.

SUMMARY

The present disclosure relates to computer-based systems and methods for risk detection, visualization, and resolution using modular chainable algorithms. The system allows for computer-based modeling of large data sets with improving processing speed and utilizing fewer computational resources. The modular chainable algorithms included embedded program code executable by a processor for performing a data modeling or analytic function on source data, visualization code for visualizing output of the program code, and workflow code for automatically performing one or more actions relating to the data modeling or analytic function.

DETAILED DESCRIPTION

The present disclosure relates to computer-based systems and methods for risk detection, visualization, and resolution using modular chainable algorithms, as described in detail below in connection withFIGS.1-12.

FIG.1is a diagram illustrating the system10of the present disclosure. The system provides computer-based risk detection, visualization, and resolution from large data sets, using modular chainable algorithms. The system10provides these features by performing advanced data analysis on input data and displaying analysis results to one or more users that have the ability to create cases for further review or investigation. As will be discussed in further detail below, the system10utilizes web applications, microservices servers, database systems, and external applications to provide the risk detection, visualization, and resolution features to the one or more users.

As shown inFIG.1, the system10includes user devices12a,12b, a third party server14, a web auto-scaling group16, an application programming interface (API) auto-scaling group22, a microservices group28, a single sign-on32(SSO) and a data pipeline services system40. The user devices12a,12bare in communication with the web auto-scaling group16which includes a load balancer18and one or more web servers20. The third party server14is in communication with the API auto-scaling group22which includes a load balancer24and one or more API gateways or servers26. The microservices group28includes one or more microservices servers30.

The data pipeline services system40is in communication with a visualization server34, a relational data service (RDS) database36, a workflow controller38, an algorithm execution system42, an extension services server44, and a plurality of databases46. It is noted that the components of the system10can be implemented using one or more software or hardware components, such as page design software applications, workflow controller and data platform applications, relational and/or non-relational database server applications, web application runtime components, key-value storage systems, and various modules for providing data analytics and visualization. Of course, a person of ordinary skill in the art appreciates that various other software applications can be utilized to implement the various features of the system of the present disclosure, and that the systems and methods of the present disclosure are not limited in this regard.

The system10is designed for scalable computing and serves small commodity web servers for delivering front-end experience to the users11a,11bbacked by slightly larger (and scalable) application servers and database clusters. The system10can run in any hosted environment. For example, the system10can be hosted on a cloud provider, including, but not limited to, Amazon® Web Services (AWS), Google® Cloud Platform, Microsoft® Azure, etc.

The system10utilizes one or more algorithms to process input data to generate cases for investigators or individuals in the field. These algorithms can be triggered to execute in the backend architecture of the system10but can also be executed by the API auto-scaling group22and the microservices group28. It is noted that the web-auto-scaling group16can run asynchronously and can execute an algorithm such that the system10is responsive to the users11a,11b.

As will be described in greater detail below, the system10executes one or more “chainable” algorithms to manipulate and generate user inputs and data lists. The algorithm can consist of one or more input data sources, algorithmic processing and the presentation of and execution upon resultant data. Specifically, the algorithms can receive input data sources, process the received input data sources, and display results in one or more formats such that the results can be acted upon in a course of action. Importantly, the chainable algorithms of the present disclosure are software components which include algorithms for conducting one or more modeling or data analytics functions, as well as software instructions for automatically rendering/displaying the results of such modeling or data analytics on one or more computer systems. The chainable algorithms “containerize” the algorithms for performing modeling/analytics, as well as computer-executable instructions for controlling how the results of modeling/analytics are displayed, the data used to resolve itself, and what additional information should be collected to support additional analysis by a subject matter expert or a subsequent algorithm. Each chainable algorithm generates a list of items or subsequent actions to be taken, including resolution or collection of follow-up information, as well as generation of visualizations that generate progress toward resolution of an issue. The features of the algorithms of the system10will be discussed in further detail below.

Input data sources vary and as such the algorithm of the system10can process multiple types of input data sources. For example, a library of Python algorithms can be designed and implemented to handle data in structured forms in SQL databases, network accessible data sources including those using an Internet Uniform Resource Locator (URL) or web service, as well as file and list formats. In addition to file and relational formats, the algorithms of the system10can support JavaScript Object Notation (JSON) and Extensible Markup Language (XML) formats through the utilization of NoSQL data connections and XML import files.

The algorithms executed by the system10can generate resultant data to be stored in one or more data sources. The architecture of the system10provides access to multiple databases. For example, relational data can be stored in the RDS database36(e.g., a PostreSQL database) and JSON data can be stored in the plurality of databases46(e.g., a Sharded Mongo database cluster for hosting NoSQL collections). Additionally, data sources may consist of one or more non-data items including, but not limited to, a Portable Document Format (PDF) or a Word document, a spreadsheet, an image, and other binary items. A non-data item can be provided to the algorithm through a path variable and can be stored internally by the system10or externally (e.g., Amazon S3). Whether a non-data item is stored internally by the system10or externally can be determined when authoring the algorithm.

In some cases, the system10may receive, as an input data source, data from another system (e.g., an application). As such, the data may be stored in a proprietary format and require one or more data transformation steps before the data can be processed by an algorithm of the system10. A data transformation step can be executed independently of an execution boundary of an algorithm of the system10. It is noted that an algorithm of the system10can provide an optional means for validating the data before any processing occurs.

In addition to an input data source, an algorithm of the system10may be provided with one or more input parameters to govern the algorithmic processing of the algorithm. It is noted that a system administrator or analyst can adjust the one or more input parameters when authoring the algorithms. Each parameter can be accompanied by a user viewable prompt, its data type, and bounded values that can be provided to the algorithmic processing for input validation. Each algorithm of the system10may execute processing against statically defined data (i.e., static data) or data that can change over time (i.e., dynamic data). The system administrator or analyst can tag the input data as static or dynamic when authoring the algorithm.

The system10supports Python as the standard language for algorithmic processing. An analyst can edit a Python script file by utilizing one or more development tools and thereafter upload the edited Python script file into the system10. The system10can execute the edited Python script file by utilizing a standard calling infrastructure providing the algorithm with its input data source path which may consist of a connection string, path to a file, or a web address. A data source parameter provided to a Python script file can follow the Uniform Resource Indicator (URI) syntax, consisting of a scheme and a location. It is noted that the foregoing functionality could be coded using programming languages other than the Python programming language.

The algorithmic processing generates one or more lists of resultant data that can be acted upon in a Course of Action (CoA). Each item of a generated list is its own contained resultant. As such, a CoA can be executed against a list or a resultant item of the list. A system analyst can determine whether to execute the CoA against the list or the resultant item of the list when authoring the algorithm. Optionally, as part of its output, an algorithm can generate a confidence score for each generated list of resultant data. The confidence score can be utilized to evaluate a degree of trust by the algorithmic processing in each generated list of resultant data. The confidence score can be available as a data member in the object and can be assigned a value between 0 and 1, NOT_APPLICABLE or UNDEFINED. A confidence score may be defaulted to NOT_APPLICABLE. A system analyst can optionally program for the default NOT_APPLICABLE capability so that calling software can determine if the value should be utilized in further processing.

Visualization is implemented by interactive data visualization software (e.g., Tableau or other suitable visualization software) and presented in the system10web application in a Hyper Text Markup Language (HTML) Inline Frame (IFRAME) construct. For example, an analyst in Tableau can utilize resultant data generated from the execution of algorithmic processing to define an algorithm presentation. An algorithm of the system10can provide Tableau its resultant data as an input parameter that is a pointer to data, or store its resultant data in one or more database collections (e.g., NoSQL) or database tables (e.g., a relational database management system (RDBMS)) that Tableau can access and read. The aforementioned algorithm presentation can be rendered by providing a Tableau generated Uniform Resource Locator (URL) to an application of the system10. A URL can be defined when the algorithm is authored and can be stored as part of an object storage of the algorithm.

As discussed above, a CoA can be authored by an analyst and consists of a workflow map drawn using business process model and notation (BPMN) or presented in any suitable notation that is capable of tracking progress or a series of linear or non-linear steps. Each step of the workflow map is indicative of an activity or work item that can be executed during the CoA. The system10can utilize a platform (e.g., Camunda, or other suitable case management tools/systems) for storing and executing the CoA. For example, a Camunda workflow map utilizes a work item that proceeds through each activity or workflow step. Each work item can be assigned a unique identification (ID) generated by Camunda and stored within an application database of the system10. Work items proceed through a Camunda workflow by setting one or more status codes for a specific workflow step that can instruct Camunda to transmit the work item to the next workflow step or fail the current workflow step. It is noted that an analyst can determine the workflow step, the return code of the workflow step and the next workflow step when authoring the algorithm. In addition, a workflow step can be passive or active. An active workflow step can require that another algorithm be executed to determine the return code thereof and may not be determined by a user generated activity or selection. It is also noted that CoA progression and work item status are maintained within the Camunda tool but can be accessible to a user of the system10.

FIG.2is a flow chart illustrating processing steps60carried out by the system10of the present disclosure for developing and executing an algorithm. An algorithm development contract can span multiple subject areas and, as such, in step62, an analyst or other personnel can communicate with stakeholders to identify and develop contract policy. In step64, one more data sources including, but not limited to, physical and digital sources, relevant to the contact policy are identified. Then, in step66, the analyst/personnel develop one or more modular, chainable algorithms and data models in accordance with the present disclosure based on the identified contract policy, data sources, and subject matter expertise.

In step68, the personnel execute the one or more modular, chainable algorithms in accordance with the present disclosure to generate data including analytics and one or more lists of resultant data. In step70, a field investigator and/or operator can execute one or more cases generated from the one or more lists of resultant data. In steps72and74, additional one or more lists of resultant data and feedback are generated from the data collected by the field investigator and/or operator during the execution of the one or more cases. Lastly, in step76, the additional one or more lists of resultant data and feedback are utilized to determine whether a case can be terminated.

FIG.3is a diagram90illustrating an overview of an algorithm96executed by the system10of the present disclosure. The algorithm96of the system10utilizes a pointer to the resource(s) it requires for processing to minimize memory requirements during execution time. As discussed above, the algorithm96utilizes a plurality of input data sources and databases for execution that can be persistent storage or path storage. For example, the algorithm96can utilize data stored and/or sourced from a Bolt database92, one or more applications94, FLD data98, one or more external databases100and one or more external documents102. It is noted that summary data104can be generated based on the data stored and/or sourced from the one or more external databases100and the one or more external documents102. The system10utilizes string values to access the input data sources and databases. As discussed above, execution of the algorithm96generates one or more lists106of resultant data.

FIG.4is a diagram120illustrating a class design of the algorithm96ofFIG.3. The algorithm96can include one or more data members and methods that can be utilized to connect to and load data from external sources, execute the algorithmic program thereof, and store resultant data in one or more data sources. As shown inFIG.4, the class design can include, but is not limited to an object122, an indicator124, an algorithm126, a data parameter128, and a dynamic algorithm130. Each of the object122, the indicator124, the algorithm126, the data parameter128, and the dynamic algorithm130can include one or more operators. For example, the data parameter128can include operators such as, but not limited to, a bound, a name, a prompt and a value.

The algorithm96can be authored in a plurality of programming languages. For example, the algorithm96can be authored in programing languages including, but not limited to, C#, JAVA, Python and R. These languages can support advanced math concepts including high-level abstraction of arrays and matrices, can be loaded directly from a disk and into memory, can be reduced to instructions and executed in RAM, and can allow access to shared memory resources through an operating system of the system10. In addition, C#, JAVA, Python and R can be compiled, interpreted or transpiled.

It is noted that a plurality of algorithms96can be chained or linked together to execute a complex series of tasks on data. The algorithms96are chained via a next data member in the algorithm class. Additionally, one or more input parameters can be optionally passed to chained algorithms96through an Algorithm Information Protocol (AIP). The AIP contains information including, but not limited to, a location of an algorithm96by utilizing a URL, a name of the algorithm96, a list of one or more named input parameters provided in order, and a list of one or more named return values provided in order. Algorithm execution could be performed in order, such that execution of each algorithm96in a chain is performed synchronously (i.e., each algorithm96runs to completion and returns its values once completed). However, such “serial” execution of the algorithms96need not be required, and indeed, the algorithms96could execute in “parallel” if desired. Still further, a user can begin working with the results of one algorithm while another algorithm is being executed.

AIP is a JSON based descriptive language utilized to communicate an algorithm96and its metadata to one or more calling programs or to other algorithms96. Table 1 illustrates example AIP message members.

An algorithm96can be passed by a number of algorithm dependent values. It is noted that a user may add a list of name/value pairs to the JSON object used to describe the algorithm96since the base format for AIP is JSON.

FIG.5is a diagram150illustrating an execution sequence of the algorithm96ofFIG.3. The algorithm96can receive an execution command156from the system10. Thereafter, the algorithm96executes a plurality of pre-processing commands158-164before transmitting a run command166to an executor154(e.g., a Python Executor). The executor154runs the algorithm96to generate one or more lists of resultant data. Subsequently, the algorithm96stores the generated one or more lists of resultant data via command168and executes an update command170before transmitting a return code command172to the system10.

FIG.6is a diagram200illustrating execution of an algorithm by the system10of the present disclosure. One or more algorithms can be executed by one or more nodes hosting an application server202of the system10. The application server202executes an algorithm via steps 1-6 as shown inFIG.6. In step 1, an algorithm is retrieved from a relational database206. If the algorithm is present in a cache of the application server202, then the algorithm is loaded from the RAM rather than the relational database206. The application cache checks for a dirty flag or scratch to determine if the algorithm has been changed. If the algorithm has been changed, then the cached value is updated. In step 2, the algorithm is stored in the algorithm cache204using its location as the key value. As such, other callers can quickly retrieve the algorithm for execution. It is noted that a plurality of algorithms96a-96ecan be stored in the algorithm cache204. Then, in step 3, the algorithm is executed by utilizing its language appropriate runtime (e.g., Python or R). In step 4, the algorithm stores generated resultant data from the execution of the algorithm in the relational database206. In step 5, the algorithm caches the resultant data209a-209cin the data cache208. As such, the resultant data can be quickly retrieved by other calling programs and users instead of reading from the relational database206. Optionally, in step 6, a new CoA210can be executed based on the generated resultant data.

It is noted that an object of the algorithm96can be written to and read from storage because the object is inherited from an indicator class which in turn is inherited from a streamable object class. As such, an object of the algorithm96can be loaded from different interfaces and executed in an application of the system10. Additionally, because the class can be persisted, the algorithm96can be stored in a library, modified and tracked by an analyst, and versioned. The algorithm class can contain one or more data members for storing user information, creation and update dates and times, and status information indicative of whether algorithm execution is in progress, completed or not started. It is also noted that program code of the algorithm96can be stored or reside in a plurality of locations because the algorithm96can be written to a stream and, as such, the program code can be stored on a disk, on a server, or in a database table. The algorithm program code is loaded through a URL such that a scheme of the URL determines a location of the source code. The system10can utilize Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), file and database schemas, but of course, other protocols and schemas can be utilized without departing from the spirit or scope of the present disclosure.

A web-based application can be implemented by the system10and runs by utilizing a plurality of nodes that can be located across different environments. The application can utilize caching technologies to load and store one or more algorithms96and corresponding resultant data. In particular, the web-based application can employ a check-then-write caching strategy in which all data values are first checked in the cache of the application during the retrieval process. The cached algorithm program code is keyed using its location which provides the web-based application with the ability to dynamically update one or more algorithms96at their respective locations. Accordingly, a plurality of application nodes can receive the most recent version of a respective algorithm96from the cache after the respective algorithm96has been updated which improves system performance by reducing disk read and writes. The web-based application will be discussed in further detail below in connection withFIG.7.

FIG.7is a diagram illustrating a system230of an embodiment of the present disclosure. The system230includes an application232in communication with a website248. The application232communicates with the website248to execute an algorithm272(as shown inFIG.9). The application232includes a user234, an application server236(i.e., an algorithm user agent (AUA)), an application visualization services server238(i.e., an algorithm visualization agent (AVA)), an application workflow server240(i.e., an algorithm workflow agent (AWA)), an application programming interface242(i.e., an algorithm data agent (ADA)), an application database244(i.e., an algorithm data storage (ADS)), and an application data database246(i.e., an ADS). The website248includes one or more external data sources (EDS)250a,250b.

In the system230, a user234can access the AUA236via a user account over a network communications connection. The user234can invoke a feature in the AUA236to select and load the algorithm272for execution. The AUA236can retrieve the algorithm272from a digital storage and load the algorithm program code274(as shown inFIG.9) into its digital execution memory. Software of the AUA236executes the program code274instructions.

It is noted that the program code274can execute one or more updates or modifications to data by utilizing network-based connectivity with the ADA242. These updates can be stored via a connection between the ADA242and one or more nodes of at least one of the ADS244and the ADS246. When a data update is executed in digital storage provided by at least one of the ADS244and the ADS246, the AVA238can render the change via a connection between the AVA238and the ADA242. A data change between the algorithm program code274and the ADA242occurs asynchronously. As such, new renderings of visualizations by the AVA238can occur upon a data update in real time.

In addition, a data modification by a user234can be carried out by an execution of a workflow278(as shown inFIG.8). The data modification can be stored by the AWA240via a network-based connection to the ADA242. It is noted that a change incurred during a workflow process occurs asynchronously. The features of the algorithm272and the components of each of the application232and the website248will be discussed in further detail below.

The algorithm272is a digitally stored construct consisting of logical programming code and can be executed on a processor-based digital computer, one or more digitally stored visual programs and instructions to render digitally stored data, and one or more digitally stored routines and programs that contain instructions for a user234to follow. The features of the algorithm272and the system230environment in which the algorithm272is executed provides for the automation of risk detection, risk visualization, and risk resolution while improving processing speed and utilizing fewer computational resources as discussed above in relation toFIG.1.

The component parts of the algorithm272are digitally stored. In particular, the algorithm272can store its component parts of its construct in entirety, or utilize a pointer object such as a URL, a Uniform Resource Name (URN), a local file or a binary storage object. The algorithm272can be utilized to execute the programming code274in another algorithm. In addition, the algorithm272can link itself to another algorithm to form and execute a linked algorithm. The link between the algorithm272and another algorithm may be a pointer object such as a URL, a URN, a local file, or a binary storage object. It is noted that multiple algorithms272can be linked to form larger complex algorithms and routines. As discussed above, one or more input parameters may be provided to govern the algorithmic processing of the algorithm272. The algorithm272may obtain one or more input parameters from another algorithm272, a URL, a URN, a local file or a binary storage object. In addition, the algorithm272may provide one or more input parameters to a linked algorithm for execution.FIGS.8-12illustrate different algorithm272processes including data flow, execution, visualization, workflow and chaining which will be discussed in further detail below.

As shown inFIG.7, the user234is in communication with the AUA236. The AUA236is a user-centric digital service accessible over a network-based communications system which communicates with the user234to author, store, and execute one or more algorithms272. The AUA236can be utilized by the user234to associate a visual routine or program, an executing program or a routine for user-executed steps with program code. In addition, the AUA236can access the algorithm272and the component parts thereof by utilizing direct disk access, a data storage service or device, or a digital data service. The AUA236can execute security protocols to protect process and algorithmic data. For example, the AUA236can utilize a user-based account system to authenticate and authorize a user234for access in executing the algorithm272. In addition, the AUA236can utilize encrypted communications for executing the algorithm272and publishing the components thereof.

The AUA236is in communication with each of the AVA238, the AWA240and the ADA242. The AVA238is a digital data storage service, executing program, or device that is utilized to author, edit, retrieve, and store routines or running programs that are utilized to present and render text based or graphical information related to data manipulated by an executed algorithm. Therefore, the AUA236can utilize the AVA238to retrieve and render a visualization for display to the user234.

Similarly, the AWA240is also a digital storage service, executing program or device. However, the AWA240can be utilized to author, edit, execute, retrieve, and store routines and programs that contain instructions for user-executed directed graph, skip-logic based, or workflow step processing for a user234to follow in the course of solving a real world problem. As such, the AUA236can utilize the AWA240to retrieve and present a workflow to the user234and to capture and store data input by the user234via the workflow.

The ADA242is in unilateral communication with the ADS244and bilateral communication with the ADS246. Each of the ADS244and the ADS246is a data storage service or device that is utilized for digital storage. The ADA242works with each of the ADS242and the ADS244to store algorithm program code274, data read by or manipulated by the algorithm272, and results generated by the algorithm272. The ADA242is also in bilateral communication with each of the EDS250and the EDS252of the website248. Each of the EDS250and the EDS252is a data storage service or device that resides over a network-based communications system that can be utilized for reading, writing or manipulating data by the algorithm272. It is noted that the algorithm272may observe data changes utilizing a network-based connection to the ADA242.

FIGS.8-12illustrate different processes of the algorithm272including data flow, execution, visualization, workflow and chaining.FIG.8is a flowchart illustrating a data flow process270of the algorithm272executed by the system230ofFIG.7. As shown inFIG.8, the user234accesses the AUA236and the AUA236loads and executes the algorithm272. The algorithm272includes program code274, a visualization276and a workflow278. The algorithm272utilizes the ADA242to update and process the program code274to modify the visualization276. The AVA238receives the update from the ADA242and renders the modification to the visualization276. Additionally, the ADA242and the AWA240perform a data interchange to display the workflow278. Importantly, the chainable algorithm272includes (“containerizes”) the program code274(which could include code for executing a data modeling and/or analytical function), the visualization code276(which automatically instructs one or more computer systems on how to visualize the results (or, output) of the program code274), and the workflow278(which instructs another chainable algorithm272or subject matter expert on subsequent actions that may be required relating to the data being modeled or analyzed), in a single algorithm that can be easily managed, transferred, and executed by a plurality of disparate computer systems. Thus, as can be appreciated, the program code274, the visualization code276(which is specifically written to render output of the program code274), and the workflow code278are “embedded” in a single algorithm that can be chained with (and inter-communicate with) other algorithms in accordance with the present disclosure as desired.

FIG.9is flowchart illustrating an execution process290of the algorithm272executed by the system230ofFIG.7. As shown inFIG.9, the user234accesses the AUA236and the AUA236loads the algorithm272and executes the program code274thereof. The program code274processes data from the ADA242. The resultant data is stored in the ADS244via the ADA242.

FIG.10is a flowchart illustrating a visualization process300of the algorithm272executed by the system230ofFIG.7. As shown inFIG.10, the user234access the AUA236and the AUA236loads the algorithm272. The AUA236retrieves the visualization276via the AVA238and subsequently renders the visualization276for display to the user234.FIG.11is a flowchart illustrating a workflow process310of the algorithm272executed by the system230ofFIG.7. As shown inFIG.11, the user234accesses the AUA236and the AUA236loads the algorithm272. The AUA236retrieves the workflow278via the AWA240and the AUA236subsequently presents the workflow278to the user234. The user234then executes workflow steps and the execution of the workflow is stored by the AWA240via the network-based data interchange connection to the ADA242. It is noted that a change incurred during a workflow process occurs asynchronously.

FIG.12is a flowchart illustrating a chaining process320of an algorithm272executed by the system230ofFIG.7. As shown inFIG.12, a plurality of algorithms322a,322band322nare linked by a plurality of pointers323a,323band323nto form a larger and complex algorithm. The algorithm272observes the data of each of the algorithms322aand322bfor change. If the algorithm272observes a change in the data of one of the algorithms322aand322b, the observed data change triggers an event. A data change can be executed by utilizing the ADA242. As shown inFIG.12, the triggered event comprises executing the program code274of the algorithm272by the algorithm322n. It is further noted that the systems/methods of the present disclosure could include a “survey” tool which supports chaining the algorithms disclosed herein rapidly and efficiently. Indeed, using such a tool, the user can very easily chain together a customized configuration of modular, chainable algorithms in accordance with the present disclosure, in order to efficiently and effectively conduct data modeling and analytics functions of varying complexity, as needed.

Having thus described the system and method in detail, it is to be understood that the foregoing description is not intended to limit the spirit or scope thereof. It will be understood that the embodiments of the present disclosure described herein are merely exemplary and that a person skilled in the art can make any variations and modification without departing from the spirit and scope of the disclosure. All such variations and modifications, including those discussed above, are intended to be included within the scope of the disclosure.