Before you Begin

This 30 minute tutorial shows you how to import Machine Learning (ML) models into EPM Cloud. The sections build on each other and should be completed sequentially.

Background

With Bring Your Own ML, EPM administrators can import a fully trained ML model and deploy it to a Planning application. Planners can then leverage robust, ML-based forecasting that uses advanced predictive modeling techniques to generate more accurate forecasts.

Data scientists gather and prepare historical data related to a business problem, train the algorithm, and generate a PMML file (Predictive Model Markup Language, a standard language used to represent predictive models) using a third party tool. These predictive analytic models and machine learning models use statistical techniques or ML algorithms to learn patterns hidden in large volumes of historical data. Predictive analytic models use the knowledge acquired during training to predict the existence of known patterns in new data.

EPM administrators can then import and configure the fully trained ML model, which generates two Groovy rules. Administrators attach the rule to a form or dashboard, or schedule a job to generate prediction results on a regular basis. This puts the benefits of machine learning and the power of data science into the hands of business users, enhancing the planning and budgeting process and leading to better business decisions.

For example, you can predict product volume for an entity, using key drivers such as average sales price, planned spend on promotions and advertising, historical volumes, and estimated industry volumes.

Product Volume Forecasting Dashboard

You can import ML Models and use them to predict numeric values in other finance use cases, for example:

  • Trade promotion impacts on sales uplifts
  • Marketing mix modeling to drive better ROMI
  • Internal and external driver impacts on revenue forecasts
  • Predictive cash forecasting for better cash position

In this tutorial, you import an ML model into Planning.

What Do You Need?

An EPM Cloud Service instance allows you to deploy and use one of the supported business processes. To deploy another business process, you must request another EPM Enterprise Cloud Service instance or remove the current business process.

You must have:

  • Service Administrator access to an EPM Enterprise Cloud Service instance.
  • Upload and import this snapshot into your instance.
  • Download this zip file that includes a PMML file. Extract the PMML file to a local folder.

Activating Navigation Flows

In this section, you activate the ML Tutorial navigation flow so you can work with ML Models.

  1. On the home page, click Tools, then Navigation Flows.
    home page
  2. For the ML Tutorial row, under Active, click Inactive.
    Navigation Flow page

    The ML Tutorial navigation flow is activated, and the Default flow is inactivated.

    Navigation Flow page

  3. Click Home (Home).
  4. Click Navigation Flow (Navigation Flow), and click ML Tutorial.
    Navigation Flow

    The ML Tutorial Navigation Flow is displayed.


    home page

Assigning Values to User Variables

User Variables were added when the business process was created. User variables act as filters in forms, enabling planners to focus only on certain members. In this section, you set values for user variables.

  1. On the home page, click Navigator (Navigator), and under Tools, click User Preferences.
    Navigator menu
  2. Under Preferences, click User Variables.
    Selecting User Variable Values
  3. For each variable, click its Member Selector (Member Selector) to select a member as the variable's value:
    User Variable Member
    Infolet Entity NA
    Currency USD
    Entity Sales US - West
    Reporting Currency USD
    Scenario Actual
    Version Working
    Years FY22
    Expense Account Total Marketing Expense
    Expense Drivers Marketing Expense Drivers
    Product Line 250-Servers
  4. Verify your selections and click Save.
    User variables with selected Members
  5. At the information message, click OK.
    Information message
  6. Return to the home page. Click Home (Home).

Reviewing Data for Key Drivers

In this section, you review key drivers for selling price, promotion spend, and industry volume.

  1. On the home page, click IPM, and then Volume Forecasting.
    home page

  2. The Product Volume Forecasting page is displayed. On the top form, product predictions are displayed. This includes volume by product category for all products. On the bottom form, you can view product drivers.


    Product Volume Forecasting
  3. On the bottom form for Drivers, from the drop-down list, select Average Selling Price and on the right side of the form, click go (Go).
    Product Volume Forecasting dashboard

    The average selling price is one of the drivers used to predict volume.

  4. On the bottom form for Drivers, from the drop-down list, select Advertising and Promotion and on the right side of the form, click go (Go).
    Product Volume Forecasting dashboard

    Advertising and Promotion data is used to predict volume.

  5. On the bottom form for Drivers, from the drop-down list, select Industry Volume and on the right side of the form, click go (Go).
    Product Volume Forecasting dashboard

    Industry Volume data is used to predict volume.

