Go to primary content
Oracle® Retail Demand Forecasting Implementation Guide
Release 16.0
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

8 Cross Promotion Effects Module (CPEM)

Cross Promotion Effects Module (CPEM) is used to generate the crossing promotion effects between merchandise and location. There are two types of cross effects that are calculated at corresponding levels:

The Cannibalization level and Halo level are to define at which product and location levels the Cannibalization or Halo cross effects are produced. The Halo level should be higher than Cannibalization level along hierarchy.


Note:

The Cross Promotion Effects Module is not available for RDF Cloud Service.

RDF was launched with Promotional Halo and Cannibalization capabilities in January 2013. The functionality has had limited adoption due to various factors including necessary data required to support reliable results, market maturity and implementation complexity. In an attempt to share lessons learnt with our experience so far, we would recommend the following to our customers considering implementing this functionality:

Starting Conditions

Both Halo and Cannibalization deal with the cross item effects of running promotions, that is, the impact of promoting an item on the sales of other related items. The most important inputs for estimating these cross effects are a robust baseline forecast and self-promotion effects from RDF Causal. Hence, we recommend that CPEM be considered for implementation only after RDF Causal has been up and live for a 12-18 month period, delivering reliable baseline and causal forecasts to drive business decisions.

Set Up for Cannibalization

Careful configuration and pre-implementation set up is required for Cannibalization to run. It is important to note that Cannibalization (though configurable) is designed to run at an item-group level (as defined in the following list) and not the individual SKU level.


Note:

Cannibalization needs to stay inside a local domain.

Halo effects

Current functionality is designed for a limited use case for businesses with minimal promotional activity. The solution aims to estimate Halo effects by observing the impact on sales of other subclasses when a subclass is promoted. As we vetted this with a broad set of retail use cases with significant promotional activities, we recognized that this functionality is not adequate. We are revisiting our approach to estimating Halo effects and welcome partnerships with retailers.

CPEM is a standalone RPAS instance and its hierarchies including calendar, product, location, and RHS product, are the same as the ones in RDF and all measure data files are imported from RDF. RDF prepares the CPEM needed measure data files based on the Cannibalization and Halo level, so CPEM and RDF should have exactly the same Cannibalization and Halo levels set for CPEM to work. In other words, if you change the cannibalization or Halo level in RDF (CPEM), then you should make the same changes in CPEM (RDF).

Functionality

CPEM performs the following functionality:

  • Define and override the cross promotion estimation related parameters in the Effect Estimation Administration workbook.

  • Run the CPEM batch script to produce both Cannibalization and Halo promotion effects. The CPEM determines the regression based on the promotion, baseline sales, sales, and price information to produce the cross effects.

  • Review and approve the produced crossing promotion effects in the Effect Estimation Review and approval workbook.

  • Export the approval cross promotion effects into RDF.

Input

CPEM is a standalone RPAS instance and it is a single domain.


Note:

The CPEM domain must be a single domain. Users should not partition the CPEM domain.

Hierarchy Files

The hierarchy file of Calendar, Location and RHS Product are the same as the RDF domain. However, the RDF and CPEM Product Hierarchy are no longer the same.

  1. Calendar (CLND) Hierarchy File

  2. Merchandise or Product (PROD) Hierarchy File

  3. Location (LOC) Hierarchy File

  4. RHS Merchandise or Product (PROR) Hierarchy File

Measures Data Files

The measures data files needed in CPEM are imported from RDF as listed in Table 8-1.

Table 8-1 CPEM Measure Data Files imported by RDF

Measure Name Intersection Description

slscann

Cannibalization Level + week

The aggregated weekly sales history at cannibalization level.

slsbaselinecann

Cannibalization Level + week

The aggregate weekly baseline sales history at cannibalization level.

normprccann

Cannibalization Level + week

The weekly normalized price at cannibalization level.

promoindcann

Cannibalization Level + week

Weekly Promotion indicator at cannibalization level.

slsHalo

Halo Level + week

The aggregated weekly sales history at Halo level.

slsbaselineHalo

Halo Level + week

The aggregate weekly baseline sales history at Halo level.

normprcHalo

Halo Level + week

The weekly normalized price at Halo level.

promoindHalo

Halo Level + week

Weekly Promotion indicator at Halo level.


Output

CPEM produces the cross promotion effects and then outputs the cross promotion cannibalization effects and Halo effects as listed in Table 8-2.

Table 8-2 Measure Data Files Output by CPEM

Measure Name Intersection Description

FinCannEff

Cannibalization Level + RHS Cannibalization Product

The cross promotion cannibalization effects.

FinHaloEff

Halo Level + RHS Halo Product

The cross promotion Halo effects.


Installation Considerations

The following sections provide an overview of CPEM installation.


Note:

For additional information, refer to the chapter, ”CPEM Installation” in the Oracle Retail Demand Forecasting Installation Guide.

Installation Dependencies

