Dynamic Attribute-Based Matrix Pricing for Price Model and Price Agreements
Oracle CPQ 24B introduced attribute-based matrix pricing for products to enable the use of custom dynamic matrices for calculating runtime prices. Oracle CPQ 24C now provides the ability to define similar table-based pricing at the Price Model level. Attribute-based Matrix Pricing and the associated Pricing Matrix Templates can be used to define pricing that requires the Pricing Engine to use a custom dynamic matrix as the basis for calculating runtime prices, thus replacing the need for data tables and custom BML.
-
Attribute-based Matrix Pricing is available for Price List, Discount List, and Markup List type Price Models and Price Agreements.
-
Conditional pricing for a single or multiple products can then be defined by using the pre-defined columns to specify the criteria for desired conditions.
-
For more information, refer to Pricing Matrix Templates.
Pricing Matrix Template – Price Model/Price Agreement Relationship
The following image shows the relationship between Pricing Matrix Template fields and Dynamic Matrix Pricing for a Price Model or Price Agreement.
-
After a Pricing Matrix Template has been defined, it can be added as a Dynamic Pricing type for relevant Price Models or Price Agreements.
-
Input Columns in the Pricing Matrix Template define fields to specify the criteria for desired conditional pricing for single or multiple products in a Price Model or Price Agreement.
-
Output Columns in the Pricing Matrix Template define the pricing fields that will be returned as output from the Pricing Engine and written to quote lines. Pricing values are defined for each row item in the pricing matrix grid. The output value is limited to a single (list) unit price in Oracle CPQ 24C. However, when Block Pricing is desired, the Block Size and Block Price attributes can be added as Output Columns in the Pricing Matrix Template.
When the Dynamic Matrix Pricing column is enabled on the Price Model and Price Agreement list pages, associated Pricing Matrix Templates are displayed for applicable Price Models or Price Agreements.
Export, Import, and Migration of Matrix Pricing Data
Oracle CPQ 24C introduces Export, Import, and status UIs to allow customers to maintain Price Model and Price Agreement matrix pricing data outside of CPQ using Excel (.CSV) files. For more information, refer to Export and Import Matrix Pricing Data in Steps to Enable.
Customers can also migrate Price Models with dynamic matrix pricing. Associated Pricing Matrix Templates are provided as dependencies for the applicable Price Model.
Note: Price Agreements cannot be migrated, but they can be moved between sites using bulk services.
CPQ Pricing Engine now provides both a rule based (rules and model conditions) and a table-based declarative approach to pricing for CPQ Price Models and Price Agreements. This capability now enables pricing natively in Pricing Engine rather than requiring a custom data table and BML script to perform complex, multi-dimensional price lookups.
Steps to Enable
Add Dynamic Attribute-based Matrix Pricing to a Price Model or Price Agreement
Complete the following steps to create dynamic matrix pricing for a Price Model or Price Agreement.
-
Navigate to the Admin page.
-
Click Pricing Portal in the Products section.
-
Click on the Price Models or Price Agreements card (as applicable).
-
Select the applicable Price Model or Price Agreement.
Notes:
-
A Price Model or Agreement must be defined by either product prices and charges OR by a Pricing Matrix.
-
You cannot add Dynamic Attribute-based Pricing to a Price Model or a Price Agreement with existing charges unless all existing charges are based on the same attribute-based charge template.
-
To add a new Price Model or Price Agreement, refer to CPQ Administrator Online Help > Pricing > Pricing Portal > Price Models or Price Agreements (as applicable).
-
Click Edit in the Basic Details section.
-
Expand the More Details section.
-
Select the applicable Pricing Matrix Template from the Dynamic Matrix Pricing drop-down.
-
Click Save or Update.
-
Click the Table View icon in the Pricing Data section.
-
Select Edit from the Actions drop-down.
-
Perform one of the following options:
-
To add new product to the pricing matrix, select Add Charge from the Add drop-down.
-
To add a conditional row item to the last product in the pricing matrix, select Add Matrix Row from the Add drop-down.
-
To add a conditional row item for any existing product in the pricing matrix, click on the line ellipse for the applicable product line item and select Add Matrix Row.
-
Enter or select the conditional values for each column.
-
Enter the applicable pricing.
The item pricing is determined by the parent Price Model's list type and adjustment type (for discount and markup lists). For example, Item Markup % is defined by the parent Markup List type Price Model with a Percent adjustment type. If a customer implementation uses block pricing, Block Size and Block Price attributes can also be added.
- Click Save or Update.
Export and Import Matrix Pricing Data
Oracle CPQ 24C also provides the ability to ability to author the Price Model and Agreement matrix pricing outside of CPQ and use Excel (.CSV) files to load this data directly from the Price Model or Agreement UI. The recommended process for modifying matrix pricing data is:
-
Export Matrix Pricing Data from a Price Model or Price Agreement
-
Modify Matrix Pricing Data Excel Files
-
Import Matrix Pricing Data from a Price Model or Price Agreement
Export Matrix Pricing Data from a Price Model or Price Agreement
Complete the following steps to export a pricing matrix.
-
Navigate to the Admin page.
-
Click Pricing Portal in the Products section.
-
Click on the Price Models or Price Agreements card (as applicable).
-
Select the applicable Price Model or Price Agreement.
-
Select Export from the Actions drop-down.
-
When the export is complete, download the exported pricing matrix file.
-
Click the matrixGrid_<priceModelOrPriceAgreementVariableName> link on the Export Status dialog.
-- or –
-
Select Import/Export Status from the Actions drop-down, then click on the applicable matrixGrid_<priceModelOrPriceAgreementVariableName> link.
Modify Matrix Pricing Data Excel Files
When updating a pricing matrix grid using an Excel file the first column will specify the action for the line. The following actions can be used:
- ADD: add a new row/record if one does not already exist. If one does exist, an error will be thrown.
- MODIFY: modify or add the column data in the row/record. A new row is created if the record is not found.
- DELETE: delete all the column data from a row/record.
- UPDATE: modify all the column data in the row/record. Update will fail if the record is not found.
Complete the following procedure to add, modify, or delete row items to a Price Model or Price Agreement pricing matrix grid.
-
Unzip the downloaded matrixGrid_<priceModelOrPriceAgreementVariableName>.zip file.
-
Open the matrixGrid_<priceModelOrPriceAgreementVariableName>.csv file.
-
Populate the rows with the desired data. The first column is used to specify the desired action.
For example, the following file will add six row items to the dynamicPricing Price Model pricing matrix grid. The _matrix_<columnVariableName> are from the associated Pricing Matrix Template.
- Save and close the updated matrixGrid_<priceModelOrPriceAgreementVariableName>.csv file.
Import Matrix Pricing Data from a Price Model or Price Agreement
Complete the following steps to import a pricing matrix.
-
Navigate to the Admin page.
-
Click Pricing Portal in the Products section.
-
Click on the Price Models or Price Agreements card (as applicable).
-
Select the applicable Price Model or Price Agreement.
-
Select Import from the Actions drop-down.
-
Drop or upload the updated .csv or .zip file into the Import Pricing Data drawer.
-
Click Import.
Tips And Considerations
Configuration Array attributes are not yet supported in Pricing Matrices.