6 Design Checklist

Here is a comprehensive design checklist for implementing and managing Oracle Fusion Cloud Enterprise Performance Management.

This design checklist provides information on planning, configuration, data management, reporting, and user training.

Table 6-1 Applications Design Checklist

Task Check Off After Completed

Decide if you need one application or multiple applications after considering the following scenarios:

Single application scenario:

  • The planning process requires real-time seamless integration.
  • The same administrator can manage all the processes with no security concerns.
  • The planning process remains the same across regions or countries, and maintenance down time does not fall during business hours.
  • Performance and scalability can be handled within the same application.
  • The planning process can be implemented within the maximum number of cubes supported in an application.

Multiple application scenario:

  • Customers with a diversified business that has multiple regions, legal units, and business processes where a single application cannot meet all the business requirements. Separate planning processes are required across different regions, for example, for revenue and workforce.
  • A separate administrator is required for each planning process. For example, workforce data should not be visible for the finance administrator.
  • There are time zone differences, regulatory issues, or application maintenance work downtime falls during normal business hours.
  • The number of cubes supported in an application is not sufficient to address all of the planning business processes.
  • There are requirements for performance and scalability of the application.
 
While creating the application, enable the sandbox feature if you want to do simulations on the fly while working on planning. Enabling the sandbox feature creates separate sandboxes and a parent version to store all sandbox versions. This also allows users to create what-if versions on the fly while working on data forms. Selecting this option also provides the Enable Sandboxes option for Version members.  
While creating the application, enable the EPM Task manager feature. Task manager provides centralized monitoring of all tasks and provides a visible, automated, repeatable system of record for running a business process.  

Review the number of supported cubes and module cubes to determine what meets your needs. For more information, see Adding Cubes in Administering Planning.Planning application types

 

Review this webinar on Customer Connect on application design for Planning. It provides detailed information on application deployment strategy, dimensions, and forms: EPM Application Design for EPM Planning Part I: App Deployment, Dimensions, and Forms.

 

Review this webinar on Customer Connect for best practices to ensure high-performing ASO cubes in an application. It also covers best practices for data maps and Smart Push to synchronize data between BSO calculation cubes and ASO cubes: EPM Application Design for EPM Planning Part III: ASO, Datamaps, and Smart Push.

 

Review this webinar on Customer Connect for best practices to ensure high performing applications: EPM Application Design for EPM Planning Part IV: Application Types and Migration from Legacy SKUs.

 

Table 6-2 Dimensions Design Checklist

Task Check Off After Completed
Identify which dimensions are required for each planning process, and map the process to standard (mandatory) dimensions. Most high-level and common financial planning use cases can be addressed with standard dimensions that can be renamed. Extend the dimensionality with custom dimensions which can be added and enabled or renamed per your business requirements.  
Identify the dimensions for planning and reporting. Some of the reporting dimensions can be handled using attribute dimensions if the relationship does not change over time. Attribute dimensions can be used in forms, business rules, reports per your reporting requirements. Examples of attribute dimension include product category, product size, and product UOM. These attributes can be associated with the product dimension. This helps in filtering products based on their categories, such as UOM and size in product-level planning reports.  
Combine two or more unrelated dimensions into a single dimension to avoid inter-dimensional irrelevance. You can have multiple hierarchies within the same dimension. For example, job, equipment, and material are unrelated in the projects cube, so they are created as a single dimension called Resource Class that has multiple hierarchies for job, equipment, and material.  
For seeded modules, enable the custom dimensions for appropriate business processes such as Revenue, Expenses, and Balance sheet according to the relevance of that dimension. This will help improve overall system performance.  

The ASO cube can have up to 32 dimensions. The ASO cube is mostly used for historical data reporting. The ASO cube also supports Groovy rules if calculations are required.

 
Account and period should be defined as dense dimensions, and the remaining dimensions should be sparse. Leverage outline math or member formulas for simple calculations. Using outline math and member formulas can help achieve quick calculations without the need for business rules. Business rules and Groovy can be leveraged for more complex calculations.  
Parent levels and member formulas in the dense block should be set to Dynamic Calc or Label Only to avoid the requiring dense aggregations. Setting parent levels to dynamic calc enables automated aggregation to parent levels based on consolidation operators.  
Set consolidation operators to avoid creating unnecessary upper-level blocks. Do not use dynamic calc and store.  
Use alternate and shared hierarchies when members can be grouped under different parents for top-down allocation or reporting purposes. This can be leveraged in the case of top-down allocation requirements or multiple reporting requirements such as GAAP (for example, US GAAP and Local GAAP).  
Move archived versions into the ASO reporting cube to keep the size of BSO plan types down.  
Do not create too many custom dimensions or future dimensions just because they exist in ERP. Analyze the business requirement and determine if some of the custom dimensions can be merged together logically. Having the optimal number of dimensions can improve the overall application performance.  
For member formulas used to calculate ratios and other types of KPIs or percentages, set them to Dynamic Calc, Two Pass. The Two Pass setting properly calculates percentages at upper levels.

