10Creating Discount Matrices
Creating Discount Matrices
This chapter covers discount matrices and includes the following topics:
About Discount Matrices
In many industries, prices and price adjustments often depend on both the product that is being sold and other information relevant to the sale. Often, customer and market conditions affect the price for which a product is sold.
Discount matrices allow you to tailor prices and adjustments to specific customer and market segments. They allow you to create and manage prices and adjustments for products in conjunction with other customer and market factors. The discount matrix administrative framework allows pricing administrators to logically group factors that result in a price or adjustment, working in the Siebel client without changing the Siebel repository.
For example, a company that sells laptop computers can create a discount matrix that allows it to charge a different price for laptops based on customer account type and sales region. In this example, customer account type, product, and sales region are the criteria for the price or discount. Therefore, the columns of the matrix would be Product, Account Type, Sales Region, Adjustment Type, Adjustment Amount, and a few additional columns that will be covered later in this chapter. Each row of the matrix defines the price or discount that will be applied when a given product is sold to a given account type in a given sales region, as shown in the following table.
Product | Account Type | Sales Region | Adjustment Type | Adjustment Amount |
---|---|---|---|---|
Laptop 2000 |
Platinum |
Europe |
% Discount |
10 |
Laptop 2000 |
Gold |
Europe |
% Discount |
5 |
Laptop 2000 |
Platinum |
Asia |
% Discount |
11 |
Laptop 2000 |
Gold |
Asia |
% Discount |
6 |
Discount matrices allow you to maintain all of this critical pricing information in a single matrix, instead of dispersing it across numerous Siebel views.
Discount matrices are recommended in cases where:
There is a high volume of prices and adjustments.
The criteria for prices and adjustments are known ahead of time and do not change frequently.
Because prices and adjustments are frequently stored in disparate applications, discount matrices:
Support integration with SAP condition tables.
Can be loaded using Enterprise Integration Manager (EIM) or Enterprise Application Integration (EAI) integration objects.
Can be integrated with legacy applications using other XML-based integration technologies.
About Discount Matrix Dimensions
A discount matrix is a logical grouping of prices or adjustments that apply when specific combinations of criteria for prices or adjustments are met. For example, a discount matrix might contain all the adjustments for products when sold to specific account types, or all the adjustments for products when sold in specific regions.
Before you create discount matrices, you must determine the criteria for the prices or adjustments, based on your company's business model. After identifying criteria, you may begin creating the discount matrix. The criteria for the prices or adjustments will be the unique dimensions (or columns) of the discount matrix.
Along with the criteria dimensions, your discount matrix will include other dimensions. To continue the example, assume your company provides different discounts for each product based on the account type it is sold to and the region where it is sold. It would use the following dimensions:
Criteria Dimensions. These are the fields that uniquely identify the adjustment. In the example, these dimensions would be Product, Account Type, and Region. For each record, all of the criteria dimensions must be populated.
Calculation Dimensions. These fields allow administrators to enter various adjustments for the unique combinations of the discount criteria across various effective dates. These fields include Adjustment Type, Adjustment Amount, Currency Code, Effective Start Date, and Effective End Date.
Result Dimensions. These fields allow administrators to associate other information to the adjustment record that may be needed in the quote, order, or agreement later in the pricing procedure, or by back-end applications. These fields include Volume Discount Schedule, Attribute Adjustment Matrix, Pricing Procedure, Aggregate Discount, and Accounting Code.
The discount details list will include the criteria dimensions that were selected when you created the discount matrix, as well as the default calculation and result dimensions. Each set of dimensions is configurable and extensible.
About Discount Matrix Types
The following topics describes the three types of discount matrices, and the criteria, calculation, and result dimensions that are available for each type:
The fields that are available by default are the fields that are most commonly used with each type of adjustment. In case your business model demands different criteria dimensions, each set is configurable and extensible, as described in About Configuring Discount Matrices.
Product-Based Adjustment Discount Matrices
Product-Based Adjustment Discount Matrices allow administrators to define adjustments based on product, customer, and market information.
By default, the administrator can choose from the following dimensions:
Criteria dimensions to identify product:
Product
Parent Product
Root Product
Product Line
Product Class
Price Type
Criteria dimensions to identify customer:
Account
Account Type
Criteria dimensions to identify market:
Region
Sales Organization
Division Code
Distribution Channel
Dimensions to identify transaction:
Action
Approval Status
Calculation dimensions:
Adjustment Type
Adjustment Amount
Currency Code
Effective Start Date
Effective End Date
Result dimensions:
Volume discount
Attribute Adjustment
Pricing Procedure
Aggregate Discount Sequence
Accounting Code
Entitlement-Based Adjustment Discount Matrices
Entitlement-Based Adjustment Discount Matrices allow administrators to define adjustments based on product, entitlement, and transactional information.
By default, the administrator can choose from the following criteria dimensions:
Criteria dimensions to identify product:
Product
Parent Product
Root Product
Product Line
Price Type
Criteria dimensions to identify transaction:
Entitlement
Action
Qty from
Qty to
Reason Code
Calculation dimensions:
Adjustment Type
Adjustment Amount
Currency Code
Effective Start Date
Effective End Date
Result dimensions:
Volume discount
Attribute Adjustment
Pricing Procedure
Aggregate Discount Sequence
Accounting Code
Training-Based Adjustment Discount Matrices
Training-Based Adjustment Discount Matrices allow administrators to define adjustments based on account, transaction, and training event information.
By default, the administrator can choose from the following dimensions:
Criteria dimensions to identify training:
Training Course
Event
Event Type
Event Location
Price Type
Criteria dimensions to identify customer:
Account
Contact
Criteria dimensions to identify transaction:
Action
Reason Code
Approval Status
Calculation dimensions:
Adjustment Type
Adjustment Amount
Currency Code
Effective Start Date
Effective End Date
Result dimensions:
Volume discount
Attribute Adjustment
Pricing Procedure
Aggregate Discount Sequence
Accounting Code
Process of Creating a Discount Matrix
To create a discount matrix, perform the following steps:
Defining a Discount Matrix
When you create a discount matrix, you specify what type of discount matrix it is, and which criteria dimensions will be shown in the Discount Details list applet.
To define a discount matrix
Navigate to the Administration - Pricing screen, then Discount Matrices View.
Add a new record to the Discount Matrices list and complete the necessary fields, as described in the following table.
Field Comments Name
Enter a name for the discount matrix.
Status
This field displays the status of the discount matrix. When you click the Complete Definition button, the value changes from In Progress to Active. You cannot enter any discount details until the status is Active.
Discount Matrix Type
Select one of the discount matrix types. The options are as follows:
Product-Based Adjustment. For more information, see Product-Based Adjustment Discount Matrices.
Entitlement-Based Adjustment. For more information, see Entitlement-Based Adjustment Discount Matrices.
Training-Based Adjustment. For more information, see Training-Based Adjustment Discount Matrices.
In the Discount Criteria list, add records for all the criteria dimensions that you want exposed in the discount matrix.
The criteria dimensions that you can add depend on the value selected in the Discount Matrix Type field in Step 2.
After all the necessary criteria dimensions are added, click Complete Definition in the Discount Matrix list applet.
Clicking this button freezes the definition of the discount matrix. After this step, you cannot change the discount matrix type or the criteria dimensions.
In the Discount Matrix list, click the name of the new discount matrix.
The Discount Details list appears. It includes the criteria dimensions that you selected in Step 3 and the default calculation and result dimensions.
Entering Discount Matrix Details
After a discount matrix has been defined, you enter details of each price adjustment in the matrix.
You must make entries in all the criteria dimension columns that have been defined.
Enter effective dates in the same way as price lists, as described in Giving a Product Multiple Prices with Different Effective Dates. If you create records with overlapping effective dates, then the product resolves the issues in the same way as price lists, as described in About Effective Dates for Pricing Line Items.
When you enter Discount Detail records, enter a value in the Currency Code field if the Adjustment Type is Price Override, Discount Amount, or Markup Amount. By default, the Currency Code field value is the system currency.
To enter details in a discount matrix
Navigate to the Administration - Pricing screen, then Discount Matrices View.
In the Discount Matrices list, click the name of the matrix to which you want to add details.
The dimensions in the Discount Details list applet are as follows:
The criteria dimensions specified on the discount matrix
The default calculation dimensions
The default result dimensions
In the Discount Details list, add a new record for each combination of criteria dimension values for which you want to define a price adjustment.
In each record, you must enter values for all the criteria dimensions.
Modifying the Pricing Procedure - Calculate Net Price Workflow to Include a Discount Matrix
When you use a discount matrix, you must added an additional step to the workflow Pricing Procedure - Calculate Net Price to apply the discount matrix to the pricing. For more information about this workflow, see Pricing Procedure - Calculate Net Price Workflow.
To modifying the Pricing Procedure - Calculate Net Price workflow to include a discount matrix
In Web Tools, select the Pricing Procedure - Calculate Net Price workflow process. Revise and edit this workflow process.
After the Tiered Volume Discount Upsell step, add a new business service step that queries the appropriate discount matrix business component for any discounts associated with each account type.
Define the step as shown in the following table.
Name Type Business Service Name Business Service Method Account Type Adjustments
Business Service
Row Set Transformation Toolkit
Simple Look-Up Transform
Define the input arguments as shown in the following table.
Input Argument Type Value Property Name Context
Process Property
Context
Row Set
Process Property
Row Set
Business Object
Literal
Adjustment Group
Business Component
Literal
Product-Based Adjustment
Process Condition
Literal
{Row.Product Id} IS NOT NULL AND {Context.Account Type} IS NOT NULL
Search Specification
Literal
[Adjustment Group Name] = 'Account Type Discount' AND [Account Type] = {Context.Account Type}
On First Match 1
Literal
{Row.Net Price} = AdjustPrice({Row.Net Price}, {Row.Currency Code}, LookupName("PRICER_CALCULATION_SIMPLE_TYPE",
{Match.Adjustment Type}), {Match.Adjustment Amount}, {Match.Currency Code}, {Row.Exchange Date})
On First Match 2
Literal
{Row}.{Net Price Waterfall} += New("Waterfall", [Adjustment Amount] = {Match.Adjustment Amount}, [Adjustment Type] = {Match.Adjustment Type}, [Price] = {Row.Net Price}, [Currency Code] = {Row.Currency Code}, [Text] = LookUpMessage ("Pricer - Account Type Discount",[Account Type] = {Match.Account Type} ,[Discount Matrix] = {Match.Adjustment Group Name}))
Define the output arguments as shown in the following table.
Output Argument Property Name Type Context
Context
Output Argument
Row Set
Row Set
Output Argument
Deploy the updated workflow process.
Discount Matrix Integration
You can populate discount matrices with data from other applications, load them using EIM, and systematically update them using EAI. They are designed for integration with SAP condition tables.
Loading and Updating Data from Other Applications
Siebel Enterprise Integration Manager (EIM) tables are available for each discount matrix table.
To initially load data from another application, use EIM. For more information, see Siebel Enterprise Integration Manager Administration Guide.
Integration objects are available for each discount matrix table to enable integration using EAI.
For systematic incremental updates, use EAI. For more information, see Overview: Siebel Enterprise Application Integration.
Integration with SAP Condition Tables
The following SAP-specific dimensions columns are available for the product-based and entitlement-based discount matrix types:
Sales Organization Code
Division Code
Distribution Channel Code
The following SAP-specific fields are available in the Discount Matrix table (S_ADJ_GROUP):
SAP Condition Type: SAP_COND_NAME
SAP Condition Table: SAP_TABLE_NAME
About Configuring Discount Matrices
The criteria, calculation, and result dimensions that are available for each discount matrix type are the ones that are most commonly used for that type of adjustment. However, your business model may require you to use additional dimensions that are not available by default.
To make these additional dimensions available, you can configure the application with Web Tools. For more information about Web Tools, see Using Siebel Tools.
To make additional dimensions available, you must understand the tables used to store the discount matrix data, which are shown in the following schema.

