Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

All About Allocations-Calculating

Customer/Product Profitability and


Transfer Pricing Using Essbase
Deanna Sunde
Deanna Sunde
 Oracle/Hyperion EPM Background
● Have implemented Hyperion products for 13 years
● Certified on Planning and Essbase
 Finance Background
● Accounting and Financial management at Princess Cruises – 10 yrs
● MBA in Finance, CPA (Inactive), BS in Economics
 User Group Participation
● Member of ODTUG Leadership Program and Hyperion SIG BOD
● Assistant Track Lead for Planning KScope13 Presentation selection
● Committee member for Kscope13 ODTUG Technical Journal Editor's
Choice award
● Speaker at many ODTUG and OAUG user conferences
● Member of SROAUG BOD for 6 years
Agenda

 Guiding Principles
● Methodology
● Automated
● Flexible
● Repeatable
● Transparent
● Low Maintenance
 Case Studies
Methodology

 Stick to a specific methodology or set of


methodologies
 Get buy-in from business
 Avoid hard coding and tweaks to get back to
legacy results
● Time consuming
● Makes code very complicated
● Makes ongoing maintenance difficult
Automated

 Does not require input from users at run-time


 Runs automatically when data is input or
loaded
● Not always feasible as blocks can get locked when
multiple users saving data and running the same
allocation
● Run periodically (hourly, nightly)
Flexible

 “Surface” drivers instead of hard-coding in


scripts
 Put power in the hands of the users
● Input drivers that are not automatically loaded
● Ability to adjust or override drivers
● Ability to adjust or override calculated results
 Easy to change drivers
● The more flexible, the higher the cost to build
Flexible
DataType Dimension

 Segregates data loaded by source


● Facilitates the Data Conversion and Validation effort
 Segregates data calculated or input in HFM from G/L
data
● Facilitates data load from HFM into Planning and Essbase
 Facilitates security
 Builds up the actuals from local G/L to corporate GAAP
to IFRS
● Facilitates Reporting and Auditing
 Segregates input/loaded and calculated data
● For HFM and Planning, this allows users to adjust loaded or
calculated results
Flexible
DataType Dimension - Example
Repeatable

 Get the same results every time


 Recommend that all loaded, input and
calculated data be at the bottom level of all
dimensions
● Allows data to be exported at level zero, re-imported
and aggregated for de-fragmentation purposes
● Assists with backup and restore
Transparent

 If allocation is by entity
● Create ICP (Inter Company Partner) dimension
 If allocation is by Cost Center
● Create sending Cost Center dimension
 Ability to drill from receiver to sender using
Smart View or Financial Reporting
 For additional dimension, add prefix
● Allows using substring and concatenate in code
Low Maintenance

 Based on loaded drivers or input


 Ability to adjust or override calculated results
 Scripts are not “hard coded”
 Build scripts using attributes, UDAs, alternate
hierarchies in order to avoid hard coding
 Build scripts that consider what to do if driver
data is missing
Case Study: Large Bank
Push Down Overhead Allocation

 Data input for budget by bottom level account


and parent entity, push down to bottom level
entities based on Prior Year Full-Year actuals
 If actual data is missing at the bottom level
account, looks to the data of the account’s
parent (then grandparent, etc.)
Case Study: Large Bank (cont.)
Push Down Overhead Allocation

