PSP Transaction Module

This module displays transaction and forecast data about products.

Module Visible Elements

Visible elements of the Transaction module are Sales Volume YTD, Turnover YTD, Last Year Sales Volume, Last Year Turnover, Last Period Volume, Last Period Turnover, Sales Volume Forecast, and Turnover Forecast. These elements display transaction and forecast data of the product, which are sales data for the last year and forecast data for the next year.

Type

Technical Name

Label

Independent PL/PG

Dependent PL/PG

Description

Type

Technical Name

Label

Independent PL/PG

Dependent PL/PG

Description

Historical

SalesVolumeYTD

Sales Volume YTD

Yes

Yes

The sum of sales volume from the beginning of the current year to the calculation date.

TurnoverYTD

Turnover YTD

Yes

Yes

The sum of turnover from the beginning of the current year to the calculation date.

LastYearSalesVolume

Last Year Sales Volume

Yes

Yes

The sum of sales volume from the whole last year.

LastYearTurnover

Last Year Turnover

Yes

Yes

The sum of turnover from the whole last year.

LastPeriodVolume

Last Period Volume

Yes

Yes

The sum of sales volume in a specified time range in the past.

LastPeriodTurnover

Last Period Turnover

Yes

Yes

The sum of turnover in a specified time range in the past.

Forecast

SalesVolumeForecast

Sales Volume Forecast

Yes

Yes

The sales volume forecast.

TurnoverForecast

Turnover Forecast

Yes

Yes

The turnover forecast.

 

Last Period Calculation

The last period configuration allows flexible data lookup. The time units used in this calculation (days, weeks, months, and years) are not days counting from the beginning. In other words, when specifying the last period time as 1 week, it does not mean taking 7 days from the calculation day backward.  The calculation takes only periods that are finished and a week starts on Sunday, ends on Saturday.

For example, the calculation date is 22 September 2020, and the last period configuration "1 week". The result will be the data from 13 September to 19 September.

Forecast Types

Last year

Linear

Lookup

Last year

Linear

Lookup

The sum of sales volume/turnover from the whole last year

ytdData = sum of sales volume/turnover from the beginning of the current year to the calculation date

ytdDaysCount = number of days from the beginning of the current year to the calculation date

currentYearDaysCount = number of days of the calculation year

result = ytdData / ytdDaysCount * currentYearDaysCount

The sum of sales volume/turnover from the beginning of the current year to the calculation date. The data is obtained from a defined data source.

To configure the forecast type, see https://pricefx.atlassian.net/wiki/spaces/ACC/pages/4998696488.

Currency Exchange

Transaction data may point to Product Extensions, Datamart or Data Source. In the Price Setting Package, the PL/PG logic will ignore the “currency" field in Datamart source tables as the exchange rate has been applied during the data transition from Data Source to Datamart. The exchange rate is only applied when the Datamart’s currency and the calculation's currency are different.

When the transaction data source points to Data Source, the “currency" field of the pointed Data Source table will be utilized. For details, see https://pricefx.atlassian.net/wiki/spaces/KB/pages/22183992.

When the transaction data source points to Product Extensions, the currency is converted using the ExchangeRate PP. For details, see https://pricefx.atlassian.net/wiki/spaces/ACC/pages/4998696903.

Lookup

Transaction data lookups return aggregated data for the current and all children dependency levels and there is no fallback like other lookups. Transactions are records of anything being sold. If something has been sold in a city, it means that these transactions should also appear as being sold in the country.

If there is no dependency defined, e.g. a small company working only in a country, without changing their prices depending on the regions, it will grab all transactions.

Example:

It collects everything from Germany and levels defined as children, and children's children, etc. In this example, Germany data = Germany + Berlin + Hamburg + Local store + Local store. It does not include nodes at the same level, which are France and Poland in this case.

Configuration

Set Module Status

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

Set Transaction Data Source

  • For transaction data source, set it in the PriceSettingConfig PP at the key Transaction Source. For details, see .

  • For transaction dependency mapping, set it in the DependencyMapping PP table at the key Transaction. Details can be found at .

Configure Forecast Calculation

  • For forecast setting, set it in the PriceSettingConfig PP at the key Forecast. For details, see .

  • For transaction dependency mapping, set it in the DependencyMapping PP table at the key Forecast. Details can be found at .

Configure Last Period Calculation

To configure the last period calculation, set it in the PriceSettingConfig PP at the key Last Period Transaction. For details, see .

Warning

Technically, if there are too many rows (1 million by default) for a given batch of products (200 by default), the batch will be split in two, a warning will be raised and the SQL query will be executed again. If there are too many rows for only 1 SKU, then the Pricefx restriction has been met, an error will be raised and no transaction data will be read.

In Product Extensions, however, we do not expect to have tens of thousands of rows. We expect data to be pre-aggregated. Having a lot of rows in PX is possible, but counterintuitive.