RPAS and RDF must be installed before setting up and configuring CPEM. For information on installing these products, refer to the Oracle Retail Predictive Application Server Installation Guide and Oracle Retail Demand Forecasting Installation Guide.

Environment Setup

Before downloading the installation package to the UNIX server, a central directory structure to support the environment needs to be created. This central directory is referred to as <cpem_directory>. Set <cpem_directory> to the full path name to the $CPEM_HOME variable.

CPEM Installer

The CPEM installer performs the following functions:

  • Downloads the configuration and batch scripts into the <cpem_directory>/config and <cpem_directory>/bin directories

  • Downloads a set of sample hierarchy and data files into the <cpem_directory>/input directory

  • Builds a sample domain at <cpem_directory>/domain/cpem

Custom Domain Build

To do a custom build of a domain:

  1. Update the globaldomainconfig.xml file with the correct domain paths.

  2. If needed, update the default environment variables in environment.sh.

  3. Run the cpem_build_domain.ksh script: ./ cpem_build_domain.ksh

CPEM Taskflow for the RPAS Fusion Client

The CPEM installation software enables you to install the taskflow and online help files for the RPAS Fusion Client. In order to install the taskflow files, the RPAS Fusion Client must already be installed. For more information on installing the RPAS Fusion Client, see the Oracle Retail Predictive Application Server Installation Guide.

During the RPAS Fusion Client installation, the installer automatically sets up the RPAS domain connection configurations in the ProfileList.xml file. If you choose to set up the domain connection after the installation or set up an additional domain, you must manually set up the connection. For more information, see the Oracle Retail Predictive Application Server Administration Guide for the Fusion Client.

Batch Processing

CPEM has a batch script to generate the cross promotion effects and export the final effects. The following batch scripts are available in CPEM:

  • CPEM batch script

  • Cross effect export script

Running the Batch Process

Before running the batch script, set these two system variables:

  • CHECK_PROMO_DIFF: It is recommended to set to YES. YES turns off the co-promotion. When set to NO, RDF considers the co-promotion case.

  • PROMO_THRESHOLD: A numeric value for the promotion threshold. Only the week the promotion value is greater or equal then this threshold will be treated as ”on promotion”.

To generate the cross effects, run the cpem_batch.sh script in the domain.

./cpem_batch.sh

To export the cross promotion effects, run the exportCPEMtoRDF.ksh script in the domain

./cpem_e_rdf.ksh

CPEM Scripts

This section describes CPEM scripts including:


Note:

With this release, some script names have been changed. For more information, refer to Appendix J, "RDF Script Names."

Build CPEM domain

Script Name

cpem_build_domain .ksh

Frequency

This script runs when building or patching a CPEM domain.

Description

This script is an example script to show how a CPEM simple domain can be built. This script does not support all of the features of rpasInstall. It does cover the options used most commonly for CPEM.

Steps

These are the steps of the script:

  1. Validate arguments.

  2. If the configuration name is not supplied, set it to CPEM.

  3. If the domain home is not set, set it to <current path>/../domain.

  4. If not a patch install, create the domain home directory if it does not exist.

  5. Call rpasInstall to build the domain with the following parameters:

    Parameter Value
    either:
    • -fullinstall

    • -patchinstal

    • -testinstall

    Depends on whether –p or -t passed to build script
    -ch Configuration home
    -cn Configuration name
    -in Input home
    -log <log directory>/<log file>
    -dh Domain home
    -verbose not applicable
    -updatestyles not applicable
    -rf AppFunctions
    -rf RdfFunctions

  6. Scan the build log for error messages.

  7. If test install, skip to the last step.

  8. Call cpem_load_measures.ksh on the domain.

  9. Log informational success message.

Additional Required Environment Variables

None

Required Arguments

None

Optional Arguments

Parameter Short Description Description
-n Configuration name Default is CPEM.
-d Domain home Default is $PWD/../domain.

This is the path of the directory in which the domain will be created.

-c Configuration home Default is $PWD/../config.

This is the path to the directory containing the configuration.

-i Input home Default is $PWD/../input.

This is the directory containing the input files for the domain to be created.

-l Log directory Default is $PWD/..

Directory where the log file will reside.

-f Log file Default is build_domain.log.

This is the log file name.


Optional Flags

Flag Short Description Description
-t Test install flag Run rpasInstall with the –testinstall flag.
-p Patch install flag Run rpasInstall with the –patchinstall flag.
-u Usage flag Displays the usage and then exits.

Load CPEM Measure Data

Script Name

cpem_load_measures.ksh

Domain Scope

This script should be run on the CPEM domain.

Description

This script will load the measures needed for CPEM. The input files need to be present in the domain input directory.

Steps