For example, to calculate the ratio between Sales and Margin, the system must calculate Margin as a parent member based on its children, including Sales. To ensure that the ratio calculation is based on a newly calculated Margin figure, tag the Margin % ratio member as a two pass calculation. Essbase calculates the database and then recalculates the Margin % member. The second calculation produces the correct result.

 
Use Label Only in sparse dimensions when reasonable. This will help avoid the creation of unnecessary data blocks.  
For best performance, the number of child members should not exceed 200 members for dynamic parents and 500 members for the store parent type. Avoid having flat hierarchies in any dimension. Setting intermediate parents helps achieve better performance by speeding up aggregation time.  
Enabling dimension members for multiple cubes creates dynamic X-Refs and leads to performance issues. It is recommended to add UDA HSP_NOLINK to all Account members to stop automatic @XREF generation across cubes where account members are the same. Use data maps or Smart Push to move data across cubes.  
Note which dimensions are aggregating and which are non-aggregating to ensure proper member properties and unary operators are assigned to each dimension.  

Use Dynamic Calc in sparse dimensions where the impact on query performance and data exports is minimal to eliminate unnecessary data blocks. In general, use store or never share for sparse dimensions and aggregate using business rules when required.

Setting all to store improves the size of the application for the page and index file, thus improving overall performance.

 
Where reasonable, use Unary Operator ~ or ^ to eliminate unnecessary aggregated data blocks. This will help minimize the data block size.  
Avoid single child parent members to reduce block size or duplicate blocks. A single child parent member leads to implied shares or duplicate blocks and data if the parent member is made never share.  
Do not have too many parents with a single child. Extra layers are not necessary, and this will impact reporting.  
It is a best practice to store historical data in ASO cubes. Have only up to 1 to 2 years of data in the BSO cube for trend-based planning, and load the remaining years into an ASO cube for historical data reporting. Consider using Predictive Planning that can use an ASO cube as a source of data. Aggregate large dimensions in ASO instead of BSO whenever possible.  
Do not create QTD, YTD members in the period dimension. Use the Dynamic time series capability in the period dimension to report periodic QTD, HTD, and YTD data. Summary time periods such as quarter totals and a year total should be set to dynamic calculate to reduce calculation time.  
The dimension order should follow either hour-glass or modified hour-glass order. Hour-glass order is best used in cases where most calculations are performed in batch and contain full sparse dimension aggregations.

Modified hour-glass order (non-aggregating sparse dimensions are placed after the aggregating dimensions) is best used in cases where most calculations are performed on save in web forms with only partial aggregations.

Dimensions should be in the proper order, starting from most blocks to least blocks order. This is fastest and produces the fewest empty blocks while doing aggregations.

 
Make use of Attributes and UDAs for capturing additional information related to the dimension. For example, Product size, ProductType, and Product UOM can be captured as attributes instead of having additional dimensions in the system. This is useful when relationships do not change over a period of time.  

The Data Type Evaluation Order setting is predefined for out-of-the-box cubes and cannot be changed. For custom cubes, it is recommended to set the proper evaluation order.

Data types can have conflicting results on the face of a data form, depending upon the cell intersections defined for the data form. For example, the intersection of a percent data type and a currency data type need to be resolved based upon a defined order set by a Power User.

 
Aggregate only those dimension members that are not dynamic calc.  
Automate metadata integration using the import metadata process, and scheduled it to run automatically using EPM Automate or REST APIs. Metadata extraction from ERP can also be automated using a BIP report. This not only helps automate metadata integration, it also helps avoid data integration issues and errors while importing data.  
Smart Lists and multi-cube BSO dimensions are useful when the planning dimension is not a primary dimension for a process and there is a need to break it into sub processes.  
Text, Smart List, Date, and Stored percentage type accounts should be set to Never or Ignore for consolidation. Aggregating these values, unless the accounts are explicitly excluded in any agg script, creates useless data. Configure the dimension model to address this for better application performance.  
Dynamic member formulas should have conditional logic and meaningful formulas for optimum system performance. Member formulas should be written to leverage NOT conditions to avoid returning #missing values.  
Follow the rules for naming conventions for applications, dimensions, members, and aliases. For example, the name should be within 80 characters and should not use special characters.

Review the complete list of guidelines: Naming Restrictions in Administering Planning.

 
For very large applications with a large number of reporting dimensions and instantaneous aggregation or reporting requirements, you can leverage Hybrid BSO-ASO with Smart Push and Aggregate Views in ASO.  
Dimensions should be grouped together into appropriate cubes. Avoid having many intersections set to the No Member.  

