This chapter provides reference information for PTP series, levels, methods, and so on.
This chapter covers the following topics:
This chapter provides reference information for PTP series, levels, methods, and so on.
PTP provides the following series:
PTP uses the following item levels:
The most commonly used item level is Promotion Group. Some PTP worksheets use Brand or Segment. The other levels are provided for convenience, so that you can create worksheets aggregated at those levels.
The Manufacturer level is populated via the APPPROC_MAINTAIN_TERR_RETAILER procedure. The rest are created by ep_load_main.
PTP uses a variety of different location levels.
The most commonly used location levels is PTP are Territory and Retailer. The Retailer has a set of attributes, described in the following subsection. The other levels are provided for convenience, so that you can create worksheets aggregated at those levels.
The Territory-Retailer level is used by the Analytical Engine. This level is populated via the APPPROC_MAINTAIN_TERR_RETAILER procedure. The rest are created by ep_load_main.
Internally, the lowest location level is a combination of Ship To and Territory and is created automatically by Demantra.
This level contains the retailers. It is expected that retailers will be loaded rather than created within PTP. However, users can and should modify attributes of these retailers:
Attribute | Purpose |
---|---|
Account Classification | Drop-down list with the following choices:
|
Avg Everyday Selling Margin | Average selling margin, disregarding promotions. |
Class_of_Trade | Drop-down list with the following choices:
|
Event Threshold: Display Only | Minimum number of units that should be sold for an event of type Display. |
Event Threshold: F Shopper | Minimum number of units that should be sold for an event of type F. Shopper. |
Event Threshold: Feat Display | Minimum number of units that should be sold for an event of type F&D. |
Event Threshold: Feature Only | Minimum number of units that should be sold for an event of type Feature. |
Event Threshold: Natl TV | Minimum number of units that should be sold for an event of type National TV. |
Event Threshold: TPR Only | Minimum number of units that should be sold for an event of type TPR. |
Key Competitors | A text field where you can list the key competitors of this retailer. |
Min Man Event Margin | |
Min Rtl Event Margin | Minimum margin that this retailer must make on an event. Promotion Optimization considers only events that provide at least this much margin. |
Name | Name of the retailer. |
Number of Active Stores | Number of active stores that this retailer operates. |
Ship Timing: Display Stock #Wk | Specifies how much earlier this retailer likes to receive any items to be placed in display stock. Specify as the number of weeks needed before the start of the promotion. |
Ship Timing: Displays # Wks | Specifies how much earlier this retailer likes to receive any displays to be placed in the stores. Specify as the number of weeks needed before the start of the promotion. |
Ship Timing: Reg Open Stock Wks | Specifies how much earlier this retailer likes to receive any items to be placed in open stock. Specify as the number of weeks needed before the start of the promotion. |
Slotting Fees per item | Amount that this retailer charges to place the items on the shelf, per item. |
Use Default Profile | Controls whether to update this profile by getting the default values for all these attributes. |
Veh Costs: Display Only | Default cost for an event of type Display for this retailer. |
Veh Costs: F Shopper | Default cost for an event of type F. Shopper for this retailer. |
Veh Costs: Feature & Display | Default cost for an event of type F&D for this retailer. |
Veh Costs: Feature Only | Default cost for an event of type Feature for this retailer. |
Veh Costs: Natl TV | Default cost for an event of type National TV for this retailer. |
Veh Costs: TPR Only | Default cost for an event of type TPR for this retailer. |
This level allows retailers to be defined at both the corporate name level and the regional level.
PTP uses a variety of different promotion levels.
The following sections provide details on these levels:
“Promotion”
“Promotion Status”
“Promotion Type”
“Scenarios”
“Optimization Goal”
“Plans”
This level stores a set of promotions for a particular account over a given time period.
Attribute | When Displayed | Purpose |
Account | - | The account on which these promotions will be run. |
This level facilitates the transferring of promotions to Siebel. It stores the lock status, which ensures that data doesn't become out of sync during the transfer.
This level contains the promotions. Users can add, modify, or remove promotions as needed. The following table lists all the attributes of promotions and indicates when these attributes are displayed:
Attribute | When Displayed | Purpose |
---|---|---|
Approval | - | - |
Buydown | - | Buy down allowance for this promotion. May be used for Off Invoice or Bill back purposes. |
Cons Promo | When creating or editing | Consumer overlay. Indirectly specifies the number of units included in the deal to the customer. Uses the Cons_type lookup table; see “Lookup Tables”. |
End Ship | When creating or editing | - |
Event Status | Not used. | Ignore this attribute. It is not used. |
Fixed Buydown | When optimizing | Specifies whether Promotion Optimization should use the buydown that you have already entered or calculate an optimal buydown for this promotion. Uses a lookup table that should not be edited. |
Max Budget | When optimizing | Maximum allowed budget for this promotion. |
Max Buydown | When optimizing | Maximum allowed buydown for this promotion. If Promotion Optimization calculates an optimal buydown, the buydown will not exceed this value. |
method_status | - | Uses a lookup table that should not be edited. |
Min Rtl Margin Override | When optimizing | Minimum margin that the retailer must make on this promotion. By default, Promotion Optimization considers the retailer's default required minimum margin. Use this parameter to override that value, if needed. Use a value greater than 0 and less than or equal to 1. |
Name | When creating or editing | Name of the promotion. Does not have to be unique. |
Optimal Budget | - | - |
Optimal Lift | - | - |
Optimal Price Decrease | - | - |
Optimal Profit | - | - |
Optimal Revenue | - | - |
Optimal Type | - | Indicates the optimal vehicle type for this promotion. This attribute is a lookup attribute that uses the Promotion Type level. |
Optimization Goal | When optimizing | Select one of the following goals for this promotion:
This attribute is a lookup attribute that uses the Optimization Goal level. |
Optimization Range End | When optimizing | By default, Promotion Optimization assumes that you want the optimized promotion to fall within the span of time of the original promotion. If you want Promotion Optimization to search for a better time for this promotion, use these attributes to specify the range of time for optimization to consider. |
Optimization Range Start | When optimizing | |
Optimization Status | Never displayed | Status of the optimization process on this promotion. Uses a lookup table that should not be edited. |
Population | When creating or editing | Combinations where this promotion will run and dates of the promotion. |
Promotion Status | Not used. | Ignore this attribute. It is not used. |
Promotion Type1 | Never displayed | Current vehicle type for this promotion. This attribute is a lookup attribute that uses the Promotion Type level. |
Return on Investment (ROI) | - | - |
Scenarios | When creating or editing | Scenario to which this promotion belongs. This attribute is a lookup attribute that uses the Scenarios level. |
Start Ship | When creating or editing | - |
Status | Never displayed; not used directly | - |
Vehicle Type | When creating or editing | Type of the promotion. This attribute is a lookup attribute that uses the Promotion Type level. |
This level contains the PTP promotion statuses.
This level contains the promotion types, by default, the following set:
Type | Details |
---|---|
Display | Display Only |
F. Shopper | F Shopper |
F&D | Feature and Display |
Feature | Feature Only |
National TV | National TV advertising. If this does not apply, you can use this type as a placeholder for another type, as needed. |
TPR | Temporary price reduction only. |
Consultants can add other types, but changes are needed in multiple places if this is done. The documentation for this is currently out of scope.
This level contains the scenarios, which have the following purposes:
Actuals contains promotions from previous years. These promotions are excluded from most PTP worksheets because they fall outside the span of time used in these worksheets.
Current Year should contain the promotions that are planned for the current fiscal year.
Sandbox should contain all promotions that are not yet planned.
This level contains the predefined optimization goals. Do not make changes to this level.
This level is not used in PTP worksheets.
This section lists the configurable lookup tables used by promotion levels and series.
Note: You can change the contents of these table, but you should not change their structure.
This table lists types of consumer overlays and for each type, indicates the number of units included in the deal to the consumer. This lookup table is used by the Cons Promo attribute, the Cons Promo series, and the Cons Promo P series. This table has the following structure:
Field | Required? | Data type | Purpose |
---|---|---|---|
CONS_TYPE_ID | required | NUMBER(10) | Unique ID for Oracle internal use. |
CONS_TYPE_CODE | VARCHAR2(50) | Code for the consumer overlay. | |
CONS_TYPE_DESC | VARCHAR2(50) | Name of the consumer overlay. | |
IS_FICTIVE | NUMBER(1) | Leave these null. | |
SELF_SHAPE_INDICATOR | NUMBER(5) | ||
IG_SHAPE_INDICATOR | NUMBER(5) | ||
OMIT_SEASONAL | NUMBER(5) | ||
FICTIVE_CHILD | NUMBER(10) | ||
LAST_UPDATE_DATE | DATE |
This table controls the drop-down choices in the Pay Type series. This table has the following structure:
Field | Required? | Data type | Purpose |
---|---|---|---|
PAY_TYPE_ID | required | NUMBER(10) | Unique ID for Oracle internal use. |
PAY_TYPE_CODE | VARCHAR2(50) | Code for the consumer overlay. | |
PAY_TYPE_DESC | VARCHAR2(50) | Name of the consumer overlay. | |
IS_FICTIVE | NUMBER(1) | Leave these null. | |
SELF_SHAPE_INDICATOR | NUMBER(5) | ||
IG_SHAPE_INDICATOR | NUMBER(5) | ||
OMIT_SEASONAL | NUMBER(5) | ||
FICTIVE_CHILD | NUMBER(10) | ||
LAST_UPDATE_DATE | DATE |
PTP uses the following custom methods.
This method uses the Call Promotion Optimizer predefined workflow. The Call Promotion Optimizer workflow consists of three steps in addition to the edit member step:
The first step initializes the necessary fields in the database. This step collects arguments, passes them to the APPPROC_PRE_OPTIMIZATION stored procedure, and then runs that stored procedure.
Caution: You should not change this step.
The second step calls the optimizer. This is a custom step that collects arguments and calls the OPL class file, which runs the optimization.
Note: You must configure this for your specific installation, as described in Configuring the Optimization Step in the Demantra Implementation guide.
The final step cleans up the necessary fields in the database, collects arguments, passes them to the APPPROC_POST_OPTIMIZATION stored procedure, and then runs that stored procedure.
Caution: You should not change this step.
If the user uses this method, Demantra creates a virtual promotion that the user can display along with the current promotion (in the PMO: Optimization Comparison worksheet).
This method saves the optimized promotion, overwriting the previous details. Specifically, it copies data from the optimized series to the corresponding standard series, for the selected promotion. For example, it copies data from # Wks O to # Wks.
This method uses the AcceptOptimization predefined workflow. This workflow consists of one step (which calls the APPPROC_ACCEPT_OPTIMIZATION procedure).
PTP uses the following custom procedures.
Procedure | Purpose |
---|---|
APPPROC_ACCEPT_OPTIMIZATION | Used by Promotion Optimization. |
APPPROC_BLE_ACTUALS_LY | Updates the Actuals_LY series. |
APPPROC_BLE_VOLUME_BASE_FUTURE | Updates sales_data. vol_base_ttl, for all dates. For dates in the future, this procedure sets the field equal to the latest base forecast from the engine. For dates in the past, this procedure sets the field equal to the value of sales_data. sdata5, the syndicated base volume. |
APPPROC_BLE_VOLUME_BASE_HIST | Updates sales_data .vol_base_ttl, for dates in the past. This procedure sets the field equal to the value of sales_data. sdata5, the syndicated base volume. |
APPPROC_CLEAR_DATA | Clears the sales_data, mdp_matrix, promotion, and promotion_data tables. |
APPPROC_COPY_DEF_RETAILER | Iterates through all retailers, finds any that have been marked as using the default profile, and copies the default attribute values to each of those retailers. |
APPPROC_DROP_TEMPS | Drops the temporary tables. |
APPPROC_MAINTAIN_TERR_RETAILER | Populates the Manufacturer level and the Territory-Retailer level. |
APPPROC_POST_DATA_LOAD | This procedure completes the last steps needed during data loading:
|
APPPROC_POST_OPTIMIZATION | Used by Promotion Optimization. |
APPPROC_PRE_OPTIMIZATION | Used by Promotion Optimization. |
Instead of running procedures directly, use the workflows provided by PTP.
See Workflows.
PTP uses the following custom triggers.
PTP uses the following workflows:
This section describes the basic engine configuration in PTP.
The PTP forecast tree is as follows:
Forecast level number | Levels used in this forecast level | Notes | |
---|---|---|---|
Item level | Location level | ||
1 | Lowest level | Lowest level | |
2 | Item | Site | This is also the lowest promotional level (LPL). |
3 | Item | Retailer | This is also the influence group level (IGL). |
4 | Promotion Group | Retailer | This is also the influence range level (IRL). |
5 | Promotion Group | Corporate | |
6 | Highest | Highest |
In PTP, the following parameter values are set for the Analytical Engine:
Only the linear models work with Promotion Optimization. Therefore, in the model table in the database, the following models are marked as IS_OPTIMIZATION=1: R-REGR, M-MRIDGE, and C-CMREG.
The application server currently must be a WINDOWS machine in order to run optimization.
The application server must have Oracle or SQL Server clients installed.
TNS entry in TNSNames.ora where name matches the DBNAME entry in the APPSERVER.PROPERTIES file which can be reached in <ROOT> Collaborator\demantra
From Business Modeler, navigate to system parameters.
Parameters > System Parameters
In the system tab, check that the parameter AppServerLocation contains the correct path where the application is installed. If there is a mismatch, enter the correct path into the parameter application_root
Example setting: F:\Program Files\Integration 7.1.1 \Collaborator\demantra
Navigate on the desktop to My Computer. Right click, and then choose Properties from the right-click menu.
Choose the Advanced tab, and then click Environmental Variables.
Verify that the path variable contains path to <ROOT>\Collaborator\demantra\optimization\dll.