Setting up the Import Model Definition

In this section you define the criteria for importing an ML Model. You import the ML model in PMML format to a Planning application and you define how the input variables and target variable maps to dimension members or cell values in the Planning application.

Selecting the PMML File

  1. Return to the home page. Click Home (Home).
  2. Click IPM, and then ML Models.
    Home
  3. In ML Models, click Import.
    ML Models Page
  4. In Import ML Model, under Import Model, click Drag and Drop to browse to your local file system.
    Import Model Page
  5. Locate and select volume_forecasting_r2pmml_01202022.pmml, and click Open.
    Select File

    Information about the PMML file is displayed including the name of the target column (the variable to be predicted using the ML model), the version of PMML, and the training date (when the model was trained and the PMML file was generated.)


    Import Model step
  6. In Model Name, enter 2022 Product Volume Forecasting, and in Model Description enter To predict product volume based on price, promotion, and industry volume, and click Next.
    Import Model Name and Description

Defining the Cube and Scope

In this section, you select the cube where you want to use the ML model, and you define the scope for the ML model by selecting dimension members.

  1. In Model Mapping, for Select Cube, click Select Cube, and select OEP_FS.
  2. In the slice definition under Model Mapping, click Period.
    Slice Definition
  3. From the list of periods, for YearTotal, click Function Selector (Function Selector).
    Select Members
  4. Select Level 0 Descendants.
    Member Function Selector
  5. Click Years.
    Select Members
  6. For All Year, click All year (All Year), and select FY22.
    Select Members
  7. Click Scenario.
    Model Mapping
  8. Under OEP_Scenarios, select Actual.
    Select Members
  9. Click Version.
    Model Mapping
  10. Under OEP_Versions, select Working.
    Select Members
  11. Click Currency.
    Scope
  12. Under Input Currencies, select USD.
    Select Members
  13. Click Entity.
    Scope
  14. Select Sales US - West.
    Select Members
  15. Click Scroll Right (Scroll Right), and select Plan Element.
    Select Plan Element
  16. Under Total Plan, select Load.
    Select Members
  17. Click Scroll Right (Scroll Right), and select Product.
    Scope
  18. Under Total Product, for All Product, click Function Selector (Function Selector).
    Select Members
  19. Select Level 0 Descendants
    Member Function Selector
  20. Click Scroll Right (Scroll Right), and select Market.
    Select Slice
  21. For Market, under Total Market, All Market, select US Market, and click OK.
    Select Members

Defining Inputs and the Output

In this section, you select inputs which are similar to drivers and you select the output to define the target measure you want to predict and where to paste the predicted values in the Planning application.

You map Input and Output to the appropriate Planning dimensions and members in the cube. The Input and Output sections contain the list of input features (features/columns that are used to make predictions) and target feature (column that is expected to be predicted). Planning analyzes the PMML file to generate the list of inputs and outputs.

Input features are independent variables, similar to drivers, that act as input to your system. When you make predictions, the model uses input features to predict your output. In this step, you map the input from the ML model to the output in the Planning cube. Input describes how to extract the data from the ML model. Output defines the target measure you want to predict and where to paste the predicted values in the Planning application.

In this example, product, price, and industry volume, the input features, are used to predict volume, the output.

In the Input area, for each input feature, select an Input Type and if you select Cell Value or Member, select the members or dimensions in the Planning application to map to.

