Price Optimization

Overview

Oracle CPQ provides an out-of-the-box machine learning Price Optimization feature to maximize either margins or net revenue. Customers with low or zero marginal costs, such as software companies, typically manage the discount percentages off standard list prices, without capturing costs or margins. Customers with meaningful variable costs, such as manufacturers, typically capture costs and margins in CPQ, and manage either net revenue or margin percentages. CPQ's Price Optimization feature supports both use cases in predicting the optimal discount percentage for Commerce Transaction and Transaction Line UIs.

Since Oracle CPQ customers use different metrics to determine profitability, the Price Optimization feature supports selection of the site specific custom attributes to optimize to provide easy, code free setup. Administrators can define which attribute value to maximize, attributes to be considered in the optimization (i.e. driver attributes), and which attributes will be populated with the optimization results.

After set up and the initial machine learning tasks are complete, the predictive model produced by the machine learning training is applied to generate optimization results that can be displayed to sales users on Commerce Transaction and Transaction Line UIs. Sales users can view the optimal value attributes, including the optimal discount percentage, and the optimization functions can be visualized on a Price Optimization analytic. The optimal discount percentage value may also be used as a basis for discounting guidelines (e.g. the discount cannot exceed 120% of the optimal discount). The discounting guidelines can then be enforced via approval reasons.

Optimization output can be displayed to sales users in two ways:

Optimization Metrics and Optimization Visualization

ClosedPrice Optimization Chart

ClosedPrice Optimization Functional Overview

Administration

ClosedDefine Price Optimization Analytic

Perform the following steps to define a Price Optimization analytic:

  1. Navigate to the Admin Home page.
  2. Click Process Definition in the Commerce and Documents section.

    The Processes page opens.

  3. Select Analytics from the Navigation menu, next to the applicable process, then click List.

    The Analytics List page opens.

  4. Click Create Analytic.

    The Analytic wizard opens.

  5. Scroll through the filmstrip to the Price Optimization option, then click Create.

    Analytic wizard - Price Optimization

    The Analytics Definition Editor opens.

    Analytics Definition Editor

  6. Define the following variables:.
    1. Name: Enter the name for the analytic.
    2. Variable Name: Enter the variable name for the analytic.
    3. Description: (optional) Enter the description for the analytic.
    4. Document: Select the Commerce main document or sub-document (e.g. Transaction or Transaction Line).

      • When the main document is selected, only main documents attributes and actions are available for analytic settings.
      • When the sub-document is selected main document and sub-document attributes and actions are available for analytic settings.
    5. Title: Enter the title for the chart.
  7. Click Next.

    The "Win Probability with Optimization" setting is automatically selected.

