Current State (Optimization - Price Waterfall)

The Results step starts with the optimization calculation. The optimization is a sequence that runs two different Optimization Engines and then post-processes the results, and displays them in the different tabs of the step. The runs are:

  • An optimization, the run of the optimization itself. It creates the tables prefixed with Optimized_.

  • A simulation which creates the tables prefixed with Current_.

Then the different dashboards display the comparison between the current state and the optimized ones.

What is the current state and why not use the Aggregated table?

The Current state is the result of a simulation of the Optimization Engine (which is different from an optimization of the Optimization Engine). It takes the problem description and does the following steps:

  • Set the static variables and value finders to their initial value.

  • Calculate the computed variables that can be calculated from the variables already set.

  • Continue until all the variables are set.

  • Do not take care of the criteria.

So it provides the initial state of the Optimization Engine. It is a consistent state which is not ensured for the Aggregated data.

What should be identical in the Aggregated and Current data?

The static variables and value finders are:

  • Unit global list prices by product

  • Specific adjustment rates by customer group

  • Standard discount rates by product group and customer group

  • Customer discount rates by product group and customer

  • Spot discount rates by product and customer

  • Unit surcharges by product and customer

  • Off-invoice discount rates by product and customer

  • Vendor rebates rates by product and customer

  • Unit costs by product

At the end of the simulation, these variables are set to the values provided by the Problem tables. As the Problem tables rely on the Aggregated table, the values should be identical to the aggregated ones. These values can differ from the source values because of the aggregations. For instance: maybe the specific adjustment rates in the source data differ in a given customer group.

In practice, what could be different between the Aggregated and the Current data?

The other values are calculated from the previous ones:

  • Quantities

  • Unit specific list prices by product and customer group

  • Unit invoice prices by product and customer

  • Unit net prices by product and customer

  • Unit net net prices by product and customer

  • Unit margins by product and customer

  • Revenues by customer group

  • Quantities sold by product group

  • Global revenue of the scope

  • Global profit (margin) of the scope

Some differences may be due to:

  • Mix of the granularities. For instance, the global list price depends on the product, and the specific adjustment rate depends on the customer group. But the specific list price which results in the specific adjustment rate applied to the global list price not only depends on the product and the customer group, but also needs to be consistent for different products in the same customer group, or for different customer groups and the same product. The simulation takes this constraint into account.

  • Use of another computed variable to calculate the given one. For instance: two successive steps of the waterfall. It can also be the case for the quantity: if the calculated margin rate is not equal to the source value, the elasticity model can be set on a different reference. It is taken into account in the accelerator and should not happen. However, a small change in the elasticity formula or the aggregation query can lead to large differences between the quantities provided by the source data and the ones outputted in the current state.

Â