Pricing Matrix Class

A pricing matrix class is a template that you can use to specify the structure of the pricing matrix. Use it to add condition columns and result columns to a pricing matrix.

Each pricing matrix class includes columns.

  • Condition columns specify the conditions that determine whether to apply the result.

  • Result columns specify what to do when all the conditions are true.

Example

Here's the predefined Pricing Segment matrix class.

the predefined Pricing Segment matrix class

The predefined Pricing Segment matrix class includes condition columns.

Name

Comparison

Compare-to Attribute

Domain

Revenue Potential

=

CustomerPricingProfile.RevenuePotentialCode

Lookup:ORA_QP_REV_POTENTIAL_VALUES

Customer Size

=

CustomerPricingProfile.CustomerSizeCode

Lookup:ORA_QP_CUSTOMER_SIZE_VALUES

Cost to Serve

=

CustomerPricingProfile.CosttoServeCode

Lookup:ORA_QP_COST_TO_SERVE

Customer Value

=

CustomerPricingProfile.CustomerValueCode

Lookup:ORA_QP_CUSTOMER_VALUE_RANKINGS

Customer Rating

=

CustomerPricingProfile.CustomerRatingCode

Lookup:ORA_QP_CUSTOMER_RATING_VALUES

And this result column.

Name

Domain

Pricing Segment

Lookup:ORA_QP_CUST_PRICING_SEGMENTS

In pseudocode, it means:

  • If Revenue Potential equals the value of the RevenuePotentialCode attribute of the CustomerPricingProfile entity.

  • If Customer Size equals the value of the CustomerSizeCode attribute of the CustomerPricingProfile entity.

  • If Cost to Serve equals the value of the CosttoServeCode attribute of the CustomerPricingProfile entity.

  • If Customer Value equals the value of the CustomerValueCode attribute of the CustomerPricingProfile entity.

  • If Customer Rating equals the value of the CustomerRatingCode attribute of the CustomerPricingProfile entity.

then

  • Set the Pricing Segment to a value from the ORA_QP_CUST_PRICING_SEGMENTS lookup.

You can use the Pricing Segment matrix class to specify the condition columns that the Pricing Administration work area displays for the pricing segment, such as Revenue Potential.

matrix class for the pricing segment specifies conditions that determine how to assign the segment, such as customer size

Note

  • Oracle Pricing comes predefined with matrix types and matrix classes. Each type references one, and only one, class. Each class specifies conditions and results.

    Predefined Matrix Type

    Predefined Matrix Class

    Pricing Segment

    Pricing Segment

    Sales Pricing Strategy Assignment

    Sales Pricing Strategy Assignment

    Price List Charge Adjustment

    Price List Charge Adjustment

    Discount Adjustment

    Pricing Term Adjustment

    Pricing Term Adjustment

    Pricing Term Adjustment

    Line Strategy

    Line Pricing Strategy Assignment

    Pricing Charge Guideline

    Pricing Charge Guideline

  • Use the predefined classes, when possible.

  • If you must modify a predefined class, or add a new one:

    • You typically create a new condition column.

    • You only rarely need to create a result column.

    • You can use only a predefined result column with a predefined pricing algorithm.

    • Don't remove a predefined result column. It might cause an error when Pricing runs the pricing algorithm.

    • If you add a new result column, then you must modify the pricing algorithm in the same way to make sure the pricing algorithm uses the new result. For example, if you add the Precedence column to the Strategy Assignment pricing matrix, then you must also modify the pricing algorithm so it sequences data according to precedence.

  • Use the matrix type to identify the matrix class that Pricing uses for each pricing entity. For example, use the Pricing Segment matrix type to instruct Pricing to use the Pricing Segment matrix class when it processes a pricing segment.

  • Use the Setup and Maintenance work area to set up a matrix type. For details, see Manage Pricing Matrix Type.

Here's a helpful way to think about columns.

helpful way to think about columns