These are the steps of the script:

  1. Validate arguments

  2. For the measures cannitbasesls, cannitsls, cannpromoflag, cannpromoprice, itembrand, itempcksz, itemsz, itemuom, iterbrand, iterpcksz, itersz, and iteruom call loadmeasure with the following parameters:

    Parameter Value
    -d Path to the CPEM domain
    -measure Current measure
    -processes $BSA_MAX_PARALLEL
    -recordLogLevel recordLogLevel passed to the script (if provided)

  3. If the directory <current directory>/../translations/CPEM exists and there are files that start with ”r_” in it, then:

    1. Copy the files to <CPEM domain>/input directory.

    2. Call loadmeasure on the following files (using the same parameters as above): r_dimlabel, r_hierlabel, r_measdescripti, r_measlabel, r_measpicklist, r_msglabel, r_wbtglabel, r_wbtlabel.

  4. Exit.

Additional Required Environment Variables

None

Required Arguments

Parameter Short Description Valid Values Description
-d CPEM domain Path to CPEM domain Path to the CPEM simple domain.

Optional Arguments

Parameter Short Description Valid Values Description
-r recordLogLevel error, warning, information, and profile Sets a logging level for record loading issues. If the logging level set at implementation time is less verbose than the record logging level, then record issues will not be logged. If utility's logging level is at same or higher verbosity as the record logging level, the record issues will be logged with the log indicator as set using this argument.

Optional Flags

None

Export RDF Data to CPEM

Script Name

rdf_e_cpem.ksh

Domain Scope

This script should be run on the RDF master domain.

Description

This script exports a pre-determined list of measures from RDF for use by CPEM.

Steps

These are the steps of the script:

  1. Validate arguments.

  2. Use mace to run the Xpromo_preproc rule group on the local domains using para_spawn from BSA.

  3. Export measures at the specified intersections to the specified files names to the destination path using exportMeasure.

    Measure Name File Name Export Intersection
    itbrand itembrand.csv.ovr item
    itpcksize itempcksz.csv.ovr item
    itsize itemsz.csv.ovr item
    ituom itemuom.csv.ovr item
    pos cannitsls.csv.ovr weekitemstr_
    pvarxlpprc cannpromoprice.csv.ovr weekitemstr_
    rdfpromoind cannpromoflag.csv.ovr weekitemstr_
    regprice07xb cannpromoprice.csv.ovr weekitemstr_
    totadjbasesls cannitbasesls.csv.ovr weekitemstr_

  4. Copy the following files:

    Original file name Copied file name
    itembrand.csv.ovr iterbrand.csv.ovr
    itempcksz.csv.ovr iterpcksz.csv.ovr
    itemsz.csv.ovr itersz.csv.ovr
    itemuom.csv.ovr iteruom.csv.ovr

  5. Log informational success message.

Additional Required Environment Variables

None

Required Arguments

Parameter Short Description Valid Values Description
-d RDF master domain Path to RDF master domain Path to the RDF master domain.
-out Output file path Any valid directory name according to OS

Optional Arguments

None

Optional Flags

None

Export CPEM Data to RDF

Script Name

cpem_e_rdf.ksh

Domain Scope

This script should be run on the CPEM domain.

Description

This script exports a pre-determined list of measures from CPEM for use by RDF.

Steps

These are the steps of the script:

  1. Validate arguments.

  2. Use mace to run the Xpromo_preproc rule group on the local domains using para_spawn from BSA.

  3. Export measures at the specified intersections to the specified files names to the destination path using exportMeasure.

    Measure Name File Name Export Intersection
    FinChgRatioHalo halochgratio.csv.ovr rgn_clsr
    FinMaxChgRatioHalo halomaxratio.csv.ovr rgn_clss
    FinSpProfileHalo apphaloeff.csv.ovr clssrgn_clsr
    itemchgratioCann cannchgratior.csv.ovr rgn_iter
    itemmaxchgratioCann cannmaxratio.csv.ovr rgn_item
    itemspprofileCann appcanneff.csv.ovr itemrgn_iter

  4. Convert the file cannchgratior.csv.ovr into cannchgratio.csv.ovr by swapping the first two fields.

  5. Remove the temporary file cannchgratior.csv.ovr.

  6. Log informational success message.

Additional Required Environment Variables

None

Required Arguments

Parameter Short Description Valid Values Description
-d CPEM domain Path to CPEM domain Path to the CPEM domain.
-out Output file path Any valid directory name according to OS

Optional Arguments

None

Optional Flags

None

CPEM Batch

Script Name

cpem_batch.ksh

Domain Scope

This script should be run on the CPEM domain.

Description

This script runs the rule groups to calculate the cross promotional effects.

Steps

These are the steps of the script:

  1. Validate arguments.

  2. Calls mace to run the following rule groups in the specified order on the CPEM domain:

    1. pre_data

    2. Calc_Markdownsls

    3. pre_process

    4. pre_cann

    5. batch_cann

    6. Batch_Cann_Ratio

    7. Batch_Cann_Prof

    8. pre_halo

    9. batch_halo

    10. Batch_Halo_Ratio

    11. Batch_Halo_Prof

    12. Batch_export

  3. Log informational success message

Additional Required Environment Variables

None

Required Arguments

Parameter Short Description Valid Values Description
-d CPEM domain Path to CPEM domain Path to the CPEM domain.

Optional Arguments

None

Optional Flags

None