Table 6-3 Forms and User Interface Design Checklist

Task Check Off After Completed

Avoid long-running rules on Form Save since that has an impact on performance. Instead, use an action menu for long-running rules so that users can trigger the rule only when required. This will provide a better user experience while improving performance for forms.

Guidelines:

  • On Save should only include limited rules that run very quickly.
  • Rules with dimension aggregation should be run explicitly.
  • On Load should be very limited.
 
If business rules are configured for the form, execution time of these rules needs to be checked since this directly affects the loading and saving time of the form.  
To reduce maintenance, use member functions instead of picking individual members. This will ease form administration in the long run.  
Control the number of dimensions on the row. Having multiple dimensions on the row can negatively impact performance.  
Put dense dimensions such as Account and Period on the row and column of a form. Put sparse dimensions such as Entity on the Page axis or POV. This will help achieve better performance.  
It is recommended to use the Suppress Missing Blocks setting to improve performance. Consider either reducing the number of accounts or adding a form accessed by a right-click menu option to add new account members. Turn on suppress missing blocks whenever you have sparse dimensions on rows. Suppress missing blocks and data should be used on read-only forms  
Run the Web Form Diagnostics Tool on the environment with a full set of data. The diagnostics tool uses the last used run-time-prompt (RTP) and user variables, so this should be done by the implementer. This will help guide form design if a given form does not have acceptable performance.  
Use the outline to add member formulas instead of using formula columns in the form.  
Do not use large forms for ad hoc grids. Instead, break them up into smaller forms.  
Do not have too many hidden columns or rows in the form definition as this can lead to performance issues. Instead of formula columns, the best practice is to use outline member formulas.  

If Smart Push is enabled on forms, follow these best practices for Smart Push:

  • Only push level 0 cells that can potentially be changed by an end user. The size of the pushed data should be small.
  • One or more data maps can be associated to a form. Use the form context by allowing the system to pick page, POV, rows, or the column selections union of members from a multi-segmented form.
  • Use database suppression to compress missing data while extracting from the source. This provides better performance in Hybrid.
  • Enable Run smartpush in the background to release the UI thread immediately to the user.
  • Run on save runs immediately upon form save, and the user can also invoke Smart Push from an action menu in the form.
  • Automatic push should be limited because users tend to save data in a web form before finishing their data entry. Do not over-use Smart Push.
  • Large data movement using Smart Push should be limited to only a few concurrent users. Limit large slices of data movement using data maps and data import during user activity that uses Smart Push to move data.
  • Create summary level 0 forms in the BSO cube so that users carry out one Smart Push operation on all data after all in-progress edit and save operations are completed
  • Smart Push is intended for moving small amounts of data from BSO to ASO cubes. It is not intended as a method of moving all or large amounts of data.
  • If Smart Push is used, data push should only be done in batch to avoid contention issues with Smart Push processes.
  • Use Groovy to set overwrite selection to only modified data for grids with sparse members on row.
 
Use dynamic user variables, substitution variables, and valid combinations instead of creating too many forms.  
Dimensions such as Scenario or Version and Year can reside on the POV, column, or row. It is important to properly gauge how columns or rows will be returned when a user opens the form.  
Do not have too many rows on a single form. Use relationships to incorporate members onto the forms instead of picking members individually. This helps improve maintenance.  
While building forms, ensure that you select all appropriate options to enhance the design of your form. For example, use settings to control precision, display, and menus, and to associate the proper rules with your form.  
Use substitution variables to reference dimensions such as years, period, scenario, version,and currency. This reduces maintenance of forms.  

Select appropriate options in settings:

  • Use settings to control precision, display, and menus, and to associate rules with your form.
  • Select the Suppress Scenario/Time Period option.
  • Set Periods in the row or column on the form to the Start and End Period set for the Scenario.
 

Assess form performance:

  • Forms should open in under 5 seconds.
  • Forms should save in under 30 seconds.

If improvements are needed, implement the guidelines in this checklist.

 
Consider using user variables for dimensions such as Entity and Scenario to help reduce the dimension selection for end users.  
Organize your forms in logical folders. Separate input-type forms from reporting forms. This improves form administration, and it also helps users access forms from Smart View.  
Consider using dashboard-based forms wherever possible so that users can input their plan numbers and see the results immediately.  
Business rules associated with a form can be set to launch automatically when the form is opened or saved. You can select Use Members on Form to populate runtime prompts from the current form instead of prompting users for input when rules are launched.  
Set the total number of rows in a form to be less than 100 to provide better performance and user experience.  
Forms are used by multiple users, so rules set to run on save should not contain CALCPARALLEL or FIXPARALLEL.  
Data should not be submitted through ad hoc forms because ad hoc entries can potentially override data validations or calculations.  
Data validation rules in forms help to implement business policies and practices. You can specify cell colors and data validation messages that are generated on the form if entered data violates a validation rule.  