Win Probability with Optimization

  1. Define Win Probability Settings

    Win Probability Settings

    1. Primary Driver Attribute: Select the Commerce attribute from the drop-down menu.
      This attribute is the primary driver of the customer's acceptance or rejection of a quote for the analytic. Oracle CPQ supports maximizing net revenue or margin based upon a Transaction-level discount percentage attribute such as 'Total Discount %' as the Primary Driver Attribute for optimization.

    2. Additional Driver Attributes: (optional) Click Add Row to select additional driver attributes.
      Additional Driver Attributes are additional factors that may drive price sensitivity for a Transaction (e.g. industry, customer segment, geography, or lead time to fulfillment). One or more numeric or text attributes may be selected. Administrators may define an unlimited number of Additional Driver Attributes.
    3. Status Attribute: Select the attribute that indicates if the Transaction was won or lost.
    4. Won Value: Select the status attribute value that indicates that a Transaction was won. The drop-down displays all possible values for the Status Attribute.
    5. Lost Value: (optional) Select the status attribute value that indicates that a Transaction was lost. The drop down displays all possible values for the Status Attribute.

      Note: If the Lost Value is specified, all Transactions with values other than the Won Value will be evaluated as Lost in the machine learning.

  1. Define Filters (optional)

    Filter section

    1. Date Filter: Select the Commerce date attribute used to filter historical transactions for the analysis. System attributes such as 'System Last Modified Date' may also be selected.

    2. Duration: Select the time period prior to today's date to include in the analysis. The data selection duration is cumulative. Administrators may select from options including Last 30 days, Last 90 days, Last 6 months, Last 12 months, and All Transactions.

    3. Advanced Filters: Click Add Row to add additional filters.
      Advanced Filters provide a means to select the transactions to be included in the optimization. Only those transactions meeting the filter criteria will be included in the machine learning to build the predictive model. Attributes mapped to a Data Column will display in the drop-down list of available attribute names, the Data Column label is not displayed. The administrator can perform the following:

      • Select one or more Query Attributes from Data Columns,

      • Select an Operator to be applied, and

      • Select or define the Specified Value:

        • Select a value from a drop-down list (Menu or Boolean attributes),

        • Select a date (Date attributes),

        • Enter a value (Text or Numeric attributes) to be used in the query filter.

      Operators relevant to the query data type display to enable administrators easy and accurate editing of filters. Attributes without values can also be filtered out using the 'Is Empty' and 'Is Not Empty' operators, providing administrators with flexibility to assure that only clean data is included in their predictive model.

      Note: Administrators can create an unlimited number of filters for each Optimization analytic.

  1. Define Optimization Settings

    Optimization Settings for Maximize Net Revenue and Maximize Margin

    The following settings are used to select the optimization function and identify the site-specific Commerce attributes used to measure profitability.

    1. Optimization Function: Select to Maximize Margin or Maximize Net Revenue as the Target or objective of the optimization.
      • Maximize Margin will provide the optimal discount amount to maximize expected or realized margin.
      • Maximize Net Revenue will provide the optimal discount to maximize expected or realized net revenue.
    2. Total Revenue at List Price: Select the attribute for gross revenue or total revenue at list price used in this implementation. Attributes must be mapped to a Data Column to be available for selection.
    3. Total Cost (this attribute is only required for Maximize Margin): Select the attribute for total Transaction cost used in this implementation. Attributes must be mapped to a Data Column to be available for selection.
    4. Total Discount %: Oracle CPQ supports maximizing net revenue or margin based upon a Transaction-level discount percentage attribute such as 'Total Discount %' as the Primary Driver Attribute for optimization. The Primary Driver Attribute specified in the Win Probability portion of the analytic displays as the attribute used in optimization.
  2. Define Output Attribute Settings

    The Output settings are used to identify attributes to display on the Transaction UI. These are optional and need only be selected when the values will be displayed to sales users in Commerce. Output attributes do NOT need to be mapped to Data Columns.

    Output Settings

    1. Trigger Action: Select the Commerce Modify-type Action that will be used to update the Win Probability and Optimization Output attributes.

      Note: Commerce Output attributes are only updated when the Action is invoked, whereas the analytic charts are updated real-time as data on Transaction are edited.

    2. Win Probability Value Prediction Attribute: Select the Commerce Attribute to be populated with the predicted Win Probability.
    3. Optimal Primary Driver Attribute: Select the Commerce Attribute to be populated with the predicted optimal value for the Primary Drive Attribute. Typically, this will be the optimal Total Discount percentage for the Transaction. This is the most important output attribute and may be used to drive other logic on the quote related to approvals or scoring.
    4. Optimal Win Probability Value: Select the Commerce Attribute to be populated with the predicted Win Probability at the optimal discount.
    5. Optimal Target Value: Select the Commerce Attribute to be populated with the predicted Target Value (net revenue or margin) at the optimal discount.
  3. Click Update.

ClosedTrain the Analytic

Administrators initiate machine learning sessions (i.e. 'training') in order to build the predictive optimization model. Perform the following steps to train a Price Optimization analytic:

  1. Navigate to the Admin Home page.
  2. Click Process Definition in the Commerce and Documents section.

    The Processes page opens.

  3. Select Analytics from the Navigation menu, next to the applicable process, then click List.

    The Analytics List page opens.

  4. Select the applicable Price Optimization analytic link.

    The Analytics Definition Editor page opens.

    Click Train tab

  5. Click the Train tab.

    The Training History is displayed.

    Initiate a training session

  6. Click Train to initiate a training session.

    When the training session is finished, the results will be displayed in the Training History.

    The Refresh button may be used to refresh the training results.

  7. Evaluate the training session results. Modify the analytic filters and initiate a new training session if the results are unacceptable.

Note: Thirty Transactions must be created before initiating a Training session. Training and Test Error Rates measure the accuracy of the predictions made by the Win Probability model. If the Training or Test Error Rates are too high, messages will display with recommended actions to improve the model's predictions.

Training session results

Administrators can preview the Price Optimization Chart for a training session to assess the quality of the optimization functions visually. Refer to the Preview Price Optimization Chart procedure for steps to preview.