Input types:

  • Prompt: If you don't have a member or dimension in Planning that maps to this input value from the ML model, when the prediction is made, prompt the user to enter an estimate for the value.
  • Cell Value: Map an input feature to one or more dimension members in the Planning cube. For example, the input feature called Price maps to an account member called Price in the Planning application.
  • Member: Map an input feature to a dimension in the Planning cube. For example, the Input feature called Product maps to the Product dimension in the Planning application.

In the Output area, select an Input Type and if you select Cell Value or Member, select the members or dimensions in the Planning application to map to to store prediction results.

  1. Under Input, in the Product row, for Input Type, select Member, and for Member, select Product.
    Input

    Note:

    If the data input contains a string or text value, then the Input Type is defined as Member.
  2. Under Input, select Cell Value for the following input features:
    • Industry.Volume
    • Price
    • Promotions
    Input
  3. In the ML Model Scope, click the arrow to the right of Account.

    Tip:

    You need to scroll all the way to the left to see Account.
    Scope

    All features with the Input Type of "Cell Value" are mapped to accounts including the target output.

    Model Mapping
  4. To select a specific account, for Industry.Volume, click Account.
    Input
  5. Search for and select Industry Volume and click OK.
    Select a Member
  6. To select a specific account, for Price, click Account.
    Input
  7. Search for and select Average Selling Price, and click OK.
    Select a Member
  8. To select a specific account, for Promotions, click Account.
    Input
  9. Search for and select Advertising and Promotion, and click OK.
    Select a Member
  10. In Output, for Volume, to select a specific account for the target output, click Account.
    Output
  11. Search for and select Volume, and click OK.
    Select a Member
  12. Click Next.
    Import ML Model

    The Regression Coefficients page is displayed. The Analyze Model step represents MLX (Machine Learning Explainability), and extracts additional information about the ML model. For example, review Regression Coefficients to see how the relative impact of key input features is used to predict the output. The height of the bar represents the incremental effect of one unit increase in an input feature on the target variable.

    Regression Coefficients
  13. Click Logarithmic.
    Regression Coefficients
  14. Click Next.
    Regression Coefficients

    The Test Model step is displayed.


    Test Model

Testing the Model

In this section, you test the model by generating a prediction for a set of sample values. For each Input, you enter a sample input value and use those values to predict the output.

  1. Under Input for Product click Select Member (Select Member) to select a string value.
    Test Input
  2. Search for Smart Phone, select Smart Phone 6 in, and click OK.
    Select a Member
  3. For Input, enter the following values:
    • For Industry.Volume, enter 300000.
    • For Price, enter 1500.
    • For Promotions, enter 5000
      Test Model Input
  4. Click Predict.
    Test Model

    The predicted volume is displayed in the output.


    Test Model Prediction
  5. Click Save and Close.
    Test Model

    The Confirmation message is displayed. Two Groovy rules are generated for each ML model definition: one that can be included on a form or dashboard, which allows users to make predictions on demand, and another rule that can be used to generate large scale predictions in a scheduled job for bulk processing.


    Confirm
  6. At the confirmation message, click Yes.

    You can review the generated rules in Calculation Manager. The Groovy rules define the name and location of the PMML file, along with input and output based on the mapping you defined.

Reviewing Groovy Rules in Calculation Manager

  1. Click Navigator Navigator) and under Create and Manage, click Rules.
    Navigator
  2. Expand EPM Cloud, EPBCS, OEP_FS, and Rules.
    Calculation Manager
  3. In the list of rules, locate the Groovy rules you just created.


    ML_2022 Product Volume Forecasting is a Groovy rule that you can use to run batch jobs. ML_2022 Product Volume Forecasting_Form is a Groovy rule that you can include in an action menu on a form or dashboard for Planners to run the rule.


    Calculation Manager Rules
  4. Right click the form rule - ML_2022 Product Volume Forecasting_Form, and select Open.
    Open Rule
  5. Review the rule, then in the upper right click X to close the tab.
    Business Rule Details
  6. In the upper right, click X to close the Calculation Manager window, and at the confirmation message, click Leave page.

Learn More