/* #1 - EPT32304010130410 */
FIX(@RELATIVE("EPT32304010130410",0))
"Base Amount" = "EPT32304010130410"->"No Custom1"->"No Custom2" * (("Actuals"->"Final"->"YearTotal"->"No
Custom2") / ("Actuals"->"Final"->"YearTotal"->"EPT32304010130410"->"No Custom2"));
"Base Amount"(
IF("EPT32304010130410"->"No Custom1"->"No Custom2"<>0)
IF("Actuals"->"Final"->"YearTotal"->"EPT32304010130410"->"No Custom2"==#MISSING AND
@PARENT(@CURRMBR("Chart of Account"))->"Actuals"->"Final"->"YearTotal"->"EPT32304010130410"->"No
Custom2"<>0)
"Base Amount"="EPT32304010130410"->"No Custom1"->"No Custom2" * @PARENT(@CURRMBR("Chart of Account"))-
>"Actuals"->"Final"->"YearTotal"->"No Custom2" / @PARENT(@CURRMBR("Chart of Account"))->"Actuals"->"Final"-
>"YearTotal"->"EPT32304010130410"->"No Custom2";
ENDIF
ENDIF
)
ENDFIX
Case Study: Large Bank (cont.)
Push Down Overhead Allocation

@IDESCENDANTS("EPT32304010130410");

FIX(@RELATIVE("EPT32304010130410",0))
"Base Amount"(
IF(@ROUND("Base Amount"->"EPT32304010130410",4)<>@ROUND("EPT32304010130410"->"No Custom1"->"No
Custom2",4))
"Base Amount"="EPT32304010130410"->"No Custom1"->"No Custom2" *
@MBRPARENT(@PARENT(@CURRMBR("Chart of Account")))->"Actuals"->"Final"->"YearTotal"->"No Custom2" /
@MBRPARENT(@PARENT(@CURRMBR("Chart of Account")))->"Actuals"->"Final"->"YearTotal"->"EPT32304010130410"-
>"No Custom2";
ENDIF
)
ENDFIX
Case Study: Large Bank (cont.)
Push Down Overhead Allocation

/*************************************************************************************************************************************/
/* Copy Data for De Novos */
/*************************************************************************************************************************************/
FIX("Forecast","Working","Seg0","No Attribute Value","No Strategy", "USD")
FIX(@RELATIVE("APT50961600",0),
@RELATIVE("APT50963000",0),
@REMOVE(@RELATIVE("APT50963500",0),@LIST("513410","513414","513415","513423")),
@REMOVE(@RELATIVE("APT50964800",0),@LIST("515160")),
@RELATIVE("APT50967600",0),
@REMOVE(@RELATIVE("APT50969400",0),"521045"),
@RELATIVE("APT50975400",0),
@REMOVE(@RELATIVE("APT50979300",0),@list("525042","525120")))
FIX(@UDA("Entity","Excl_NIE_Ent1"))
FIX(&FcstYear1,&FcstFirstMonth:"Dec","F457")
"Base Amount"="No Custom2";
ENDFIX
ENDFIX

FIX(@UDA("Entity","Excl_NIE_Ent2"))
FIX(&FcstYear2:&FcstYear5,"Jan":"Dec","F457")
"Base Amount"="No Custom2";
ENDFIX
ENDFIX
ENDFIX
ENDFIX
Case Study: Herbalife
Transfer Pricing for Inventory adjustment for I/C Sales - Issues

 Lengthy manual process in Excel spreadsheet


 Difficult to manually breakdown items in BOM
that carry transfer profit
 Difficult to identify FX impact in ending
inventory and COS
 Manually prepare JE for elimination process
 Room for human error
Case Study: Herbalife
Transfer Pricing for Inventory adjustment for I/C Sales - Benefits

 Auto calculation in Hyperion Planning/Essbase


● Data loaded from Oracle EBS after books closed
between 1st and 4th day of the month
● Ending Inventory and Units Purchased by SKU,
standard costs in functional currency of selling
entities, selling prices for purchasing entities,
currency rates (Avg and EOM)
● Two Planning forms for users to adjust loaded data
● Calculation runs in 40 min.
● Hyperion automatically prepare an HFM JE for
elimination process using an FR report
Case Study: Herbalife
Transfer Pricing for Inventory adjustment for I/C Sales - Benefits

 Saved 50 man-hours a month


 Improve accuracy (able to capture items from
BOM)
 Reports are available to identify FX impact to
both ending inventory and COS
Dimensions
 Years and Periods
 Scenario and Version (allocations run for
actuals only)
 Accounts
 Entities (countries)
 Inter-Company Partner
 Product
 DataType
 Currency
 TP Period (transposes data from Period dim)
Override Forms
Example of Code
Override (DataType dimension)
/******************************************************************************************************/
/* MAIN FIX */
/******************************************************************************************************/
FIX("ACT","Working",&ThisYear,&CMonth) /* Main Fix - Scenario, Version, Year, Period */
/******************************************************************************************************/
/* USE EBS AND OVERRIDE TO CALCULATE DATAFINAL FOR CURRENT PERIOD */
/******************************************************************************************************/
FIX("No TPPeriod",@RELATIVE("PURCHASER",0),@RELATIVE("SELLER",0),
"NOCURRENCY","LOCALCURRENCY","PRICELISTCURRENCY“,
@RELATIVE("ENT_GLOBAL",0),@RELATIVE("ICP_GLOBAL",0),@RELATIVE("Product",0))

"DATAFINAL"(
IF("OVERRIDE" <> #MISSING)
"DATAFINAL" = "OVERRIDE";
ELSE
"DATAFINAL" = "EBS";
ENDIF
)
ENDFIX
ENDFIX
Example of Code
Currency Translation

 Multi-currency
● Rates in Account dimension
● Currency dimension contains LocalCurrency, USD
● Each bottom level entity assigned one currency
using Attribute dimension

FIX(@RELATIVE("ENT_GLOBAL",0),@RELATIVE("ICP_GLOBAL",0))
FIX(@RELATIVE(“OPEX”,0))
"USD_RPT" = "LOCALCURRENCY“ *
@MEMBER(@CONCATENATE(@ATTRIBUTESVAL("CURRATTR"),"AVGRATE"))->
"No Entity"->"NOCURRENCY"->"No ICP”;
ENDFIX
ENDFIX
Example of code
Substring and Concatenate

 Copy data from seller side to purchaser side


● 11.1.1.3
SET CREATEBLOCKONEQ ON;
/* Copy Standard Cost and Selling Price from Seller Entity to Purchaser Entity */

FIX(@RELATIVE("Product",0),"STNDCOST",@RELATIVE("SELLPRICE",0),"USD_RPT")
FIX(@UDA("Entity","LISTENTITY"),@UDA("ICP","LISTICP"))
"PURCHASERSIDE" = "DATAFINAL“->
@MEMBER(@SUBSTRING(@NAME(@CURRMBR("ICP")),4))->
@MEMBER(@CONCATENATE("ICP_",@NAME(@CURRMBR("Entity"))));
ENDFIX
ENDFIX
Case Study: Health Care Provider
Profitability Analysis - Objectives
● Improved efficiencies in maintaining
cost center pools, drivers and
business rules for allocations
● Increased flexibility that allows
allocations to run daily or at will in a
timely manner (will run nightly)
● Automation to reduce reconciliation
efforts for allocations
● QA environment to allow review of
impact of business rule changes
● Data files to interface to and from
other systems systematically
● Automated balancing and controls
as well as reporting required by the
business and IT communities
● Improved processing of inter-
company allocations.
Dimensions - General

 Years and Periods


 Scenario and Version (allocations run for
actual, budget, forecasts)
 Accounts
 Legal Companies
 Entities (cost centers)
 Divisions
 Trading Partner (used for the Direct Facilities
Space Expense locations)
Dimensions – Profitability Analysis

 Market Segment - Large Group, Medicaid, etc.


 Product - Life, Medical, Vision, etc.
 Network Indicator - HMO, PPO, etc.
 Funding Type - Experience Rating, Fully
Insured, etc.
 State – CA, AZ, etc.
Dimensions – Allocation

 View - type of data associated with an expense


account ($’s, Thousands of $’s, sender and
LOB weightings, weighted driver, etc.)
 Methodology Types - the type driver used for
the allocation (Revenue, Claims, Headcount,
etc.)
 Method - slices of a cost center’s allocation into
sections that must add to 100%
Dimensions - Attribute

 CC-Company - links a cost center to its unique


company. Used when generating inter-
company transactions.
 CC-Division - links a cost center to its unique
division. Used during allocation methodology
input to insure the correct division is assigned
to the requested cost center.
 CC-Type - links a cost center to whether it is a
divisional cost center or a corporate cost
center.
Before Allocation Project
After Allocation Project
High Level of Detail on Market Segment
After Allocation Project
Level of Detail on Product for any Segment
After Allocation Project
High Level Data Flow

1 Feeds from SAP to FMRS and UnalocGA continue to occur 5 times a day.
2-5 Feeds from SAP, FMRS and UnalocGA to Allocation engine occur nightly.
Allocation engine runs nightly.
Allocation engine feeds FMRS nightly.
6 Feeds from FMRS and UnalocGA to EIS continue to occur nightly. The level of detail
remains unchanged.
7 Feed from allocation engine to SAP runs on demand.
Feed is by company, by sending cost center, by trading partner and by PA.
Document type is YT.
The existing SAP assessments process will be disabled, except for the Broker
Commissions & Costs and the Provision for Income Tax assessment, which will continue
to be run in SAP.
Divisional Allocation Example
Corporate Allocation Example
Login
After Login
Divisional Allocation Template
Add New PA (LOB)
Corporate Allocation Template
Other System Components

 Reconciliation FR Reports
 FR Reports
Copyright © 2010, Oracle and/or its affiliates. All rights
Contact Information

deannasunde@gmail.com

Blog: deannasunde.com
Twitter: @deannasunde
LinkedIn: linkedin.com/in/deanna-sunde-2343564
Visit The Hackett Group at Booth 417
 Workforce Planning: To Customize or Not to Customize...That is the
Question... (this session is being video recorded)
Tuesday, June 25, 2013, 3:30 pm - 4:30 pm, Grand Ballroom D
Deanna Sunde , The Hackett Group
 Planning at Transaction Levels while Maintaining Performance
Wednesday, June 26, 2013, 9:45 am - 10:45 am, Armstrong Ballroom
Chris Boehmer , The Hackett Group and Danny Frasco, Kimco Realty Corporation
 Travel the Path to MDX Mastery
Wednesday, June 26, 2013, 11:15 am - 12:15 pm, Borgne
William Hodges , The Hackett Group
 Metadata Design: Integrating Planning and Essbase with HFM
Wednesday, June 26, 2013, 1:45 pm - 2:45 pm, Borgne
Deanna Sunde , The Hackett Group
 All About Allocations-Calculating Customer/Product Profitability and
Transfer Pricing Using Essbase
Wednesday, June 26, 2013, Session 16, 4:15 pm - 5:15 pm, Borgne
Deanna Sunde , The Hackett Group

You might also like