How to Collect Budget Data Across 20-30 Dimensions Curtis P. Neumann, AT&T 1
Transcription
How to Collect Budget Data Across 20-30 Dimensions Curtis P. Neumann, AT&T 1
How to Collect Budget Data Across 20-30 Dimensions Curtis P. Neumann, AT&T 1 Agenda • • • • • • Introduction Problem Initial Solution Final Solution Tips and Tricks Conclusion 2 Intro: Mergers and Financial Process Synergies • Mergers create opportunities to review financial processes and determine cost synergies. • Antiquated financial processes don’t meet the increasingly demanding and technology savvy financial users. • My role at AT&T Finance is to spearhead opportunities to use System 9’s capabilities to add value by converting outdated financial software tools and processes into “Best Practice” states. • Getting more granular detail to decision makers quicker allows them to make important operational decisions sooner, thus capitalizing on opportunities to grow profits. • Our budgeting and reporting systems are centralized into a group called MR2020 (Management Reporting 2020). 3 Intro: New Opportunities to Migrate off Finance “One Offs” • In many cases, acquired companies have similar processes as the acquiring company. – AT&T Inc. was formed in 2005, when "Baby Bell" SBC Communications Inc. purchased former "Ma Bell" AT&T Corporation. – Although Ma Bell had great products, there was less attention spent on best practice budgeting and reporting practices. – At Ma Bell, several financial processes were built on large MS Access databases and numerous Excel applications. – The “Single Version of the Truth” principle is important. • One-Off verses Central Reporting – Timing Issues – Definition Differences – Incomplete Data 4 Intro: Interested in Migration Projects? • This presentation deals with the specific need to migrate from a very sparse (detailed) data set in a relational database to Hyperion Planning, an OLAP planning tool. • A textbook design in Hyperion Planning won’t always accomplish this migration requirement, if the relational database has more than 20 dimensions. • I will detail an example of this instance. 5 Problem: Ma Bell Product Forecast Needs and the Legacy Process • The Ma Bell subsidiary that was merged into SBC in 2005 is now called the AT&T Business Solutions (ABS) Unit. • Various ABS organizational financial modelers need to forecast these products volumes and their characteristics in order to perform: – – – – Operations Expense Forecasts Capital Spending Forecasts Product Profitability Analysis A feed of ABS products into the AT&T Consolidated Budget Solution (CBS) –“Single Version of the Truth” • A “home grown” web tool connected to an MS Access database was the process used to gather, approve and report out on forecasted product volumes. This was the legacy process, called the ABS Volumes Database (VDB). 6 Problem: The Legacy Volumes Database (budgeting) Requirements • • • A process to gather volumes around the business was the primary need in order to provide data modelers input data to load their driver based models. The original budget volumes gathering process had the following objectives: – Users needed to load data to standard templates easily prepared in Excel. Provide different levels of security for administration related tasks. – A process to create high level target volumes that volume suppliers could use as a guide to submit lower level detail. – A template submission and approval process. – A repository that could hold very sparse data across 21 or more fields. – A reporting process that could summarize the volumes collected and provide lower levels of detail. – Overall, the process had to be fairly dummy-proof and repeatable every quarter. The process did not need to: – Run any calculations during the template data input task, except rollup of months to a total year column where necessary. – No immediate reporting of totals across templates. A process could be run manually to create total reports. 7 Problem: The Legacy Volumes Database (budgeting) Process • At the time the Volumes database was built, there were no licensed software programs that could meet all the requirements. • Therefore, an existing process management website was used in combination with a MS Access database. • Templates included: – Year, Period – Network – Scenario – Driver – Version – Speed – Template_ID (Enitity) – Period_Activity – Legal_Entity – Hand_Off_Group – Accounts – Template_Type – Common Bus Language (CBL) – Row Number – Region – Service_code – Business_Unit – NPSC - (Product Code) – Geo_Market, Sides 8 Problem: The Legacy Volumes Database Process (Figure 1) • To manage the submission process, a web-based (userinterface) budgeting process management tool was used to enable various forecasting tasks and reports. The process included: Web Based Process Management for Forecast Templates High Level Templates 3 2 Planners Submit Template Approve or Reject (emails) 4 Low Level Templates Targets 1 Blank Low Level Template w/ Targets Approved Low Level Templates VDB (MS Access) Forecast 1. The creation of high level 5 Aggregation targets to be submitted via high level Excel templates Pivot Table into a relational database Reports Supervisor Review (VDB repository). 2. The on-demand creation of 6 blank low level templates with high level targets. Figure 1. Legacy Volumes Database Collection Process 3. Completed low-level template submissions for 5. Approved low-level template loading to a approval. relational database (MS Access) for storage. 4. Supervisor approval or 6. Reporting of historical and forecasted data rejection paths with email utilizing static pivot tables in Excel sourced alerts. from the relational database. 9 Problem: Why a New Solution was Needed • After the Ma Bell merger, IT was reshuffled and the developer maintaining the solution was reassigned. This is a risk of “One-Offs”. – Because they are not part of a centralized set of tools that are maintained by a group of IT professionals. When the only developer maintaining the customized solution departs, all of a sudden the process becomes unsustainable. – In addition, this process was identified as a synergy project that needed to be halted to reduce expenses. • It took several people to maintain the templates, train the sixty users, change the MS Access scripts and tables, and maintain the website. This multi-vectored process significantly increased the cost to run the process verses a self contained off-the-shelf-solution. • As we studied the legacy process, it became apparent that there was a packaged solution that could perform the same functions. Better yet, we believed we could cut the cost by half and maintain a better process. That solution we recommended was Oracle Hyperion Planning 9.3.1. We started working on this solution in February 2008. 10 A First Attempt at a Textbook Hyperion Planning Application • By coincidence, the Oracle Hyperion Planning architecture resembled the legacy VDB process in that there was a web-based workflow management module and a separate link to a database. • Hyperion Planning is very similar, except that the data repository is a BSO cube, not a relational database. Figure 2 illustrates the high level system architecture of Hyperion Planning: Data Form Input Thru SmartView Submisson / Reporting Hyperion Planning Web Server Relational Tables Submission Data Form Reporting Oracle Tables Push O utline & Securi ty Planning Submit Essbase BSO Data Form Database Reporting Tier Figure 6 Figure 2. Oracle Hyperion Planning 9 Architecture 11 Essbase Scale Limitation • Having built several BSO cubes previously, my first concern was to test the calculation time of a BSO cube (plan type) with 20 dimensions, the allowed limit. • Before going to Hyperion Planning, we proceeded to build a BSO cube with 15 dimensions, including the NPSC (product) dimension which had 1,000 level zero members. • We loaded test data to the Essbase test cube and started a simple default calculation. Basically, we were testing the scalability of this very sparse (detailed) dataset by aggregating it. Did it finish calculating? We don’t know, because I stopped the calculation after three hours. • It became clear to us, that our outline was simply creating too many potential blocks. There were few optimization steps remaining after we set Accounts, Period and Year to dense storage settings. We were also using four processors, so that should have provided enough horsepower. 12 Multiple Plan Type Option • We did look at the idea of using more than one plan type (cube), because up to three plan types are allowed per Planning application. • But, that didn’t seem like a good idea when we thought about how the data forms would need to be set up. It would have been more work for the inputter to potentially have different forms. • Also, the plan types would need to be consolidated using partitioning. Trying this with a replicated partition using the same outline achieves little from the original approach. We would have ended up with lots of sparse volumes data in one cube with the need to roll it up. • We didn’t explore the use of transparent partitions either, because the retrieval times would have been unacceptable, if we could get it to work. 13 Initial Conclusion and Next Steps • Our initial conclusion was that we could not use Hyperion Planning for a “textbook” application that required more than 15 to 20 stored dimensions, depending on the number of members per dimension. • After realizing this, we needed some help. I called my colleague, Chris Werle of Key Performance Ideas (KPI). • He and his team met with me and came up with a very unique and innovative solution utilizing Hyperion Planning that captured data and reported it out into one cube with 21 stored dimensions. 14 Final Solution: Part I of II. Hyperion Planning’s Strength – Collection • • • • Hyperion Planning’s strength is data collection, if Smart Lists are used extensively. This was the main idea that made this project a success. The key here is to utilize the relational table relationships to the BSO cube to store the data intersections. The Smart List intersections are stored as values within the Accounts dimension. Given that capability, the number of possible data intersection combinations has no impact to the stored dimensions in the cube. All that is required are the required stored dimensions and one extra stored dimension we called Row Number. Figure 3 shows the outline in the administration console: However, with this design we could only load to level 0 members. 15 Final Solution: Part I. How does the data form look? • From a user’s standpoint, the form looks like a super model; – No navigation and no flipping of drop downs. – The forms in Smart View were prepared in advance for users to look very close to what the users had under the legacy process. See Figure 4. – The Smart List drop down functionality shown in column C makes changing the intersections a breeze. Normally, users would have to navigate a huge form when this number of dimensions (fields) are involved. 16 Final Solution: Part I. Plan Type Design with Smart Lists • • Looking at the plan type (cube) in Essbase, it definitely looks different. There is virtually no analytic capability available in this cube because the Smart List members are stored as values. Again, all we were trying to do for this part was to store the data, then report it out. For those that are curious about how that data looks, Figure 5 shows a retrieval from Smart View with a connection to the plan type directly, (i.e. direct connection to the Essbase server) thus, no translation of the Smart List ID’s back to the Smart List Labels. 17 Final Solution: Part II. Utilize Essbase for What It Does Best – Reporting • • Once the data was residing in the plan type (cube), we needed to build an Export/Transpose/Load (ETL) process to report it out. KPI advised us to flow the data from Hyperion Planning to an Essbase Aggregate Storage Option (ASO) cube. That translation as done in SQL server. – Utilized the Smart List flat files, used to load the Smart List members into Planning, to convert the data from Smart List ID’s back to the Smart List labels. • From here, we created an ASO cube that could easily hold 21 dimensions of data and loaded the translated (“ETL’d”) data to that ASO cube. See Figure 6. Figure 2 Export data to SQL SQL server convert Smart List ID’s to labels Load to 21 Stored Dims VDB ASO Reporting Cube Figure 6. ETL from Planning BSO cube to ASO Reporting Cube 18 Final Solution: Part II. ASO Reporting Cube • Although, this represents some ETL work, the beauty of this process allows for parents to be represented in the ASO cube. Therefore, we went from a flat structure in the Planning cube to a parent/child hierarchical structure in the ASO cube. Fortunately, this design worked well because there was no immediate need to report aggregated data in Planning. Figure 7 shows the ASO outline in the administration console. • The CBL dimension in Figure 7 has parents at level 1. These are not in the Planning load, but are not required. • It’s certainly possible to extend this beyond 30 dimensions, but I’m not aware of when that would ever be needed. Usually, budget data is collected at a higher level than actual data is reported. 19 Tips and Tricks • Loading Smart Lists from a Flat File – If any one Smart List is more than 100 ID’s, the manual entry process should not be used. With the 9.3.1 version we were using, after ID 200, the refresh time between ID entries took several minutes. So, KPI came up with some SQL loads to the Planning Enumeration table on the Oracle server. This was another fantastic idea and was supported by Oracle. I recommend that Oracle Support be involved in any back end loading. INSERT INTO [HP_???].[dbo].[HSP_ENUMERATION_ENTRY] ([ENUMERATION_ID],[ENTRY_ID],[NAME],[LABEL]) SELECT 6,1,'NA_BU','NA_BU' UNION ALL SELECT 6,2,'S002 ','BCS' UNION ALL SELECT ETC……………… List all 1,000 or more entries here…..GO • What about Budget Data Users that don’t have the Smart View Client? – For this project we were able to create pivot tables into Excel by using Hyperion Financial Reporting to extract the data from Planning and create a raw dump into Excel. Hyperion Financial Reporting converts the Smart List ID’s to labels, so that’s not an issue. 20 – This is a low tech but a practical solution. What Could be Done Differently • Try to Negotiate Fewer Dimensions with the Users • What About Using a Planning (BSO) Plan Type and Not Aggregating It? Some may believe that this could have been accomplished with a BSO cube because there would be no need to aggregate the Planning BSO cube anyway. Here are the following reasons why that would not be practical: – Forms would open very slowly. We’re talking at least several minutes. – Navigation to the appropriate intersections would be slow. Would require lots of scrolling down a large form or selecting page drop downs. – Cube would not be very compact. Lots or irrelevant intersections would exist. – We would have had to ETL this over to an ASO as was done in this solution anyway. • Sometimes different approaches work. We were looking for the least painful route. 21 Conclusion • This presentation drives home the fact that Oracle Hyperion tools are more flexible and scalable than the training classes and administration manual might suggest. • In the case of Oracle’s Hyperion Planning product, the relational table structure and the resulting Smart List capabilities effectively extend the scale capabilities of Essbase. • Look for the BSO to ASO integration capabilities in future versions of Hyperion Planning, as we are working with Oracle to better the product for use by larger customers. • See Appendix A for a diagram of the entire VBD process. • Thank you very much. You may contact me at curtis.p.neumann@att.com or 925/803-6144. If you would like a copy of my Hyperion Solutions 2006 presentation entitled “Hyperion Essbase at AT&T Long Distance: Utilizing Key Aspects to Run Finance in Sixth Gear”, please email me your request. • Key Performance Ideas contact info is as follows: Chris Werle’s Office: 408/960-7400 | Cell: 408/930-6061 or cwerle@keyperformanceideas.com 22 Q&A 23 Recent Updates 1. Moved most customer defined dims to SmartLists, leaving only 7 dims in the HP cube. 2. Thus, for analytics, add ASO cube to get populated with HP data. ATT – MR2000 Finance VDB Migration to Hyperion Planning 9.3.1 Design Proposed by KPI as of 4/10/08 Appendix A Development and Maintenance The remaining 14 custom defined “dimensions” will be stored in Hyperion Planning Oracle repository as This Hyperion Planning 9 solution will leverage both the relational and OLAP storage capabilities of the software to maximize a detailed data collection scope and performance. A total of 21 fields will be set-up. The six required dimensions plus the Row_Number custom defined dimension will be stored in the cube. SmartLists. The SmartList members will be keyed by hand. The cube dimension members will be loaded using HAL. HP Cube Dimension Loading (Task Owner: HP Admin) Dimension Load Flat Files Hyperion Application Link (HAL) Run HAL routines SmartLists Loading (Task Owner: HP Admin) Design and Maintain Web Forms (Owner: VDB Client) Sm artLists Security – Grant Access Website (Owner: Debbie Hutcher son) 1 BU 2 3 4 5 6 7 8 9 10 11 12 13 14 SmartList Flat Files (Outside of HP) Ref Tables Lo About 50 Planners will either use the HP WorkSpace interface or SmartView in Excel to load to the Web Forms. ad VDB Webforms for Planner Forecast Loading (Task: Planners) Table join m PER L of m load, ins anua te l key ad ing Di Web Forms and MR2K Actuals CBL Driver Geography Hand Off Group Legal Entity Netw ork NPSC Period Activity Region Service Code Description Sides Speed Tem plate Type Convert MR2K member names to SmartList Numeric ID’s for loading via Essbase Lock and Send. Hyperion Essbase will not recognize MR2K member names that are in SmartLists. The SmartList member names need to be converted (via SQL) to SmartList ID’s before loading in Essbase. ETL of MR2K Actual Data into VDB Join SmarList Ref tables to MR2K Actuals Data Reporting & Analytics FR maps the Smartlist numeric ID’s back to names. Hyperion Financial Reporting (FR) – Post Load (Task Owner: VDB Client) To maintain a consistent interface for the current 300 users of the VDB process, the VDB solution will port out a complete flat file dump into Hyperion Financial Reporting then saved to Excel. Cannot use SmartView into Excel because the SmartList members will be retrieve as numeric ID’s not the names of the members. This data will then be taken by the VDB client team and pivoted to create a set of pivot tables that exactly match the PMO process In the future, we expect that as users be comfortable with using SmartView, the pivot process will be replaced with simple retrievals of relevant data from an ASO cube, design specifically to meet analytical slice and dice needs. Table Join (Accounts, Time, Period, Scenario, Version, Legal Ent., Row #) pVDB.VDB App. Oracle Relational Repository (HP SmartList tables eg.) Data – SmartList ID’s Converted MR2K–Actual Run Rpt pVDB.VDB Cube Ex p Hyperion Financial Reporting Save as Excel and Create Pivots 300 Users or td ata SQL Server – Join MR2K names to Smartlist tables to get SmartList ID’s Export MR2000 MRVOL data Export HP cube, ETL data and Load to ASO for Analytics (Owner: HP Admin) VDB_ASO Cube Data SQL Server – Join Smartlist ID’s to Ref tables to get SmartList Names b4 loading to VDB_ASO cube Load All 21 fields become dimensions allowing for slicing and dicing on all fields used in HP. Notes: 1) Efficiencies could be gained by allowing a direct feed to the HP SmartList tables. For example, the Service Code Description SmartList table will contain 800 members. To load this via a direct interface with HP will take seconds. To key manually will take several hours. Also to maintain the SmartList tables, will also have to be done by hand including Geography, Period Activity, Hand Off Group, Driver, Network, Side, Speed, NPSC, and Template Type. = Table join 24