Table 6-4 Business Rules and Calculations Design Checklist

Task Check Off After Completed

Rule-related issues are the cause of many escalations. The impact of poorly written rules includes:

  • Increased size of the database through the number of page and index files
  • Decreased performance of calculations
  • Increased maintenance time
 
Avoid having many rules that run on form save. This can lead to slower form performance.  
Rules should not have missing dimensions in fix or member block statements. Errors and warning should be run on all rules to ensure dimensions do not go outside fixes.  

SET Commands:

  • Do not use SETCREATEBLOCKONEQ ON and SET CREATENONMISSINGBLK ON at the top of the rule.
  • Do not use administrative type commands like SET CLEARBLOCK EMPTY in end user rules as it requires a restructure.
  • Avoid or test rules using SET CALCTASKDIMS. Essbase does this automatically, so it is best to let Essbase to decide.
  • Data copy rules should include SET COPYMISSINGBLOCK OFF to copying empty blocks within the Fix.
 
Block creation should be done using either DATACOPY or sparse member assignment. Functions (@CREATEBLOCK ON EQ and @CREATEBLOCK) can be used as a last resort inside a limited Fix statement.  
Rules should have conditional logic to prevent constant values from being created where formulas have more than one member. Conditional logic will prevent the creation of zeros or other nonsensical values.  
Missing dimension references in Fix (such as a data copy rule) can waste processing time, increase contention, and create unnecessary blocks for all levels of the missing dimensions.  
Using @ancestors in a fix statement to aggregate other dimensions is not a best practice. This is a slow way to aggregate and creates a lot of blocks.  
Remove parallel calc in business rules associated to forms. CALC Parallel or FIX Parallel should be used only with administrative or batch rules.  
Creating unnecessary zeros will lead to increased blocks and data. Carefully review business logic and add necessary IF conditions to check for zeros. Convert zeros to #MISSING.  
Eliminate multiple passes on the same blocks. Instead, set an outer fix and move in and out as necessary. Combine IF statements instead of doing several IFs on the same intersections.  
Avoid using cross-dimensional references on the left side of the equation, as this has a performance impact.  
Aggregate dimensions in order of creation of most blocks to least blocks in the scripts. Agg is faster than CalcDim and is a preferred mechanism of aggregation. Aggregation using @ANCESTORS in end user rules all the way to the top of the dimension can lead to block contention issues.  
Use RTPs instead of using multiple rules with the same logic. More rules means more maintenance. Changes to dimension properties, incorporating conditional logic, removing set createblockeq, and performing calculations at the proper level instead of every level will improve the lev0 to upper level block ratio and improve overall performance.  
Use templates for breaking down and reusing business logic. However templates should not be used for fully functioning rules with FIX, ENDFIX. The rule combining various templates should have a proper outer fix and move in and out of smaller pieces as necessary.  
Ensure that each end user business rule is only calculating unique blocks. No two users should calculate the same blocks concurrently to avoid block contention.  
End users should not be fully aggregating sparse dimensions.  
When the point of view is set, the rule will run only for the members chosen. Using a runtime prompt for the dimensions will allow users to specify member values for these dimensions when launching the rule. This way, users can launch the rule several times for different years, scenarios, and versions without having to modify the rule in Calculation Manager.  
Use of CALCPARALLEL and FIXPARALLEL for concurrent processing in business rules by many users may result in slow performance because such rules consume more resources compared to business rules that are processed serially.  
A single invocation of a business rule that uses CALCPARALLEL and FIXPARALLEL may perform acceptably. However, overall performance will deteriorate if multiple concurrent users execute such business rules. As more users concurrently run calculations with CALCPARALLEL and FIXPARALLEL, resource usage increases and may reach capacity thereby decreasing the overall performance. Do not use CALCPARALLEL and FIXPARALLEL for business rules run by end users. Also, do not use CALCPARALLEL and FIXPARALLEL for business rules run in batch that are run concurrently with end user business rules.  
Review which rules are end user and batch calc, and identify the frequency of admin batch calc runs, such as nightly or every 2 hours during end user processing.  
Identify how each end user rule is scoped to avoid block contention with concurrency.  

Utilize Calculation Manager diagnostics and log messages to optimize all rules. This provides information on:

  • The number of passes through the database
  • Warnings
  • The number of blocks and if dimensions are missing
  • Rules that need to be optimized
 

Use Groovy for some of the calculations in custom cubes. Groovy can be launched independently, using action menus, run on load or save of form, or through EPM Automate and REST APIs.

Here are some use cases where Groovy can be used:

  • Calculate only on edited or changed cells or rows
  • Data validation on forms before save
  • IF ELSE before FIXes if some criteria is met
  • Change cell color based on data validation
  • Move data to reporting cube only for edited cells
  • Move data across cubes (also using data maps)
  • Make selected rows or columns read only based on conditions
  • Increase performance
  • Automate EPM Automate tasks like backups and import files
  • Integrate strategic models using Groovy rules

