PSP Advanced Cost Module

This module provides additional cost strategies which are used for pricing strategies and margin calculations. Each cost strategy has its own dependency mapping configuration and data source configuration (including optional valid dates or currency).

Mechanism

Similarly to pricing strategies, there can be many cost strategies. In a product segment, several cost strategies can be selected. The cost strategies will be calculated and their values are presented in the Advanced Costs element of the PL/PG. However, only the first valid value (top-down order) is used for margin calculation.

Example: If there are Cost1=null, Cost2=45, Cost3=50, then Cost2 value will be used to calculate the margin.

Advanced Cost and Simple Cost

By enabling the AdvancedCost module, the Cost configuration in PriceSettingConfig PP and DependencyMappingConfig will become unused and can be removed.

Cost Aggregation Types

Currently, there are three types supported:

  • SINGLE – Lookup for only one cost.

  • AVG – Lookup for costs in the targeted Product Extension, then return the average of all found values.

  • SUM – Lookup for costs in the targeted Product Extension, then return the sum of all found values.

Cost Strategy and Pricing Strategy

Naming Convention

A cost strategy value can be passed to a pricing engine as a parameter. When defining a cost strategy, a proper engine suffix has to be provided. The base name of any engine parameter is always "COST", so if a cost strategy has the "_EXAMPLE" engine suffix, then its engine parameter name is “COST_EXAMPLE”.

Usage

In terms of pricing engine parameters, only costs from the CostSelection PP for the current product are loaded + "PRODUCT_COST".

Example:

In CostTypeDefinition PP, there are COST1, COST2, COST3, COST4, COST5, COST6.

In CostSelection PP, it is set to use COST1, COST2, COST3, COST4, COST5.

During the calculation process, COST1, COST3, and COST4 were not calculated properly. It means that the product's cost will be COST2 (first valid calculated cost value) and 3 parameters will be loaded to engines, which are "PRODUCT_COST", "COST2", and "COST5". “PRODUCT_COST” represents the first valid cost and it has the same value as COST2.

Configuration

Set Module Status

Set the module status in the PriceSettingModules PP table whose module name is PSP_ADVANCED_COST

Set Cost Strategy Definition

To set up a cost strategy, create a new data row in the CostTypeDefinition PP with details in https://pricefx.atlassian.net/wiki/spaces/ACC/pages/4998696678.

Set Cost Strategy Selection

Set selections in the CostSelection PP table which correspond with the current dependency level.
Table naming convention: <<dependency>>CostSelection.
Examples: AsiaCostSelection, GlobalCostSelection,…

Using Cost Strategy Engine Parameter (Optional)

For each SKU in a PL/PG run, only its selected cost strategies will be loaded. To pass a cost strategy value as a parameter to a pricing engine, the cost strategy must be selected in the corresponding row in the CostTypeDefinition PP table. Then, add the parameter name in the desired pricing strategy, in the StrategyCalculationParameters property. For details, see https://pricefx.atlassian.net/wiki/spaces/ACC/pages/4998696995.

The parameters are passed as inputs to engines and the input order is important, so do not change the default engine's parameters order.