US 11,676,090 B2
Enhanced multi-component object-based design, computation, and evaluation
Eric Burin des Roziers, Montpellier (FR); Fan Fan, Saratoga, CA (US); Jean-Baptiste Pringuey, San Francisco, CA (US); Naveen Uttamsingh, Santa Clara, CA (US); Gregory Zussa, San Francisco, CA (US); and John Ellithorpe, Redwood City, CA (US)
Assigned to Model N, Inc., San Mateo, CA (US)
Filed by Model N, Inc., San Mateo, CA (US)
Filed on Oct. 15, 2018, as Appl. No. 16/160,927.
Application 16/160,927 is a continuation of application No. 13/621,368, filed on Sep. 17, 2012, abandoned.
Claims priority of provisional application 61/564,804, filed on Nov. 29, 2011.
Prior Publication US 2019/0050777 A1, Feb. 14, 2019
Int. Cl. G06Q 10/06 (2023.01); G06Q 10/0637 (2023.01)
CPC G06Q 10/06375 (2013.01) [G06Q 10/0637 (2013.01)] 22 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
providing a library of different types of configurable component templates including a rebate percentage component type, a tier qualification component type, and a rebate benefit component type dependent on an attained tier input for users to customize contracts with configurable rebate strategies;
defining, using one or more computing devices and using the library of different types of configurable component templates, an object comprising a plurality of discrete components including a first discrete component and a second discrete component, each discrete component of the plurality of discrete components comprising a set of discrete formulas having a predefined order, each of the discrete formulas of the set of discrete formulas belonging to one of a plurality of different formula levels, the predefined order being defined based on the different formula levels;
initiating, using the one or more computing devices, a multi-step ordered evaluation of the first discrete component and the second discrete component by looping over each discrete formula of the set of discrete formulas of each of the first discrete component and the second discrete component to produce a result set according to the predefined order by:
passing a first result from a first formula in the first discrete component of the plurality of discrete components into a storage structure of the second discrete component of the plurality of discrete components as an input for the second discrete component to parameterize a second formula in the second discrete component;
displaying on a display device a calculation user interface;
determining, using the one or more computing devices, that an action exists that is associated with at least one formula of at least one discrete component of the plurality of discrete components;
displaying a user-selectable element corresponding to the action in the calculation user interface;
receiving, via the calculation user interface, an input from a user as a condition to move on to at least one next step of the multi-step ordered evaluation that permits the user to review an initial part of a result graph to automatically pause computation of at least a portion of the multi-step ordered evaluation until the input selecting the user-selectable element is received; and
resuming computation, in response to receiving the input selecting the user-selectable element;
wherein the plurality of different formula levels includes: a line level in which a line level formula is applied on a bucket line and a result is stored in the bucket line, an aggregate level in which an aggregate level formula is applied on the bucket line and the result is stored in a bucket structure, a calculation level in which a calculation level formula is executed in-memory against data stored in a storage structure of a discrete component associated with the calculation level formula and the result is stored in the bucket structure, and a dimension level in which a dimension level formula is calculated ahead of formulas in the line level, the aggregate level, and the calculation level;
wherein a business user creates an instance of a business strategy by editing the configurable component templates to customize a business contract with a rebate strategy that is auditable and overridable;
wherein a calculation in the aggregate level formula is translated into a SELECT SQL statement;
wherein a calculation in the line level formula is translated into an UPDATE SQL statement to allow a part of the multi-step ordered evaluation to be performed in a database associated with the multi-step ordered evaluation; and
wherein the line level formula is converted into an INSERT SQL statement to add a filter during the multi-step ordered evaluation.