Learn more about the Groovy object model, syntax, java classes, and packages: Overview (Oracle Enterprise Performance Management Cloud, Groovy Rules)

 
Rules for currency conversion are not needed as this functionality is built in. Just enable the currency while creating the application, and the system automatically creates an exchange rates form and seeds the rule for currency conversion.  
Leverage runtime prompts for members such as Entity, Scenario, and Version. This allows your rule to be dynamic and run based on user input.  
Typically, dense dimensions such as Account and Period don't need to be aggregated because parent members are set to dynamic calc. However, if you have member formulas on dense dimensions and they are not set to dynamic calc, a Calc Dim rule is required.  
After you fully understand the drivers of the calculation, use the proper object component or template to build the rule. The components and templates facilitate member selection to help deploy the rules.  
As a first step in building rules, ensure that you understand the business logic and which entities or departments the rule applies to. For example, know the source and target accounts that are involved in the rule.  

Poorly written rules have a major impact on the application, including:

  • The size of the database - the number of page and index files
  • Performance of calculations can cause block contention issues, which impacts end user rule performance
  • Maintenance time increases and impacts rule performance and maintenance time.

For optimal application performance, it is strongly recommended to follow best practices while writing business rules.

 

Avoid costly functions such as @CurrMbr, for example: ->@MEMBER(@PREVSIBLING(@CURRMBR( "Years")))

Use @Prior instead.

 

Nest Fix statements where possible to reduce the number of passes on the database.

Each full FIX requires a pass on the database. For example, use an outer FIX for Version, Scenario, and any other dimension selections that are static throughout the business rule.
 
Run Errors and Warnings in Calculation Manager to see the number of passes, missing dimensions, and issues with the rule.  
Schedule frequently used rules as jobs to run automatically on a periodic basis. This could be, for example, a Rollup income statement rule or another aggregation rule that reflects all planning inputs in financial statements. Even data or metadata integrations can be scheduled as jobs as required.  

General best practices:

  • All Essbase functions and commands should be in capital letters, for example, FIX, ENDFIX, IF, ENDIF, and SET.
  • Dimension members should always be used within double-quotes, for example, "Oct".
  • Obsolete code should be deleted from within scripts and not simply commented-out
  • Any changes to the code post go-live should be commented-out with the corresponding change request ID to enable traceability.
 
Be sure that you don’t create too many 0 and 1 values in the application with your rules. If conditional logic is implemented in the rules, it will prevent 0s from being copied or aggregated.  

Review this webinar on Customer Connect to understand best practices for writing calcscripts and common mistakes to avoid when creating rules. It also covers design of Hybrid BSO cubes, which helps optimize performance: Application Design for EPM Planning Part II: Calculation Manager Rules and Hybrid BSO.

 

Table 6-5 Integrations and Data Movement Design Checklist

Task Check Off After Completed
Use data maps for cube-to-cube integration instead of XRef or XWrite commands. Using XWRITE with a large number of users and increased data can lead to performance issues. Do not use XREF and XWRITE across members in different cubes.  
Data load for both YTD and Periodic is supported. However, loading YTD data is overhead as YTD data will be dynamically calculated.  
Do not execute business rules, reports or scheduled tasks while data is being loaded.  
While integrating actual data from source systems, eliminate rows with 0 or null values for optimal performance.  
Ensure that no two users execute data load to the same intersections.  
For file based integrations, use EPM Automate and task scheduler to automate the whole integration process on a periodic basis.  
The EPM Integration agent can be leveraged to establish a seamless connection with the SAP Data source and extract the data into Cloud EPM. Seamless integration is supported as long as the source DB supports type 3 or type 4 compliant JDBC URLs.  
If the source database does not support type 3 or type 4 JDBC URLs, file based data integration can be automated using EPM automate and task scheduler. Alternatively, it can be loaded to the database using REST APIs and then using the integration agent to connect with the database.  
If there are multiple applications where metadata needs to be maintained, you can use Oracle Fusion Cloud Enterprise Data Management for centralized master data management. It provides built-in workflows, and different nodes can be created and maintained per business requirements.  

EPM Automate can be run directly on the cloud using Groovy rules. Routine activities like daily backups and integrations can be executed using EPM Automate commands using Groovy scripts. Review this presentation on Customer Connect for more details: What's New in EPM Automate.

 

Review this presentation on Customer Connect for in-depth information on inbound and outbound integrations in Cloud EPM, including the EPM integration agent: Cloud EPM Integration.

 

