Price Optimization

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

Sales users can now visualize the Price Optimization functions for a Transaction to negotiate optimal pricing. The Price Optimization chart depicts the following functions: Win Probability (shown below in red), the Target Profitability (shown below in blue), and the Expected Target (shown below in green). Interactive hover actions on the chart enable sales users to understand the relationship of discounts to Win Probability and profitability, and to visualize the resulting optimization or Expected Target.

Price Optimization Chart

Win Probability Function

The predicted Win Probability for the range of possible discounting levels displays as a red curve on the chart, enabling users to understand the price sensitivity of the customer. Users can hover on the function line to see the exact Win Probability and Discount Values. In the following chart, the customer is predicted to buy 24% of the time given no discount, but 97% of the time given a discount of 50%.

Win Probability Function

Target Function

The Target function (i.e. profitability or objective function) displays as a blue line indicating the profitability objective or target of the optimization over the range of possible discounts. In Release 17D, the Target or objective to be maximized may be either Net Revenue or Margin, as defined by the administrator. In the following Price Optimization Chart, Net Revenue is used as the Target function. Hovering on the Target function line in the chart below indicates that the Target (Net Revenue in this example) for the Transaction will be $7,000 when the Total Discount % is 30%.

Target Function

Expected Target Function

The Expected Target function (i.e. optimization function), displays as a green line, depicting the expected value of the Net Revenue or Margin Target predicted by CPQ's Price Optimization machine learning for the range of possible discounts. This function represents the combination of the Win Probability and Target Profitability functions. Hovering on the Expected Target function line in the example below informs the user that the Expected Target value (Net Revenue in this example) is predicted to be $5,880 given a discount of 30%. As delineated in the chart, this is also the maximum or optimal value for expected net revenue predicted by the machine learning model.

Expected Target Function

Current and Optimal Values

The Price Optimization Chart enables sales users to easily discover how near or far the Transaction's current discount is from the optimal value by plotting the Current value as a gray dashed line, and the Optimal value as a gold dashed line. Sales users can hover on of either the dashed lines or the legend entry for Current and Optimal values to discover the exact values for each.

Price Optimization Chart with Optimal Value Legend Hover

Price Optimization Chart with Current Value Line Hover

Price Optimization Chart with Optimal Value Legend Hover

Price Optimization Chart with Optimal Value Legend Hover

Price Optimizations are implemented as a type of Commerce Process analytic. Since Price Optimization incorporates Win Probability as a factor in the optimization, the setup process for a Price Optimization analytic is similar to that for a Win Probability analytic. Both apply machine learning to generate a predictive model, require model training, can be previewed by administrators, and are exposed to sales users as Commerce attributes and analytic charts.

Price Optimization Functional Overview

Administration

Define 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).

    Win Probability with Optimization

    Win Probability Settings

    1. Define 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.

      Filter section

  1. Define Filters (optional)
    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 SettingsOptimization Settings for Maximize Net Revenue and Maximize MarginThe 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.

      Train 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. <a href=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.

      Enable 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 valueOnce 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.

      Preview 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. <a href=Click Train tab" width="" height="" />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

      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.
      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.

      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

      • 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.
      • 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

      Copyright © 2014, 2024, Oracle and/or its affiliates. All rights reserved.