Technical User Reference (Optimization - Multifactor Elasticity)

This section details the Model Class and the logics that the Multifactor Elasticity 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 Python job, refer to Run Python Scripts.

In this section:

Multifactor Elasticity Model Class

The Multifactor Elasticity Model Class organizes a list of logics to create the model architecture. It is a JSON file that refers to some logics and it is transformed into an UI in the Pricefx platform that is organized in 4 steps:

  1. Definition − Maps the transactions source and configures the model.

  2. Additional Sources − Allows the user to define up to 3 additional sources to be included in the model training data.

  3. Model Training − Checks the quality of the model after its training and defines the elasticity settings.

  4. Model Predictions − Forecasts quantities and shows elasticity functions details.

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 Model Class (MC).

All the logics of the Multifactor Elasticity Model Class follow a standard naming convention: first MFE_ prefix, then the step name, then calc or eval, depending on the formula nature, then the tab it is referring to.

Library

The logic is MFE_library.

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, TablesUtils, and LabelsUtils contain the names of many elements, tables and fields of the models.

This lib is the place to change input names inside the model to reflect the user business vocabulary. LabelsUtils contains text that is shown in the UI, ParametersUtils and TablesUtilscontain table names and parameter names, respectively. Here you can also write functions to be used in different places of the model class.

Definition Step

This step runs the MFE_definition_calc calculation and displays two tabs: Definition and Model Configuration.

Calculation: Generate Parameter Table

This logic generates a parameter table containing default model training parameters. If the table already exists, it does nothing.

The TrainingParameters parameter table.

To change the default values in the table.

Definition Tab

The logics are MFE_definition_eval and MFE_definition_eval_configurator.

Model Configuration Tab

The logic is MFE_definition_eval_model_config_configurator.

Additional Sources Step

This step allows the user to define up to 3 additional sources which will be added to the training data selected in the Definition step. The logics are MFE_add_sources_eval and MFE_add_sources_eval_configurator.

Model Training Step

This step runs the MFE_train_calc calculation and displays the tabs Model Training Results, Train and Test Forecasts, and Train curves.

Calculation: Train the Model

The logic is MFE_train_calc.

Model Training Results Tab

The logic is MFE_train_eval_preds_vs_actuals.

Train and Test Forecasts Tab

The logics are MFE_train_eval_forecasts and MFE_train_eval_forecasts_configurator.

Training Curves Tab

The logic is MFE_train_eval_metrics.

Elasticity Settings Tab

The logic is MFE_train_eval_elasticity_settings.

Model Predictions Step

This step runs the MFE_results_calc calculation and displays two tabs: Overview and Details.

Calculation: Results

The logic is MFE_results_calc.

Calculation: Post Process

The logic is MFE_post_proc_cal.

Overview Tab

The logic is MFE_predictions_eval_predictions.

Details Tab

The logics are MFE_predictions_eval_elasticities and MFE_predictions_eval_elasticities_configurator.

Evaluation

The model has one evaluation with three elements that return information based on the given input: ElasticityFactorsTableName, ElasticityFallbackTableName, and Configuration. For more details about model evaluations see Query Optimization Engine Results | Using the Evaluator.

The logic is MFE_model evaluation.