The end-to-end integration process can be automated and orchestrated using the pipeline feature. The pipeline functionality allows you to conduct a sequence of operations such as Load Data or Metadata, Clear Data, Aggregation, Batches, Business Rules, and so on. This allows users to plan all of their jobs in one location and perform them in parallel or serial mode. Users save time by running each job one after the other. Pipeline also assists in remotely running jobs from another instance via connections.

Review this presentation on Customer Connect: Data Exchange Pipeline Feature.

 

Table 6-6 Reports and Maintenance Design Checklist

Tasks Check Off When Completed
Review the design guidelines in Reports Design.  
Use Reports features, including charting, report viewing, books, and bursting.  
Determine the frequency and distribution of reporting. For example, for frequency, if budgets are annual, are reports run annually or on another frequency? For distribution, will users run reports and books on the web or in Smart View? Will users need to receive report output in email through bursting?  
Before building reports, determine how many different report formats are required.  
Begin building reports by arranging dimensions properly and selecting members. Next, get the report to capture the data and apply formatting. FInally, utilize other Report features, such as conditional formatting and text, zoom, drill to content and drill through, and grouping.  

Schedule Restructure Cube to be run every weekend during off times. This will help clear empty blocks in the application.

 

Define regular maintenance processes for ASO cubes:

  • Merge data slices and remove zeros.

  • Compact the outline.

  • Review the dimension hierarchy types.

  • Build the optimal number of aggregate views.

 

Table 6-7 Dashboards Design Checklist

Task Check Off When Completed
Use dashboards at the start of the planning process to provide users with an overview of their process by showing summary data.  
Use interactive dashboards so that changes are reflected as soon as updates are made. For example, users can change a driver in the form and immediately see that reflecting in charts and other summary forms.  
Use dashboards 2.0 to take advantage of spark charts, geo maps, bubble charts, waterfall charts, gauge charts, and so on. Use appropriate chart types based on the available data to provide the best visualizations to users.  
Use a global POV bar to display selections at the top of the dashboard. After the user selects a member from the global POV bar, all the forms and charts will be updated based on the selection. For example, if a user selects the entity Vision, all the charts and forms are updated based on this filter.  
Enable summary-level dashboards with the ability to drill down into further details based on dimension hierarchies. Include explanations and comments on data and charts by inserting a commentary section.  
Use logarithmic scales, hierarchical labels, and a secondary Y axis in relevant charts and create interactive dashboards to enhance the user experience.  

Table 6-8 Navigation Flow Design Checklist

Task Check Off When Completed
Use navigation flows to provide an easy way for users to complete their planning and reporting processes.  
Customize the navigation flow based on user personas, on business processes, or a mix of both. This enables designers to control how roles or groups interact with the business process.  
Create clusters and cards, and arrange them horizontally or vertically with icons based on business processes. Customize them to provide a helpful user experience.  
You can hide any clusters and cards that are not required, and arrange them in the order of user preference per business requirements. For example, you could move business process cards up and move down applications, tools, or academy.  

Categorize navigation flows and apply access permissions as required by the business.

 
If a user has access to multiple navigation flows, they can switch navigation flows from the home page based on the task they need to perform.  

Table 6-9 Maintenance Design Checklist

Task Check Off When Completed

Schedule Restructure Cube to be run every weekend during off times. This will help clear empty blocks in the application.

 

Regular maintenance processes should be defined for ASO cubes, including:

  • Merge data slices and remove zeros.

  • Compact the outline.

  • Review the dimension hierarchy types.

  • Build the optimal number of aggregate views.

See Optimizing Aggregate Storage Option Cubes.

 
Schedule automated daily backup of all the artifacts and have a disaster recovery plan for test and production environments. Daily backups can be easily automated using EPM Automate or REST APIs and organized in separate folders.

See Backing Up and Restoring an Environment Using the Maintenance Snapshot.

 

Table 6-10 Security Design Checklist

Task Check Off When Completed
Understand access permissions, including user and role management, application artifacts that can be assigned permissions, types of access permissions, and managing and reporting on access permissions.

See Setting Up Access Permissions in Administering Planning.

 
Learn about managing users and configuring security settings in Administering Access Control for Oracle Enterprise Performance Management Cloud:  

Get an understanding of access control, managing role assignments, and generating reports in Administering Access Control for Oracle Enterprise Performance Management Cloud:

 

Watch the webinars on Customer Connect:

 

Complete the tutorials:

 

Table 6-11 Planning Modules and Other Best Practice Recommendations Design Checklist

Task Check Off When Completed
If you want to choose your own chart of accounts, do not enable accounts under Financials.  
If not necessary, do not enable custom and future dimensions.  

Leverage standard business processes such as Financials, Workforce, Projects, Capex and Strategic Modeling, and build configurations on top of that if there are custom requirements.

