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

Previous
Previous
 
Next
Next
 

C Configuring the Clone Procedure

Cloning allows users to generate forecasts for new items and locations by copying, or cloning history, from other items and stores. Users can map items or stores that have similar business cases, clone the historical data, and begin generating forecasts. Cloning provides the ability to generate forecasts based on historical data and promotional calendar.

The Clone Syntax section contains the specifications and syntax for configuring the Forecast procedure.

The clone procedure can be set up to clone sales history, promotion history.

This appendix details these topics:

Clone Requirements

The following libraries must be registered in any domains that will use the clone solution extension:

  • RdfFunctions

Using the CloneMeasure Procedure

The following notes provide information about CloneMeasure functionality.

  • Refer to the appropriate input parameters and output measures when using the CloneMeasure procedure.

  • The PROD and LOC hierarchies are required by the CloneMeasure expression. If CLND exists, it must be the innermost hierarchy.

  • Cloning supports up to three like items or three sister stores with contribution percentages for each of these items or stores.

  • An adjustment ratio can be defined to modify the level of the CloneMeasure history for the new product or location.

  • Like items are auto recommended after you run the new item recommendation script and it is reviewed/approved by using new item review and maintenance workbooks. Sister stores are manual selected by you when using new store workbooks.

  • The cloning (copying) of historical data is performed as part of the batch process using the CloneMeasure special expression.

  • The CloneMeasure special expression is generic enough that it can be used to copy not just history, but forecast parameters, Casual histories and more, using the CloneMeasure special expression.

  • The input parameters include a replicate mode(1 is clone), a substitute method measure, a source array, up to six map measures, six contribution measures, two Adjustment Ratio Measures, and a destination array.

  • The source and destination array must be at the same intersection, as validated by the special expression. The intersection will be where cloning is performed.

  • The map, contribution measures must be at the same intersections as the source and destination arrays.

  • The map arrays and contribution measures are optional; at least one of each is required. The number of contribution measures should be equal to the number of map measures.

  • Two additional optional start and end date measures can be passed, which specify the start end and end date indexes of the cloning process.

  • Similar restrictions for the intersection of the Start and End Date Index measures apply as mentioned with map measures above.

  • The index should be an index along a calendar dimension equal to the Calendar Dimension along Source and Destination array. For example, if the Source and Destination Arrays are at the item/store/week level intersection, then the Start and end date index measures should contain Index values of the Week dimension.

  • If these values are not passed, they will default to calendar hierarchy Start and End dates.

  • When running a CloneMeasure at a higher intersection, you need to create a mask measure. If you create a mask, do so at the same intersection as your SRC and DEST measures less the Calendar dimension if the SRC and DEST are at a higher intersection.

  • In some instances, it is preferable that the CloneMeasure expression is run separately for items and locations. Perform the following procedure to run the CloneMeasure expression separately for items and locations:

    1. Run the CloneMeasure expression for items.

    2. Update the CloneMeasure source measure with the results from the item cloning run.

      For example, if the initial source measure for the cloning run was source_measure, and the item cloning adjustments are stored in the item_cloning_adjustments measure. Then the update could be achieved by an expression of the type:

      source_measure = source_measure + item_cloning_adjustments

    3. Run the CloneMeasure expression for locations with the same source_measure as source measure.

    4. Aggregate the various demand components to build the forecast source.

Cloning Real or Integer Measures