Discount matrix fields are stored in the following tables:
The Discount Matrix Name, Status, and Type are stored in the S_ADJ_GROUP table.
The criteria dimensions that the administrator has selected for the discount matrix are stored in the S_ADJ_GRP_COL table.
The discount details are stored in the following tables:
S_STDPROD_PMTRX (if the discount matrix type is Product-Based Adjustment)
S_STDENTL_PMTRX (if the discount matrix type is Entitlement-Based Adjustment)
S_STDTRNG_PMTRX (if the discount matrix type is Training-Based Adjustment)
To extend the available criteria, calculation, or result dimensions, you may add columns to any or all of these tables.
The following topics include instructions for configuring discount matrices:
Adding New Dimensions to Existing Discount Matrix Types
You must use Web Tools to add new dimensions to existing discount matrix types.
To add new dimensions to existing discount matrix types using Web Tools
In Web Tools, open a workspace and then navigate to Object Explorer.
For more information on using the workspace dashboard, see Using Siebel Tools.
In the Object Explorer, select the Business Component Object.
Query to find the appropriate discount matrix Business Component (Product-Based Adjustment, Entitlement-Based Adjustment, or Training-Based Adjustment).
Add a new Business Component field based on the newly created extension column.
In the Object Explorer, select the Business Component User Prop object under the Business Component object.
Add the new field name to the appropriate user property.
Note: If the field will be used as a criteria dimension, then add it to the Dimension Columns user property. If the field will be used as a calculation or result dimension, then add it to the Default Columns user property. The appropriate syntax for the user properties is as follows: #FieldName#FieldName#FieldName#In the Object Explorer, select the Applet object.
Query to find the appropriate discount details applet (Product-Based Adjustment list applet, Entitlement-Based Adjustment list applet, or Training-Based Adjustment list applet).
Create a new list column for the new field.
Bind the list column to the Edit List Web template.
Deliver the applet changes to the Siebel runtime repository.
If the new field was added as a criteria dimension, then it now appears as a selection in the discount criteria pick applet for the appropriate discount matrix type. If the new field was added as a calculation or result dimension, then it now appears in the Discount Details applet when the user drills down on a discount matrix with the appropriate discount matrix type.
Creating New Discount Matrix Types for Custom Tables
You must use Web Tools to create new discount matrix types for custom tables.
To create a new discount matrix based on a custom table using Web Tools
In Web Tools, open a workspace and then navigate to Object Explorer.
For more information on using the workspace dashboard, see Using Siebel Tools.
Create a Business Component based on the custom table.
For example create the Default Columns user property:
Name: Default Columns
Value: <buscomp field names separated by # sign>
This user property controls which columns always display in the Discount Matrix Details List applet for the new Discount Matrix Type.
Create the Dimension Columns user property:
Name: Dimension Columns
Value: <buscomp field names separated by # sign>
This user property controls which criteria dimensions will appear in the discount criteria pick applet for the new Discount Matrix Type.
Add the new matrix type to the Discount Matrix Type LOV:
Type: ADJ_GROUP_TYPE
Display Value: <the new matrix type>
LIC: <the new matrix type>
Modify the Discount Matrix Business Component by adding the following Business Component User Property:
Name: <Display Value of New Matrix Type from LOV>
Value: Adjustment Group#New Matrix BC Name#
This user property inserts the Business Object and Business Component values into the appropriate fields on the discount matrix header when the discount matrix type is selected.
Create a new Discount Matrix Details list applet for the new Business Component:
Name: <any name>
Business Component: <new matrix buscomp>
Class: CSSSWEFrameListPSPAdjRule
List Columns: <all fields from the new matrix Business Component that could possibly appear as criteria or default dimensions>
Note: Specialized applet class will only show dimensions defined and default columns from the Business Component user property.Create a new Discount Matrix Details view as follows:
Name: <any name>
Business Object: Adjustment Group
View Web Template Items:
Adjustment Group form applet
New Applet from Above
Modify the Adjustment Group list applet as follows:
Create a New Drilldown Object:
Name: <new matrix type>
Hyperlink Field: Name
Destination View: <name of new details view>
Create a Dynamic Drilldown Destination for the new Drilldown Object:
Name: <new matrix type>
Field: Type - LIC
Value: <new matrix type LIC value from LOV>
Destination Drilldown Object: <name of drilldown object created in previous step>
Add the new view to the Administration - Pricing screen:
Name: <name of the new view>
View: <name of the new view>
Type: Details view
Parent Category: Adjustment Group Details