Watch this webinar on Customer Connect to get an overview: Planning Modules Refresher: Financials, Capital, and Projects

 
Modules provide significant out-of-the-box content with hooks for customization. Using standard modules helps with maintenance of your application. Modules also track customizations to out-of-the-box-content, and custom changes are retained during upgrade. You also have the ability to restore the modified content to the original.  
Customer dimension members should be seeded under the parent members provided with the module. Forms automatically incorporate customer dimension members that are embedded within the seeded parent members.  

Review these Customer Connect webinars to learn about the business processes:

 

The Predictive Cash Forecasting solution enables operational cash flow planning for short- and medium-term time horizons. It covers several forecast methods such as smart drivers, predictive planning, driver methods, and trend-based planning methods. Companies can forecast for cash inflows and outflows accurately with data driven approach to ensure that they have enough liquidity to meet its financial obligations and strategic goals.

Review this Customer Connect webinar to learn more: Announcing Predictive Cash Forecasting in Cloud EPM.

 
Use valid intersections to filter dimensional intersections for users when they enter data or select runtime prompts. Valid intersections restrict data input, but not data loads or calculated results. They must contain a dimension unique to the database to restrict the intersections for that database. Otherwise, the valid intersection applies to all databases that share the intersections. Planning Modules include some predefined valid intersections.  
Use Groovy scripts to improve the overall performance as it can run only on edited cells in a particular form. Groovy can also be leveraged for data validations in forms.  
Schedule Restructure Cube to be run every weekend during off times. This will help clear empty blocks in the application.  

Predictive Planning and Auto Predict functionality can be used for generating what-if scenarios based on actual data and seasonality patterns. System prediction can be used to compare drive- based planning results. Alternatively, prediction scenarios can also be copied to a plan scenario.

Review this Customer Connect webinar to learn about auto predict functionality: Reimagine Your Planning and Forecasting Process Using Auto Predict.

 

The Financials business process includes standard functionalities such as drivers and trend based planning, rolling forecast, balance sheet and cash flow planning, integrated financial summary, weekly planning, P13 support, budget adjustments, and write back. To save time and effort, it is recommended that you use these standard business processes in the Financials framework instead of customizing.

Review this Customer Connect webinar to learn more about integrated Financial Statement Planning: Integrated Financial Statement Planning using Cloud EPM Planning Modules.

 
If you want to implement IFRS16 and leased assets planning functionality, it is available out-of-the-box in the Capital business process. You can plan for new assets, existing assets, or leased assets, and the financial impact is integrated seamlessly with the ability to drill through back to the source details.  
For capital, indirect projects, and contractual projects, Projects addresses project requirements and has seamless integration with Oracle Project Portfolio Management. Projects also integrates with Capital, Workforce, and Financials. It is recommended to leverage these standard capabilities rather than creating customizations.  
Workforce provides resource planning, including headcount, manpower cost, and integration with Oracle Cloud HCM and Payroll. You can leverage workforce planning functionalities for your manpower planning requirements.  
Strategic Planning provides long term business planning, scenario modeling, model consolidation, predictive modeling, and integrated financial statements. Strategic planning also integrates seamlessly with BSO cubes to bring in data required for long term planning. Leverage Strategic Modeling for any long-term planning requirements.  
Use pre-built templates available out-of-the-box for scenario modeling capabilities, model consolidations, and strategic modeling. You can build long-term integrated business plans with the capabilities to goal seek, review the audit trail, and do mergers acquisitions planning, debt planning, investment planning, and predictive analysis. This helps management quickly model strategic plans with free form and standard calculations without having to write technical scripts or rules for calculations.  
Best practice solutions are available for ITFM (IT Financial Management) and Marketing campaign planning. You can raise an SR to leverage and benefit from these best practice solutions.

Learn more: Overview: IT Financial Management.

 
Rules such as aggregation, copy, and clear data are available out-of-the-box. It is recommended to use the provided rules.  
Enable the audit trail feature to track all changes in the application for data, metadata, and artifact. This helps track who changed what and when the updates were made.  
It is recommended to leverage the standard KPIs, metrics, and dashboards that are available in each business process. They enable top management to get quick insights from dashboards to inform key decisions.  
Dashboards 2.0 can be leveraged to generate advanced charts like geo maps, spark charts, bubble charts, waterfall charts, and gauges. Make interactive dashboards to provide an improved user experience for day-to-day use and planning as well as integrated views. For example, when you update a form, charts dynamically refresh to provide an interactive user experience while planning.  

Leverage Free Form to migrate custom Essbase cubes to the cloud. This gives you the ability to create up to 12 custom cubes, with a mix of hybrid BSO and ASO cubes. You can use any of the 29 dimensions in any combination for each cube based on your use cases.

Watch this Customer Connect webinar to learn more: Announcing Multi-Cube Free Form Applications.

 

