Deatiled practices in HFM design & implementation...
Best Practices in HFM Application Design Chris Barbieri Consolidation Practice Director Oracle ACE Ranzal & Associates
Personal Background Chris Barbieri • Esta Establ blis ishe hed d HFM HFM perf perfor orma manc nce e tuni tuning ng tech techni niqu ques es and statistics widely used today • 4+ yea years rs as as Sr. Sr. Pro Produ duct ct Iss Issue uess Mana Manage gerr at Hype Hyperi rion on – HFM, Smart View, Shared Services, MDM
, HFM and Enterprise • MBA, Babson College • B.S. B.S. Fina Financ nce e & Acco Accoun unti ting ng,, Bos Bosto ton n Col Colle lege ge • Co-f Co-fou ound nded ed the the HFM HFM Per Perfo form rman ance ce Tun Tunin ing g Lab Lab at at Ranzal with infrastructure expert Kurt Schletter
Application Design: the Foundation of Performance • Hyperi erion Fi Financ ancial Management • Meta Metada data ta desi design gn as it impa impact ctss – Volume of members – Impact of structures
• Data – Content – Density
Metadata
Designing HFM’s 12 Dimensions Application Profile
User controlled
1. Year
5.
Entity
2. Period
6.
Account
3. View
7.
ICP
8.
Scenario
4. Value dimension, includes currencies
User defined 9.
Custom 1
10. Custom 2 11. Custom 3 12. Custom 4
Application Profile Year – No inherent impact impact on performance – Cannot be changed changed after the application is built – Impacts the number number of tables that can be created in the database
Period –
e ase per o s compr se t e co umn structure o every table, whether you use them or not. – For this reason, avoid weekly weekly or yearly profiles unless it is key to your entire application’s design
View – No impact, but only YTD is stored and Periodic, QTD are on-the-fly derivations
System Dimension Value Dimension – Can not directly modify this – “” Currency>” is a simple simple variable directing directing you to the current entity’s default currency – “” points back to the currency of the entity’s parent
Currencies – Don’t add currencies you aren’t using • Sets of calc calc statu statuss record recordss for for (every (every entity entity * every currency) • Impact Impact of loadi loading ng metad metadata ata with with entity entity or curren currency cy chang changes es
– Normally translate from the entity’s currency only into it’s parent’s currency. – Beware of non-default translations translations • Impa Impact cted ed calc calc stat status us • Data ex explosi osion
User Controlled Dimensions Entity – Sum of the data of the children – Avoid Consolidate All or All With With Data on each hierarchy – Assign Adj flags sparingly – “Hidden” dimension
Scenario – Number of tables
Impact of Account Depth
6- Net Inco Income me
4- Net Inc Income ome
5- EB EBIT IT
3- Op Optg tg In Inco come me 2- Gros Grosss Margi Margin n 1- Sale Saless
4- Op Optg tg In Inccom ome e 3- Gr Gross oss Profit Profit 2- Gros Grosss Margi Margin n
Effect is multiplied when you consider the custom dimensions Parent accounts don’t lock
1- Sale Saless
User Defined Dimensions Custom 1..4 – Think dozens or hundreds, but not thousands thousands – Avoid: • Employees • Products • Anythi Anything ng that that is very very dyna dynami micc • One to one relations relationship hip with with the entiti entities es
Metadata Efficiency Ratio What does the average entity have in common with the top entity? – Density measurement of re-use of the accounts accounts and customs customs across all entities top entity children unique custom 1
Metadata Volumes (Americas) Dimension
Average Volume
Recorded High
Comments
Accounts
2 ,1 3 2
1 4 ,4 0 9
Entities
1 ,1 6 5
2 2 ,8 8 2
16
23 3
Custom1
3 88
1 9 ,4 1 0
use Custom 1 96%
Custom2
1 53
1 5 ,1 8 8
use Custom 2 86%
Custom3
61
2 6 ,8 1 6
use Custom 3 86%
Custom4
39
1 1 ,3 8 9
use Custom 4 62%
Scenarios
11
78
3
24
ICP Accounts with Plug
41
1 ,2 2 3
use automated intercompany matching 56%
Accounts with Line Item Detail
36
1 ,6 6 7
16% use this, but only 10% have more than 1 account flagged
Consolidation Rules
-
-
Consolidation methods
5
10
Currencies
Entity hierarchies
OrgByPeriod ICP Members
use only
1 currency 30%
the equivalent of Organizations in Hyperion Enterprise
use consolidation rules 28% use methods 14% use organization by period 9%
86
1 ,4 0 7
track intercompany activity 81%
Entities flagged for Parent Adjs
14 3
7 ,6 9 8
Allow [Parent Adj] or [Contribution Adj] journals30%
Scenarios using Process Mgmt
5
53
use process management 46%
Data
What’s a Subcube? • HFM dat ata a structu cture • Data Databa basse tab tablles stor stored ed by – Each record contains all periods for the [Year] – All records for a subcube are loaded into memory together
Parent subcube, stored in DCN tables Currency subcubes, stored in DCE tables
Take it to the Limit Reports, Grids, or Forms that: – Pull lots of entities – Lots of years – Lots of scenarios
Not so problematic: – Lots of accounts – Or Custom dimension members
Smart View – Cell volume impacts bandwidth – Subcubes impact server performance
HFM Urban Legends • 100, 100,00 000 0 rec recor ords ds per per subc subcub ube e • Incr Increas ease e MaxN MaxNum umDat DataRe aReco cord rdsI sInRA nRAM M = bett better er performance • 500 500 chi children dren to a aren arentt • Syst System em 9 allo allows ws an an unli unlimi mite ted d sub sub cube cube siz size e • Custom Customss shou should ld be ordered ordered larges largestt to smalles smallestt • Limi Limitt to to the the Acco Accoun untt dim dimen ensi sion on dept depth h • 64 bit is faster (this requires some explanation)
Data Design
“Metadata volume is interesting, but it’s how how you • Density • Content – Specifically: zeros – Tiny numbers – Invalid Records
it that matters matters most”
Data Volume Measurement • No pe perfect me method Method
How-To
Pros
Cons
Data Extract
Extract all data, count per entity
Simple, easy to see input from calculated
Can only extract
FreeLRU
Parse HFM event logs
Good sense of average cube, easy to monitor monthly growth
Can’t identify individual cubes, harder to understand
Database Analysis
Query DCE, DCN tables and count
Easy for a DBA, see all subcubes
Doesn’t count dynamic members, includes invalid records
Data Density Using FreeLRU • Surv Survey ey of of data data den densi sity ty usi using ng Free FreeLRU LRU meth method od Number of applications reviewed: 32
NumCubesInRAM NumDataRecordsInRAM NumRecordsInLargestCube Average records per cube Average metadata efficiency: average average cube/densest cube
Average
Min
Max
10,206
Median
ABC Customer
2,672
72
1,345
577
1,502,788
247,900
5,627,748 1,170,908
1,107,614
86,415
2,508
593,924
53,089
31,446
6,309
24
91,418
1,352
2,288
7.3%
0.3%
39.7%
3.4%
7.3%
Loaded Data • What What perc percen entt of the the loa loade ded d data data is is a zero zero val value ue? ? – No hard rule, but -1 and < 1 % values > -1 and < 1
2,031,976 Total 18,024 Calculated zeros 0.9% % zeros calculated at base 373,226 Values > -1 and < 1 calculated 18.4% % values > -1 and < 1 calculated
4,387,520
116 %
413,837
2,196 %
9.4% 593,981 13.5%
59 %
Effect of Sparsity on Record Volume • Most Most dense dense data data is is at at the the top top ent entit ity y – Greatest number of populated intersections (account _ custom 1..4 combinations)
Consolidated Data • Tota Totall vol volume ume of of dat data a in in any any subcube • How How man many y zer zeros os are are gene genera rate ted d by the consolidation process? – Intercompany eliminations
Consolidated Base Records
Total
991,587
Consolidated zeros
194,204
% zeros Values > -1 and < 1 % values > -1 and < 1
– Allocations – Empty variables
Consolidated 19.6%
Calculated 9.4% Loaded 0.9%
19.6% 84,251 8.5%
Data Density Calc Time Average Average Rule Execution Time in i n Contrast with Data Volume 900
2.500
800 2.000
700 600 s d r o c e R
1.500 500 400 1.000
s d n o c e S
300 200
0.500
100 -
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
correlation between density and calc times • Most Most appli applicat catio ions ns are rule ruless bou bound nd
Invalid Records • Type Type 1: 1: Orphaned records from metadata that has been deleted – Member is removed from dimension_Item table, but not from the data tables – These can be removed b Database > Delete Invalid Records
• Type Type 2: 2: the member still exists, but is no longer in a valid intersection – Most often from changing CustomX Top Member on an account – These cannot be removed by HFM, but are filtered out in memory
Chris Barbieri
[email protected] ee
am, USA
+1.617.480.6173 www.ranzal.com