Note

  • The Required, Allow Null, and Domain attributes control behavior in the Pricing Administration work area. For example, if you enable Allow Null in the Revenue Potential row, then you don't have to set a value for Revenue Potential when you set up the pricing segment in the Pricing Administration work area. The Domain attribute in the Revenue Potential row controls the values that you can select for Revenue Potential when you set up the pricing segment.

  • The Comparison, Compare to Attribute, and Null Is Wildcard attributes control runtime behavior. For example, Pricing uses Comparison and Compare to Attribute at run time to assign the pricing segment according to the value that the Order Entry Specialist sets in the Customer attribute on the order header when creating a sales order in the Order Management work area.

Set the Compare-to Attribute

Specify the entity and the attribute in the entity that the condition compares. Each matrix class specifies a different set of entities and attributes to test.

In this example, each row in the class examines an attribute of the customer pricing profile because a pricing segment determines how to organize profiles into market segments.

the Customer Rating condition column examines the value of the CustomerRatingCode attribute

The Customer Rating condition column examines the value of the CustomerRatingCode attribute. CustomerRatingCode is part of the CustomerPricingProfile pricing entity.

Specify Values That Display as Choices

As an option, you can use the Domain attribute to specify the values that Pricing displays as choices for each attribute in the matrix. For details, see Choices That You Can Select in Pricing Matrixes.

Extend the Compare-to Attributes

For a more advanced set up, use a service mapping to determine the compare-to attributes that the matrix class uses.

use a service mapping to specify the compare-to attributes

Note

  • A service mapping provides the compare-to attributes in the matrix class.

  • In this example, the Pricing Segment matrix class uses the PriceRequestInternal service of the predefined Sales service mapping.

  • The CustomerPricingProfile entity of PriceRequestInternal contains the compare-to attributes.

  • You can't delete predefined attributes in a predefined service mapping, but you can add new ones.

  • You can use an attribute that exists in Pricing, such as CustomerValueCode.

  • You can use an attribute that resides outside of Oracle Pricing, such as an attribute on the order header of a sales order from Oracle Order Management.

Make Rules More Flexible

Enable the Can Add New Columns option on the matrix class so you can edit the matrix for each new rule that you create.

Enable the Can Add New Columns option on the matrix class so you can edit the matrix for each new rule you create.

Note

  • Add conditions and results to meet your matrix requirements.

  • Use this feature to refine your matrix at a more detailed level than what your matrix class specifies.

  • The Inherited section lists columns that the pricing matrix inherits from the matrix class. To include a column from the matrix class, you can enable it.

  • Use a mix of inherited columns and columns that you add only for the rule.

  • Don't enable any inherited columns if you don't need them.

Examples

Examine a predefined matrix class.

  1. Go to the Pricing Administration work area, then click Tasks > Manage Matrix Classes.

  2. On the Manage Matrix Classes page, click Pricing Segment.

  3. On the Edit Matrix Class page, notice the values.

    Condition Columns

    Result Columns

    Revenue Potential

    Customer Size

    Cost To Serve

    Customer Value

    Customer Rating

    Pricing Segment

    Precedence

  4. Click Tasks > Manage Pricing Segments.

  5. Notice that the predefined Pricing Segment matrix class that you examined in step 3 determines the condition columns and the result columns that you can specify for a pricing segment.

  6. On the Edit Matrix Class page, in the Revenue Potential row, notice the attributes.

    Attribute

    Value

    Compare to Attribute

    CustomerPricingProfile.CustomerRatingCode

    In this example, the pricing matrix gets values from the CustomerRatingCode attribute of the CustomerPricingProfile pricing profile.

    Domain

    Lookup:ORA_QP_CUSTOMER_RATING_VALUES

    The pricing matrix gets values from the ORA_QP_CUSTOMER_RATING_VALUES lookup.

    These attributes determine the values that you can select for the Revenue Potential column in the pricing matrix on the Manage Pricing Segments page.

Another Example

Here's an example of a matrix class that you can use with a quantity adjustment.

example of Condition Column Attributes

Here are the conditions that this class implements.

  1. If you don't enter a quantity for the sales order, or if you enter any quantity.

  2. If you don't select a value for the customer on the sales order.