It is recommended to review the activity report diagnostics that can highlight if there are any issues with form design or business rules that take a longer time to run. You can take correction action to rectify the forms and business rules based on this report.

The activity report also provides information regarding:

  • User information, such as who signed in to the application by day or time for the last 30 days
  • The percentage of requests that took more than 10 seconds to complete
  • CPU and memory usage
  • The number of application design changes
  • A ranking of requests by duration

In addition, use Calculation Manager diagnostics and log messages to optimize all rules.

Watch this video to learn more about the activity report.

 
Sales Planning can be leveraged if you have requirements to manage operational quota planning, target setting for sales reps, promo or non promo planning, or advance sales forecasting. Sales Planning includes features such as top-down and bottom-up planning processes, key KPIs, sales compensation planning, and ramp-up profiling. It can be leveraged and configured as per your specific business requirements.  
Use flex forms to add rows on an ad hoc basis while planning. Flex forms also provide the option to sort, filter data, and add and move rows.  
Ad hoc grids allow planners to slice and dice data and do everything that they currently do in Smart View. This functionality can be leveraged to prepare ad hoc analytical reports with slice and dice capability.  
For historical actual data, use an ASO cube. You can have 1-2 years of historical data in a BSO cube, but if there are more years, it is best to move the historical data to an ASO cube for better system performance.  
It is not recommended to do a Smart View bulk update. The best practice is to use the application by giving secured access to all users.  
Use the sandbox feature to do simulations on the fly. If users are satisfied with the sandboxing results, they can publish the data in the sandbox.  
Strategic Workforce Planning can be leveraged if you want to plan for long-term workforce planning, supply vs. demand analysis, or skills analysis. Strategic Workforce Planning has seamless integration with Workforce, which addresses compensation planning.  
You can start with minimal configurations for out-of-the-box modules, and then incrementally enable each section as per business requirements.  
If there are multiple applications in use, consider setting up connections. This provides a seamless experience for users to access all of the functionality in same application.  
Use data maps and smart push to move data across applications instead of using XRef or XWrite functions.  
Using the standard best practice framework for optimal block size and best practice design for dimensions, forms, and business rules. It will also ensure optimal performance of the application.  
For ASO cubes, run Merge Slices to address large data slices. This can be scheduled to run on a periodic basis. Run Compact Outline if you have large metadata changes. This can also be run as a scheduled job.  
Be sure to check the activity report on a regular basis to identify and fix any calculation scripts and user requests that impact the overall performance of the application.  
Use navigation flows rather than task lists for planning processes, management reports, and dashboards to facilitate ease of access for users.  
Use context-sensitive right click menus to provide drilldown capabilities from forms. For example, users can right-click an account and drill down to open another form to see cost center balances and compare actual, plan, and forecast.  
Use Smart Forms in Smart View to for custom business calculations using Excel features and functions. The business calculations that you create and save in the Smart Form can then be executed in both Smart View and the provider web interface. In Smart View, the formulas are evaluated by Excel; in the web interface, the formulas are evaluated by the provider. You can even create a sandbox from a Smart Form.  
Flex forms provide flexible row management in Smart View. Smart View users can rearrange row members and sort or move rows. Modified row order is maintained on refresh and during submits. Smart View users can also filter data using the Excel filtering functionality. Flex forms are used only in Smart View and not in the web interface.  
Use the reports functionality to enable a more dynamic user experience by providing interactive reporting functionality and improved reporting capabilities with charts, drilldown capability, and administrative design.  

Leverage the IPM Insights functionality to generate analytical insights for the management team. IMP Insights provides these types of insights, using historical and predicted data:

  • Forecast variance and bias insights - reveals hidden bias in forecasts submitted by planners
  • Prediction insights - helps you uncover significant deviations in forecasts compared to predicted values
  • Anomalies insights - detect unusual patterns in data that deviate from expected results

For more information, see About IPM Insights.

 
It is recommended to follow proper naming conventions for forms and business rules to quickly identify the key characteristics. This also helps ease administration. For example, rule names can follow a convention like this: R-CubeName-RuleNumber-RuleName, using R for rules and RS for rule sets.  
Use Compact Outline regularly for ASO cubes. As dimension members are updated and moved, compacting the outline is required, similar to how a restructure is required in BSO.  

Use the budget revisions feature to create revisions in an approved budget, such as to process midyear changes to the budget. This feature integrates with budgetary control in Oracle ERP Cloud.

Watch this Customer Connect webinar to understand the budget revision feature: Overview of New Budget Revision Feature in Cloud EPM Planning Modules.

 

Use the Quick Start checklists to do initial tasks on your first day such as setting up your environment, log in, enter data, analyze forms, use reports, etc. This checklist is also organized based on roles like service administrator, power users, users and viewers.

Review the Quick Start checklists.

 

Review this Customer Connection webinar for best practices on how to wow your users and make your EPM solution shine.