Since up to three parent items and three parent stores can be specified, the number of mapping measures can consist of up to nine combinations of item/stores (# of parent items specified x # pf parent stores specified) and corresponding % contributions.

Example C-1 Calculating Real or Integer Values Using the Clone Expression

The following example illustrates how real or integer values are calculated using the clone expression.

Item1
Item2 Item3 Item4
20% 20% 60%
STR1
STR2 STR3 STR4
20% 50% 30%

The Special Expression will calculate mappings and contributions as follows:

  • Item2/STR2 at 4%

  • Item2/STR3 at 10%

  • Item2/STR4 at 6%

  • Item3/STR2 at 4%

  • Item3/STR3 at 10%

  • Item3/Str4 at 6%

  • Item4/STR2 at 12%

  • Item4/STR3 at 30%

  • Item4/Str4 at 18%

Example C-2 Subset of Possible Values Provided

If only a subset of values is populated, then the clone expression performs its calculations as shown in this example.

Item1
Item2 Item3
20% 80%
STR1
STR2 STR3
50% 50%

The Special Expression will calculate mappings and contributions as follows:

  • Item2/STR2 at 10%

  • Item2/STR3 at 10%

  • Item3/STR2 at 40%

  • Item3/STR3 at 40%

Example C-3 Subset of Possible Values Provided with Adjustment Ratio

If only a subset of values is populated and an Adjustment Ratio is defined, then the clone expression performs its calculations as shown in this example.

Item1
Item2 Item3
20% 80%
Adjustment Ration = 1
STR1
STR2 STR3
50% 50%
Adjustment Ration = 0.5

The Special Expression will calculate mappings and contributions as follows:

  • Item2/STR2 at 5% (=20% x 0.5x50%)

  • Item2/STR3 at 5%

  • Item3/STR2 at 20% (=80%x0.5x50%)

  • Item3/STR3 at 20%

Clone Syntax

The syntax for using the clone procedure is shown in the following examples. The input and output parameter tables explain the specific usage of the parameters names use in the procedure.

Example C-4 Generic Example for Cloning Real or Integer Measures:

DEST:DEST_MEASURE <-CloneMeasure(REPLMOD:1,SUBMETH:SUBMETHOD_MEASURE,SRC:SOURCE_MEASURE,

SKUMAP1: SKUMAPMEAS1, SKURATIO: SKUCONTRIBUTION1, SKUMAP2: SKUMAPMEAS2, SKURATIO2:SKUCONTRIBUTION2, SKUMAP3:SKUMAPMEAS3, SKURATIO3: SKUCONTRIBUTION3, SKUADJRATIO: SKUADJUSTMENTRATIOMEAS

STRMAP1:STRMAPMEAS1, STRRATIO1:STRCONTRIBUTION1, STRMAP2:STRMAPMEAS2, STRRATIO2:STRCONTRIBUTION2, STRMAP3:STRMAPMEAS3, STRRATIO3:STRCONTRIBUTION3, STRADJRATIO:STRADJUSTMENTRATIOMEAS [, STARTINDEX:STARTINDEX]

[, ENDINDEX:ENDINDEX]

Example C-5 Sample of Clone Function with Real or Integer Measures:

DEST:clnadj<- CloneMeasure

(REPLMOD:1,SUBMETH:fcpsubm,SRC:prebasesls,SKUMAP1:nitapplkitm1,SKURATIO1:nitappcnt1,SKUMAP2:nitapplkitm2,SKURATIO2:nitappcnt2,SKUMAP3:nitapplkitm3,SKURATIO3:nitappcnt3,SKUADJRATIO:nitappadj,STRMAP1:nstapplkstr1,STRRATIO1:nstappcnt1,STRMAP2:nstapplkstr2,STRRATIO2:nstappcnt2,STRMAP3:nstapplkstr3,STRRATIO3:nstappcnt3,STRADJRATIO:fcpadj)

Configuration Parameters and Rules

This section describes the configuration parameters and rules for clones.

Input Parameters

Table C-1 provides the input parameters for the clone procedure and special expressions.

Table C-1 Input Parameters for the Clone Procedure and Special Expressions

Parameter Name Description

1

Replicate mode

1 - Clone

SUBMETHOD_MEASURE

Substitute method for new items or new stores.

9 - New Item Clone

10 - New Store Clone

SOURCE_MEASURE

The source measure used for cloning.

The source array and destination array need to be at the same intersection, which will be validated by the special expression. This is the intersection in which cloning is performed.

Data Type: Integer, Real

Required: Yes

SKUMAPMEAS1

The first SKU measure that is mapped to the new item/store.

Data Type: String

Required: Yes

At least one map measure is required when using the clone function. SKUMAPMEAS1 needs to be populated with position ID of clone item.

SKUCONTRIBUTION1

The percentage of data used when cloning historical data. Used to weigh or assign importance of item or store map.

Data Type: Real

Required: Yes—for Real or Integer cloning.

Ignored for Boolean and String cloning. At least one contribution measure is required Real or Integer cloning.

SKUMAPMEAS2

The second SKU measure that is mapped to the new item/store.

Data Type: String

Required: Yes— for Integer, Real, Boolean, or String cloning.

Ignored for Date cloning.

SKUCONTRIBUTION2

The percentage of data used when cloning historical data for SKUMAPMEAS2. Used to weigh or assign importance of item or store map.

Data Type: Real

Required: Yes

Ignored for Boolean and String cloning.

SKUMAPMEAS3

The third SKU measure that is mapped to the new item/store.

Data Type: String

Required: Yes— for Integer, Real, Boolean, or String cloning.

Ignored for Date cloning.

SKUCONTRIBUTION3

The percentage of data used when cloning historical data for SKUMAPMEAS3. Used to weigh or assign importance of item or store map.

Data Type: Real

Required: Yes

Ignored for Boolean and String cloning.

SKUADJUSTMENTRATIOMEAS

A value greater than zero (0) used to adjust the level of history calculated at the item level.

Data Type: Real

Required: Yes

STRMAPMEAS1

The first STR measure that is mapped to the new item/store.

Data Type: String

Required: Yes

STRMAPMEAS1 needs to be populated with position ID of clone store.

STRCONTRIBUTION1

The percentage of data used when cloning historical data for STRMAPMEAS1. Used to weigh or assign importance of item or store map.

Data Type: Real

Required: Yes — for Real or Integer cloning.

Ignored for Boolean and String cloning.

StrMapMeas2

The second STR measure that is mapped to the new item/store.

Data Type: String

Required: Yes— for Integer, Real, Boolean, or String cloning.

Ignored for Date cloning.

StrContribution2

The percentage of data used when cloning historical data for STRMAPMEAS2. Used to weigh or assign importance of item or store map.

Data Type: Real

Required: Yes

Ignored for Boolean and String cloning.

StrMapMeas3

The third STR measure that is mapped to the new item/store.

Data Type: String

Required: Yes— for Integer, Real, Boolean, or String cloning.

Ignored for Date cloning.

StrContribution3

The percentage of data used when cloning historical data for STRMAPMEAS3. Used to weigh or assign importance of item or store map.

Data Type: Real

Required: Yes

Ignored for Boolean and String cloning.

STRADJUSTMENTRATIOMEAS

A value used to adjust the level of history calculated at the store level.

Data Type: Real

Required: Yes

STARTINDEX

The index value for the Week dimension to be used as the starting point to clone data.

Data Type: Integer

Required: No

ENDINDEX

The index value for the Week dimension to be used as the ending point to clone data.

Data Type: Integer

Required: No

DEST_MEASURE

An array containing the item or location data is being cloned.

Data Type: Integer, Real

Required: Yes

Data type and Base Intersection of this measure need to be the same as that of the SOURCE_MEASURE.


Clone Special Expression

This section describes special expressions for clones.

ClonePostProc

The ClonePostProc special expression can be used to adjust the cloned sales history based on actual sales of new items. When a new item start selling, the actual sales and the clone sales can be used to calculate an adjustment ratio. The cloned sales is multiplied with the adjustment ratio so that the scale of cloned sales is close to actual sales.

Calculation

adjust cloned sales = pow(total actual sales from history start to t period forward /total cloned sales over t period backward from history start,1-alpha) * cloned sales

Example C-6 Clonepostproc Syntax

DEST:clnadj<-ClonePostProc(SALESHIST:pos, NPERSSLSTHRSHLD:clnslsprdXLXB,

MASKMEAS:clnAdjMask, NPERSCALCRAT:clnclcprdX

LXB, ADJRATIO:clnalphaXLXB)

Table C-2 Parameters for the ClonePostProc Special Expression

Parameter Name Description

DEST

host cloned sales at prod/loc/clnd before special expression run. After special expression run, it host the adjusted sales:

Data Type: Real

Required: Yes

The Data Type and Base Intersection of this measure needs to be the same as SALESHIST.

SALESHIST

Sales measure contains actual sales. Based on prod/loc/calendar

Data Type: Real

Required: Yes

NPERSSLSTHRSHLD

Maximum number of periods having actual sales. Based on prod/loc, When the sales history period is more than this threshold. no adjust is made.

Data Type: Integer, Real

Required: Yes

MASKMEAS

A Boolean measure at prod/loc.

It indicates which times eries is eligible for adjustment.

Data Type: Boolean

Required: Yes

NPERSCALCRAT

An integer measure indicate the number of period to used pre and after actual sales history start to calculate adjustment.

Data Type: Integer, Real

Required: Yes

ADJRATIO

The alpha number in the calculation formula. A real measure based on prod/loc.

Data Type: Real

Required: Yes

Valid alpha is between 0-1. When alpha=0 or1, no adjustment is made.

When alpha is close to 0, the adjusted sales is close to the cloned sales. When alpha is close to 1, the adjusted sales is close to the actual sales.

It needs to be on the same intersection as NPERSCALCRAT and NPERSSLSTHRSHLD.