Usage (Optimization - Price List Impact Simulation)
Take the following steps to configure a model. In case of trouble, the last section provides the most common tips.
Step by Step
1. Go to the Price Settings Module
First, you need to open the PL or LPG you want to simulate from the Price Setting > Price Lists or Price Setting > Live Price Grids table.
If the configuration of the selected Price Setting Type is correct, the Simulate Impact option appears at the top of the Price List. Click it to proceed to the next step.
2. Configure the Simulation
The drawer opens on the right-hand side and presents the options needed to configure the simulation and set the filters.
The Transaction Dates input defines the time range of transactions to consider during the simulation.
Only the products having a line in the Price List will be considered for the simulation.
3. Run the Simulation
Once the simulation is started, the Status of the Price List is updated, showing that a simulation is underway and what its current calculation step is. The newly created simulation is named “Simulation of + the name of the PL/LPG”.
4. View the Results
Once all the steps are executed, the header is updated with the message “Simulation Completed”. The results are available by clicking on this status, or selecting the option View Simulation from the dropdown under Simulation Impact.
Viewing the simulation opens the Model itself and its Results page.
The following three tabs are available:
Impact – Contains the main comparison charts between the historical data and the simulation results. There are no user inputs in this tab, the charts fill the whole canvas.
Details – Contains the table view of the results, with a comparison between current and simulated values, aggregated at different levels. Here, we have 3 model tables corresponding to the aggregation by SKU, Customer, and SKU/Customer. This tab also contains the results of the previous Error Check, counting the number of price items ignored due to their incompleteness or missing transactions.
Analysis – Is a kind of mirror of the Impact tab but with the option to filter the results and therefore, dig deeper to understand how the global view manifests for a given product family or customer, for example.
Note that the results will still be available from the Price List itself by clicking the View Simulation button.
Be careful while checking the Model Tables. They are not intended, in their format and content, to be directly readable by the end user. They contain the information needed for the logics. If you want to check some values as a table, do not try to find it in the Model Table but ask a Configuration Engineer for a specific visualization instead, as it is done for the Details tab.
Troubleshooting
This is the list of the most common errors and how to solve them.
Missing the “Simulate” Option
This problem occurs when the Price Setting Type (PLPGTT) configuration is either formatted incorrectly or missing. The first step is to be sure that you are working on a PL/LPG of the correct type. If this is the case, check its configuration on the Price Setting Types page and correct it accordingly.
Refer to Technical User Reference for more details.
Error during Calculation with Keywords: “javaheap” “vmem”, “memory” or without Message
Lacking the resources to run the model can lead to several errors, depending on the step failing. The most common ones are:
Error during the Run calculation: This means that the Optimization Engine did not have enough resources. This can be solved by asking the support to increase the RAM allocation for the OE. More information on this issue is available at Troubleshooting (Optimization Engine).
Error during the aggregating step: This step basically joins big SQL queries. The size of the transaction DM and of the Price List used can lead to massive queries running out of memory. Unfortunately, the solution here is not as easy as in the previous one and needs to optimize the queries themselves (like breaking the aggregating step into several phases, for example). If these modifications are insufficient, please contact the Pricefx Performance Team (https://pricefx.atlassian.net/wiki/spaces/PERF/pages/1866104837) to improve the most critical queries and operations.
Error during Calculation with Other Messages
The error message in the calculation status should be explicit enough.
The most common case is an error during “CheckData” with a message reading like "CriticalErrors : No match when looking for transactions. Looked for transactions with products having price, listed in .... Time period for transactions: 2022-12-01 - 2022-12-31. Extra filters: ..."
, meaning that the scope of the simulation is empty. A similar error is thrown when the Price List to simulate is empty.
If the error message does not give enough information, a Configuration Engineer will be able to pinpoint exactly what happened. Note that the majority of these errors come from differences in the data, such as field type changes, empty values, and so on, breaking the existing logics. Use this error to check if the user data need to be cleaned or corrected, or if it is a “feature” of the client data that needs a specific logic modification to be dealt with.
Missing Data in a Price List
Some errors mentioning empty columns or null values often refer to missing data in the Price List. How to solve this issue depends on the project itself.
In some cases, the issue is the format of the Price List itself, which should not allow some fields to be empty and the issue has to be corrected in the Price List.
On the other hand, some situations can prevent changing these Price Lists. The simulation logics themselves can be modified to explicitly check for these errors and deal with them by, for example, skipping the lines missing information in the Price Items logic and logging them.