This chapter describes how to configure promotions and promotional causal factors in the Business Modeler.
This chapter covers the following topics:
The Demantra installer automatically defines the following required promotion levels:
These levels have the following purposes:
Level | Purpose | Permitted Customization |
---|---|---|
Promotion | Defines the promotions themselves. This level must define all the possible attributes that can be associated with promotions. This level must include the Population attribute, which specifies the item-location combinations and the time span with which the promotion is associated. |
Add attributes only. |
Promotion Status | Controls the following: Whether the promotion is used in forecasting. Whether users can edit the promotion. How DSM uses the promotion. See "Promotion Status". |
|
Promotion Type | ||
Scenarios | Provides optional organizational structure, for the benefit of users, particularly within a worksheet. | Any change is allowed. |
Optimization Goal | For use by the Promotion Optimization module only; see the Oracle Demantra Release Notes. | |
Plans | Provides optional organizational structure, for the benefit of users, particularly within a worksheet. | Any change is allowed. |
The values of Promotion Status are as follows:
Meaning | |||
---|---|---|---|
Status | In forecasts | In worksheets | In DSM |
Unplanned | The Analytical Engine does not consider this promotion. | Users can edit the promotion. | DSM considers this promotion to be uncommitted. |
Planned | The Analytical Engine does consider this promotion. | ||
Committed | The user who committed this promotion can edit it. | DSM considers this promotion to be committed | |
Running | Nobody can edit the promotion. | The promotion is currently running. | |
Unmatched | The promotion has ended but has not yet been matched to an invoice. | ||
Matched | The promotion has ended and has been matched to an invoice. |
For information on DSM, see the Oracle Demantra Deduction and Settlement Management User's Guide.
You typically customize the promotion levels by adding attributes, although other changes are also permitted; see "Base Behavior". To customize the promotion levels, you use the Business Modeler.
You should also configure the Activity Browser of the worksheets, which displays a hierarchy of promotions. The Activity Browser has the same structure for all worksheets. To configure it, you use the Business Modeler.
For information, see "Configuring the Activity Browser"
To load historical promotions, use the Integration Interface Wizard, described in "Series and Level Integration". Create and execute an integration interface that loads both the promotion members (via a level profile) and any promotion data (via a data profile).
The Analytical Engine does not directly use the promotions for forecasting. Instead, it converts their attributes to promotional causal factors, which it then converts to normal causal factors.
In this process, it uses the configuration information that you provide in the Business Modeler. For each promotional causal factor, the key options are as follows:
Column Name Expression
Filter
Transpose by Column
Merge Function
Aggregation Function
It is important to understand how the Analytical Engine uses these options. The following sections describe how the Analytical Engine starts with promotions and converts them to causal factors. For more details on the engine flow, see "Engine Details".
These options use expressions that refer to promotion data. Note that these expressions can refer only to the tables that are used by the levels within the hierarchy of the analytical general level (promotion). For example: promotion_data or promotion.
For information on setting these options, see "Configuring Promotional Causal Factors".
In this discussion, it is useful to consider the general kinds of promotional attributes that the Analytical Engine can use:
Quantitative attributes such as discount. These attributes have numeric values that the Analytical Engine can use in their present form. The Analytical Engine assumes that the effects of these attributes is correlated with the value of the attribute. For example, if discount1 is larger than discount2, then discount1 has a larger effect on demand than discount2.
The Analytical Engine does not assume that the correlation has a positive sense.
Boolean attributes, where the attribute either has a value or does not have a value.
Qualitative attributes, where the attribute can have one value from a given set of values. The set of values is unordered, which means that even if the values are numeric, there is no intrinsic meaning in the relative sizes. For example, you might use numeric color codes 4 and 5, but color 5 does not have a larger effect on demand than color 4.
Demantra converts this kind of attribute into a set of unrelated causal factors. For example, color code 4 is one causal factor and color code 5 is another. For any given promotion, this causal factor either has a value or does not have a value.
The lowest promotion level (LPL) is a level in the forecast tree. Specifically, it is the lowest level at which promotions can have different attribute values from other, and it must be at or below the minimum forecast level.
The Analytical Engine retrieves the promotional causal factor data and aggregates it to the LPL, as specified by the Column Name Expression. You use an aggregating expression like the following example:
max(promotion_data.discount)
Note: As with all the options discussed here, the expression can refer only to tables that are used by the levels within the hierarchy of the analytical general level (promotion). For example: promotion_data or promotion.
As a general rule, an expression that uses the max function is probably appropriate in most cases, because promotions should have the same attribute values below the LPL, by definition.
Sometimes you need to convert one set of promotional causal factor data into multiple causal factors. To do so, you use a Filter expression, an aggregating expression that evaluates to true or false. The promotional causal factor uses only the data for which the expression is true. You typically create multiple promotional causal factors, each with a different filter expression that uses a different part of the source data.
For example, consider the following promotional data. This table contains one row for each promotion for a given combination and time bucket. (For simplicity, the table shows only one combination, one time bucket, and three promotions.) The promotion_data table shows values of attributes (promo_type and discount) associated with those promotions.
Item | Location | Date | Promotion | Promo_type | Discount |
---|---|---|---|---|---|
100 | 333 | 1 | 214 | 1 | 15 |
100 | 333 | 1 | 296 | 2 | 5 |
100 | 333 | 1 | 340 | 3 | 10 |
Suppose that we have configured the following promotional causal factors:
Factor Name | Column Name Expression | |
---|---|---|
Special Discount | max(promotion_data.discount) | max(promotion_data.promo_type=3) |
Discount | max(promotion_data.discount) | max(promotion_data.promo_type<>3) |
Internally, Demantra would convert the promotion attributes to the following promotional causal factors:
Item | Location | Date | Promotion | Special Discount | Discount |
---|---|---|---|---|---|
100 | 333 | 1 | 214 | 0 | 15 |
100 | 333 | 1 | 296 | 0 | 5 |
100 | 333 | 1 | 340 | 10 | 0 |
Next, the Analytical Engine considers the Transpose by Column setting, which you use for qualitative promotion attributes. This setting converts a single promotion attribute into multiple causal factors. For quantitative or Boolean attributes, specify 0, which means that Promotion Effectiveness can use the attributes as casual factors in their present form.
For example, suppose that promotions use different "delivery types," which correspond to different mechanisms such as circulars, extra product samples, coupons, and so on. Each of these mechanisms might have a different affect on sales. Suppose we have the following example data in the promotion_data table:
Item | Location | Date | Promotion | Delivery_type |
---|---|---|---|---|
150 | 344 | 1 | 214 | 4 |
150 | 344 | 1 | 296 | 5 |
150 | 344 | 1 | 340 | 6 |
Because delivery_type is a qualitative attribute, it is generally appropriate to transpose it. We could configure a Delivery Type promotional causal factor, as follows:
Factor Name | Column Name Expression | Filter | Transpose by Column |
---|---|---|---|
Delivery Type | max(promotion_data.Delivery_type) | null | max(promotion_data.Delivery_type) |
Note that Transpose by Column must be an aggregating expression.
Using this configuration data, Demantra would internally convert the preceding promotion attributes into the following set of promotional causal factors:
Item | Location | Date | Promotion | Delivery Type(4) | Delivery Type(5) | Delivery Type(6) |
---|---|---|---|---|---|---|
150 | 344 | 1 | 214 | 4 | 0 | 0 |
150 | 344 | 1 | 296 | 0 | 5 | 0 |
150 | 344 | 1 | 340 | 0 | 0 | 6 |
You may want to transpose by a promotion attribute (as in this example) or by members of a level in the promotion hierarchy.
Note: If you use the members of a level to transpose an attribute, be sure to first filter out the default member (which has an ID of 0) of that level.
Next the Analytical Engine uses the Merge Function setting, which describes how to merge promotional causal factors that occur on the same date at the same item-location combination (thus merging across all the promotions for that combination and date).
For Merge Function, you can choose one of the functions provided by Business Modeler.
The way that you merge depends upon the meaning of the data in the promotional causal factor. For example, if you have multiple discounts on the same date, you would want to merge them by the compound rule (so that 10% and 20% are merged to 28%).
The influence group level (IGL) is another level in the forecast tree. The Analytical Engine uses this level to simplify the computational problem. It creates the following three historical promotional causal factors for each node in the forecast tree:
self | Influence on this node caused by attributes on this node |
own | Influence on this node caused by other nodes within the same IG |
other | Influence on this node caused by all other IGs within the IR |
In this last step, the Analytical Engine uses the Aggregation Function option, which describes how to aggregate the promotional causal factor to the IGL.
Note: The Analytical Engine uses the same option whenever it needs to aggregate to higher levels for forecasting purposes.
For Aggregation Function, you can choose one of the functions provided by Business Modeler.
This section describes how to configure promotional causal factors. You can do most of the work within the Business Modeler, but it is necessary to go into the database for the final steps.
Note: Causals participating in Optimization require these additional settings
Opti_Causal_Type
0=Price Decrease $
1=Price Discount %
2=Spent Not Used?
3=Boolean
Opti_Causal_Output= The promotion table column containing optimized causal result.
Opti_Transpose_Output=The promotion table column containing optimized causal transpose result.
Note: The engine only evaluates causals with direct effect. Causals with indirect effects are not evaluated.
Analytical Recommendations
Limited Number of Causals
Quantitative or Boolean Causals only
Qualitative Causals supported through Transpose
To configure promotional causal factors
Click Engine > Forecast Tree. Or click the Forecast Tree button.
Click Next repeatedly until you reach the Promotional Causal Factors screen.
Each row in this screen specifies a promotional causal factor.
To add a new promotional causal factor for Promotion Effectiveness, click Add.
A new line is added.
Describe the promotional causal factor by specifying the following:
Describe how the Analytical Engine should use this promotional causal factor. To do so, specify the following values:
Click Validate to check the validity of the configuration.
Click Save.
Now you can return to previous dialog boxes to make further changes. Or click Finish to exit.
By default, Promotion Effectiveness assumes that a promotion has an effect between its start and end dates, as provided to Oracle Demantra. Typically the promotion has an actual effect in a slightly different span of time, as in the following example:
You can adjust the dates used by the Analytical Engine in two complementary ways:
To specify the number of days to add to the sales date for any given promotion, set the ShiftDynPromoDate, which is typically an expression that varies by promotion and that returns a negative number. In the preceding example, ShiftDynPromoDate equals -1 for the promotion shown here.
Note: Alternatively, to specify an overall shift in time for all promotions, set the ShiftPromoCausals parameter.
To stretch a promotion by adding time buckets to the beginning or end, do the following.
Decide which attribute or attributes have pre and post-promotional effects.
Enable shape modeling for those promotional causal factors; see "About Promotion Shape Modeling".
For those promotional causal factors, set Num Shapes equal to 1.
The user must change the pre_effect and post_effect settings of the combination, which default to zero. These settings (in mdp_matrix) specify the number of buckets to search backwards and forwards outside the promotion dates. In the preceding example, we set pre_effect equal to 2.
Typically you also set the ShiftPromoMaxValue parameter, to make sure that you adjust the dates of promotions in the near future (rather than adjusting only historical promotions).
See also
"How the Analytical Engine Uses Promotions"
"Configuring Global and Local Causal Factors"
"Deleting a Causal Factor"
In shape modeling, you capture the profile of the demand over the duration of a promotion. The Analytical Engine models the overall demand as a linear combination of Oracle proprietary shapes, as many as eight shapes; this information replaces the normal causal factor that would have been used instead. The Analytical Engine automatically associates a different shape with each value of the promotional attribute that uses shape modeling. The Analytical Engine calculates the coefficients for each shape, for each relevant combination.
Note: The feature described here is available in addition to activity shape modeling; see "About Activity Shape Modeling".
You should enable shape modeling only if the following are all true:
The demand data is continuous (point-of-sale data rather than order data).
The typical length of a promotion is more than one time bucket.
You need to search for pre and post effects of promotions.
Remember that when you enable shape modeling for a promotional causal factor, the single promotion causal factor is replaced by up to eight causal factors. If the promotional causal factor is transposed, that adds even more causal factors: up to eight for each column that the transpose creates.
To keep the number of causal factors down, you can specify the maximum number of shapes permitted for any given promotional causal factor.
To enable promotion shape modeling
Identify the promotional causal factors that you want to represent as shapes.
On the Promotional Causal Factors screen, make sure to check the Self Shape Indicator option for each of those promotional causal factors.
Consider also setting the following options.
IG Shape Indicator
Omit Seasonal
Num Shapes