ClosedEnable Display to Sales Users
  1. Display Price Optimization Chart in Commerce UI.

    Administrators enable the Price Optimization chart by creating a Commerce HTML attribute and selecting an Optimization analytic as the default value on the attribute Default tab.

    Commerce HTML attribute with an Optimization analytic selected as the default value

    Once enabled, the associated HTML attribute displays as a Related Attribute on the Analytics Definition Editor page.

    Related attributes

  2. Display Optimal Value Attributes in Commerce UI

    Administrators add the Optimization Output attributes and action in the Commerce UI.


ClosedPreview Price Optimization Chart

Administrators can preview the Price Optimization chart before displaying it in a Commerce Transaction.

  1. To initiate a preview, the administrator clicks the Train tab on the Analytics Definition Editor page.

    Click Train tab

    The Train tab displays the Training History.

  2. Click on the link for a completed session to view Training Details.

    Training History list

  3. On the Training Details page, enter a BS_ID (the identifier for an individual Commerce Transaction) for a Transaction, and then click Preview.

    Enter a BS_ID (the identifier for an individual Commerce Transaction) for a Transaction, and then click Preview


ClosedCopy Analytics

Administrators can copy Scatter Plot, Win Probability, Price Optimization, or Price Guidance analytics. This functionality allows administrators to quickly define and preview alternative analytics to evaluate the results with differing inputs.

Complete the following steps to copy an analytic:

  1. Navigate to the Admin Home page.
  2. Under Commerce and Documents, click Process.

    The Processes page opens.

  3. Select Analytics from the Navigation menu, next to the applicable process.
  4. Click List.

    The Analytics List page opens.

  5. Select the checkbox next to the applicable analytic.

    Analytics List page

  6. Click Copy.

    The Analytics Definition Editor page opens.

  7. Update the analytic properties as desired.
  8. Initiate machine learning to train the new analytic.
  9. Preview the new analytic to analyze the results.

Note: Training sessions and results, and analytic output actions and attributes are not copied as part of the cloning process.


ClosedMigrate Deal Management Analytics

The Migration Center is the user interface where all migration takes place within Oracle CPQ. Deal Management Analytics are displayed in the Analytics folder under the applicable Commerce process. Deal Management Analytics are migrated when the parent Commerce process is migrated.

Migrate analytics


Notes

Notes:

  • Win Probability, Price Optimization, Price Guidance Gauge, and Scatter Plot HTML attribute data is not printed in Document Designer and Email Designer outputs.
  • Commerce attributes used in the analytic must exist as Data Columns.

Notes:

  • The accuracy of Win Probability predictions will increase when the number of quotes provided for the training session is increased. A minimum of 30 transactions are required to generate the machine learning model.
  • Oracle CPQ supports maximizing net revenue or margin based upon a Transaction-level discount percentage attribute such as 'Total Discount %' as the Primary Driver Attribute for optimization.
  • To initiate a Win Probability training session, customers must have an established process to capture which quotes are won and ideally, which quotes are lost.
  • Attributes pertinent to price management should be captured as transaction attributes for use in filtering and analysis (ex. trash or test quotes).
  • Price sensitivity driver attributes need to be captured for each Transaction (ex. Industry).
  • Commerce attributes used in the analysis must exist as Data Columns.
  • Price Optimization analytics are available for Commerce sub-documents (i.e. Transaction Line details page) beginning in Oracle CPQ 19C.
  • Price Optimizations are useful for pricing analysis even if never exposed to sales users.

Custom Variable Name Conventions

In Oracle CPQ 23D, CPQ adopted Oracle CX Sales variable naming conventions for custom items. When an administrator creates a new custom Commerce item, the "_c" suffix is appended to the variable name. The new naming convention for custom variable names provides more consistency for integrations with Oracle Sales.

Beginning in Oracle CPQ 24C, customers can submit a service request to disable the "_c" suffix on variable names for custom Commerce entities (Actions, Analytics, Attributes, Data Columns, Integrations, Library Functions, Rules, Steps, etc.). The "_c" suffix is enabled by default for standard and legacy Commerce processes.

  • Customers can submit a Service Request (SR) on My Oracle Support to disable the "_c" suffix on variable names for custom Commerce entities
  • When the "_c" is disabled, the "_c" variable name suffix will not be required for newly created custom Commerce entities.
  • Disabling the "_c" variable name suffix for custom Commerce entities will not change existing variable names.
  • The "_c" suffix setting will not impact existing variable names when cloning a Commerce process or migrating Commerce items. Target variable names will be the same as the variable names from the source Commerce process.

Related Topics

Related Topics Link IconSee Also