Technical User Reference (Optimization - Markdown)

This section details the Model Class and the logics that the Optimization - Markdown Accelerator deploys. For each step, its aim, its outputs, and the main reasons to modify the logics are explained. If there is a need to modify the logics, refer to the process in Optimization Accelerator Customization and to documentation in https://pricefx.atlassian.net/wiki/spaces/KB/pages/2873786384, https://pricefx.atlassian.net/wiki/spaces/KB/pages/3865509998, and https://pricefx.atlassian.net/wiki/spaces/KB/pages/3863577213.

In this section:

Markdown Model Class

The Markdown Model Class organizes a list of logics to create the model architecture. It is transformed into an UI in the Pricefx platform that is organized in 4 steps:

  1. Definition − Maps the sources of data and filters out invalid values.

  2. Scope − Sets the scope of the optimization.

  3. Configuration − Sets the parameters of the optimization.

  4. Results − Looks at the outputs of the optimization.

There are two types of logics: calculation, which writes tables in the model, and evaluation, whose purpose is only to display some results. The standard Model Class definition is documented in https://pricefx.atlassian.net/wiki/spaces/KB/pages/3862364240.

All the logics of the Optimization - Markdown Accelerator follow a standard naming convention: first MD_ prefix, then the first letters of the step name, then Calc or Eval, depending on the formula nature, then the name of the tab. In the end, there is a library logic named MD_Lib.

Library

The logic is MD_Lib.

This logic contains some functions needed specifically for this Accelerator, such as reading its configuration from the application settings, applying the user filters in each part of the model, preprocessing the data for the charts, and many small helpers for the charts rendering. The elements ParametersUtils, LabelsUtils, and TablesUtils contain the names of many elements and fields of the models.

This lib is the place where to change the names inside the model, to reflect the user business vocabulary. Here you can also write a function to be used in different places of the model class.

Definition Step

There is no calculation logic run in this step. The tabs are Sales, Products, Stock, and Competition, and their related logics are MD_Def_Eval_Sales, MD_Def_Eval_Sales_Configurator, MD_Def_Eval_Products, MD_Def_Eval_Products_Configurator, MD_Def_Eval_Stock, MD_Def_Eval_Stock_Configurator, MD_Def_Eval_Competition, and MD_Def_Eval_Competition_Configurator.

Sales Tab

The logics are MD_Def_Eval_Sales and MD_Def_Eval_Sales_Configurator.

These logics define the Data Source and the mapping of the entries for the transactions, in the configurator. The main logic calls the configurator and the code for the dashboard portlets.

Two portlets show the data that will be materialized in the model (table sales) and the filtered-out rows.

The mapping could be changed if a field is removed or added.

Products Tab

The logics are MD_Def_Eval_Products and MD_Def_Eval_Products_Configurator.

Stock Tab

The logics are MD_Def_Eval_Stock and MD_Def_Eval_Stock_Configurator.

Competition Tab

The logics are MD_Def_Eval_Competition and MD_Def_Eval_Competition_Configurator.

Scope Step

The calculation logic is MD_Sco_Calc_Dataprep and there is one tab called Scope.

Calculation: Data Preparation

The logic is MD_Sco_Calc_Dataprep.

Scope Tab

The logics are MD_Sco_Eval_Scope and MD_Sco_Eval_Scope_Configurator.

Configuration Step

There is no calculation in this step. It is separated from the previous step only for better user experience. There are three tabs: General, Price, and Competition.

The logics are MD_Conf_Eval_General_Configurator, MD_Conf_Eval_Boundaries_Configurator, and MD_Conf_Eval_Competition_Configurator.

Results Step

The calculation logics are MD_Res_Calc_Run_Initialization, MD_Res_Calc_Run_Optimization, and MD_Res_Cal_PrepareResults. There are four tabs: Impact, Details, Glassbox, and Evaluation.

Calculation: Run Initialization

The logic is SP_Res_Calc_Run_Initialization.

Calculation: Run Optimization

The logic is MD_Res_Calc_Run_Optimization.

Calculation: Prepare Results

The logic is MD_Res_Calc_PrepareResults.

Impact Tab

The logic is MD_Res_Eval_Impact.

Details Tab

The logic is MD_Res_Eval_Details.

Glassbox and Drivers Tabs

The logics are MD_Res_Eval_Glassbox, MD_Res_Eval_Drivers, and MD_Res_Eval_Drivers_Configurator.

Evaluation Tab

The logic is MD_Res_Eval_Evaluation.