You are on page 1of 50

Improving Forecasts With Allocations In Hyperion Planning / Essbase

Michigan Oracle Users Summit 2012 November 14, 2012

Presentation Outline
Introductions
Steve Light & the ClearLine Group

Allocations
Where allocations fit into forecasting Overview of Hyperion allocation options Allocations in a real rolling forecast

Q&A

2011 ClearLine Group, L.L.C.

INTRODUCTIONS

2011 ClearLine Group, L.L.C.

Steve Light
Director in ClearLines Hyperion Practice 17 years experience with Hyperion Products
Started on Essbase 3 and certified on 4, 5, 6, 7, 9.0, 9.3, & 11 Beta tester for ASO on 7.1 and worked with 7x & 9x Hyperion Planning 2, 4, 9.3, and 11 (Classic & EPMA) Analyzer / Web Analysis, Financial Reports

Worked on 59 different projects at 43 companies Industries


Aviation, Banking, Consumer Products, Financial, Health Care, Insurance, Manufacturing, Retail, Pharmaceutics, Publishing, Telecom, and Transportation
2011 ClearLine Group, L.L.C. 4

Overview of ClearLine Group


Boutique consulting firm of highly experienced Hyperion EPM experts
Core team has a deep history of success working together for over 12 years. Pioneers consulting in the Hyperion technologies
Backgrounds blend industry and consulting experience

Breadth of skills from expert level advisory, executive visioning and project management to hands-on architecture and implementation All full-time employees, focused on the long-term success of the firm ClearLine provides a consistent source of high caliber experts who leverage the collective experience of our group to deliver superior results

2011 ClearLine Group, L.L.C.

Provide customers with end-to-end services


Services range from initial visioning / roadmap process to project oversight and advisory to full implementation and production support services.

2011 ClearLine Group, L.L.C.

WHERE ALLOCATIONS FIT INTO FORECASTING

2011 ClearLine Group, L.L.C.

What is an allocation?
It is a system of dividing expenses and incomes among the various branches and departments of a business.

2011 ClearLine Group, L.L.C.

Business Samples
Allocating costs across
Often used for driver based cost components in rolling forecasts Manufacturing costs (e.g. electricity) could be allocated to lines based on equipment type and volume

2011 ClearLine Group, L.L.C.

Business Samples
Allocating high level forecasts down
High level values being pushed down to detailed plans
Top Down Middle Out

Most of this presentation is focused on this type of allocation


2011 ClearLine Group, L.L.C. 10

Allocations & Forecasting


Level 4 Level 3 Level 2 Level 1 Level 0 Bottom Up forecasting starts at the 0 level and aggregates up.
Simple system with no allocations Large amount of data entry Not as accurate as people think
User may allocate off line with reduced accuracy Users might enter lump sums can cause calculation and reporting issues. Higher volume of data entry will lead to more user input errors
2011 ClearLine Group, L.L.C. 11

Allocations & Forecasting


Level 4 Level 3 Level 2 Level 1 Level 0 Top Down forecasting starts with a single top level number and allocates down to the 0 level A fast and simple process with allocations Very little data entry Good for an assigned goal Detailed levels may be less accurate than desired when poorly designed
2011 ClearLine Group, L.L.C. 12

Allocations & Forecasting


Level 4 Level 3 Level 2 Level 1 Level 0 Middle Out forecasting can start at any level in between Flexible real world forecasting with allocations Usually more accurate Often less work for the users than Bottom Up forecasting

2011 ClearLine Group, L.L.C.

13

Allocations & Forecasting


Level 3 Level 2 Level 1 Level 0 Waterfall allocation starting at the level picked by the end user In this example the user decided to start at level 3 Fills in the levels below Adjustments can be made at the current level or lower levels

2011 ClearLine Group, L.L.C.

14

Allocations & Forecasting

Level 0 Complete all 0 level calculation (if any) after the allocation is complete NOTE: some applications may not need any 0 level calculations

2011 ClearLine Group, L.L.C.

15

Allocations & Forecasting


Level 4 Level 3 Level 2 Level 1 Level 0 Aggregate the cube to roll up all of the data for the total. Calc All, Calc Dim, Agg The user can repeat the process at any level with adjustments as many times as necessary

2011 ClearLine Group, L.L.C.

16

OVERVIEW OF HYPERION ALLOCATIONS OPTIONS

2011 ClearLine Group, L.L.C.

Numerous Allocation Options


Oracle has provided a lot of different ways to allocate data within the Hyperion products There are also third party options You need to pick the right tool for the job
What is important to your project?
Upper level writes Audit trails Allocating down verses across Calculation complexity verses large data volumes In memory verses directly impacting data in the cube

Do you already own something that can do the job?


2011 ClearLine Group, L.L.C. 18

Built-in Options for Hyperion Planning


Adjusting & Spreading Data
Hyperion Planning web form feature Adjust either individual or multiple data cell values up or down by a percentage or by a specific amount Security lets users only adjust cells with write access Date and text values are automatically excluded Further flexibility by utilizing cell locking
Temporarily lock cells while Hyperion Planning calculates and spreads the results into the unlocked cells within the range

Users are given the opportunity to evaluation the new values before sending the data to the database
2011 ClearLine Group, L.L.C. 19

Built-in Options for Hyperion Planning


Time Spreading
Hyperion Planning web form feature Allows data to be entered at a high level instantly allocated
Spreading data based on a proportional allocation of existing values Spreading week level based on i.e. 454, 445, 544, or None

Adjusts for Time Balance Security lets users only adjust cells with write access Further flexibility by utilizing cell locking
Temporarily lock cells while Hyperion Planning calculates and spreads the results into the unlocked cells within the range

Users are given the opportunity to evaluation the new values before sending the data to the database
2011 ClearLine Group, L.L.C. 20

Built-in Options for Hyperion Planning


Grid Spread
Grid Spread must be enabled as a data form property Specify an amount or percentage to change values on the data form Selectable spreading patterns (Proportional, Even Split, & Fill) Can see results immediately on the data form Can save the new data or discard it. Ignores read-only, locked cells, and cells having supporting detail. Data integrity is safeguarded by spreading values only to cells that you have access to.
2011 ClearLine Group, L.L.C. 21

Built-in Options for Hyperion Planning


Mass Allocation
Need Mass Allocate role assigned Shared Services and the Mass Allocate data form property must be enabled Spreads data even to cells not displayed on the data form Allocates data to all the source cell's descendants Allocates across multiple dimensions Allocate from either a subtotal cell or total cell Uses dynamically-created calculation scripts Customized spreading patterns Does not require that you have access to the target cells Cannot be undone after you mass allocate values
2011 ClearLine Group, L.L.C. 22

Oracle Essbase ASO


Oracle Essbase ASO allocations
Added in Oracle Essbase Release 11.1.2 This is GREAT when it fits your needs
Scale up the size of the database Allows simple allocations to run with great speed Allocations any level in the databases dimension hierarchies Spread evenly or as a percent of total Runs within MaxL or in the API Results use ASOs temporary data load buffers

Keep in mind ASO database allocations are not quite as flexible as BSO allocations
Write back only at the level 0 Cannot use relative references to dimension members

2011 ClearLine Group, L.L.C.

23

Hyperion Profitability & Cost Management (HPCM)


Provides actionable insights into costs and profitability Drives performance by discovering drivers of cost & profitability Visible maps and audit trails on business drivers to improve resource alignment with allocations Complete complex calculations and still scales Flexibility and visibility to accurately allocate values Allocation engine supports a wide range of methodologies Graphical traceability maps and data lineage User-defined business rules Robust ability to distribute indirect costs and project based allocations
2011 ClearLine Group, L.L.C. 24

Third Party Tools


PACE
Robust and easy to use 3rd party tool for Essbase BSO In-memory engine built to extend Essbases spreading and allocation functionality Rapid calculation with advanced what-if modeling Data is only written back to the database when the planner decides that it ready to send Pace includes additional features like:
n-Dimensional Locking-and- Spreading Built-in Business Logic Inverse Calculation Logic for multiple targets Multi-Dimensional Web- Enabled Spreadsheet
2011 ClearLine Group, L.L.C. 25

Calculation Script Definition


Oracle Essbase BSO Calculation Scripts and Hyperion Business Rules
Easier than a lot of people think Allocations let you to distribute values that are at the parent level across child members. Allocations are based on a number of criteria that can be expressed in the following functions. @ALLOCATE a single dimension @MDALLOCATE across multiple dimensions
2011 ClearLine Group, L.L.C. 26

@ALLOCATE
Oracle Essbase Technical Reference Syntax: @ALLOCATE (amount, allocationRange, basisMbr, [roundMbr],method [, methodParams] [, round [, numDigits][, roundErr]]) Required Parameters: Amount what you want to allocate AllocationRange where you want to allocate to Method how the allocation works BasisMbr provides the Method with a pattern

Optional Parameters: MethodParams addition options on how the Method will work

2011 ClearLine Group, L.L.C.

27

@ALLOCATE
Oracle Essbase Technical Reference Syntax: @ALLOCATE (amount, allocationRange, basisMbr, [roundMbr],method [, methodParams] [, round [, numDigits][, roundErr]]) Optional Rounding Parameters: RoundMbr where rounding errors are added Round turns it on and specifies the member NumDigits specifies decimal places to round to RoundErr specifies how you deal with rounding errors

2011 ClearLine Group, L.L.C.

28

@ALLOCATE Sample
Allocation the volume from products to its children, based on the current years Final Plan, skipping both zero and #missing values. Amount (what) current member of the products AllocationRange (where) the children of the of that products BasisMbr (pattern) based on the current years final plan Method (how) spread MethodParams skip both zeros and missing values

Plan = @ALLOCATE ((Product),@CHILDREN (Product), Plan->FY12->Final,, SPREAD, SKIPBOTH);

2011 ClearLine Group, L.L.C.

29

@MDALLOCATE
Oracle Essbase Technical Reference Syntax: @MDALLOCATE (amount, Ndim, allocationRange1 ... allocationRangeN, basisMbr, [roundMbr], method [, methodParams] [, round [, numDigits] [,roundErr]]) Additional Required Parameters: Ndim the number of dimensions you want to allocate to AllocationRange(s) the dimensions you want to allocate to

2011 ClearLine Group, L.L.C.

30

ALLOCATIONS IN A REAL ROLLING FORECAST

2011 ClearLine Group, L.L.C.

Overview Of A Real System


Major consumer products company
Worlds 6th company in their industry Marketed in more than 100 countries Over $16 billion in net sales Over 30,000 employees Built in Essbase BSO Rolling forecasts for volume Multiple different divisions combined into a single corp view Upper level user adjustments 300 users
2011 ClearLine Group, L.L.C. 32

Forecasting application

Basic Features
4 years of weekly volume data for 30,000 SKUs Fully automated processing of historical data with built in error checking and email alerts On the fly conversions for Scaling & Currency 0 Level conversions pounds & other units of measure Rapid calculation.
Company wide allocations in minutes All other calculations in seconds!

5 versions for each of the 15 forecast scenarios


2011 ClearLine Group, L.L.C. 33

Advanced Features
Transparent Partitions
Improve performance Simplifies calculations and security

Waterfall allocations with starting levels controlled by individual end users Allows for multiple types of forecasting allocations
Bottom Up , Top Down, and Middle Out

End user controls forecasts source, level, and percent growth/decline via simple flags End user overrides at any forecast level Iterative what if process quickly restates all products for an entire companys forecast
2011 ClearLine Group, L.L.C. 34

Forecast Process
Set the run time prompts for the set up and variables with Business Rules and the HBR Launcher
Determine Source For the forecasts BasisMbr Product Level Top Down, Bottom Up, or Middle Out Percent Growth/Decline
NOTE: This can work using flag members and fix statements in calc scripts if you are not using Business Rules with run time prompts

Run the set up business rule


Clears old data in the forecast Rolls current actual data into history forecast periods Populates a starting point for the forecast based on variables
2011 ClearLine Group, L.L.C. 35

Business Rule & Run Time Prompts

2011 ClearLine Group, L.L.C.

36

Forecast Process (cont)


Run the aggregation (Optional Step)
Rolls up data to the top of the cube Can be used for a high level forecast

Run the allocation


Allocates from level defined by the flag to lowest level Automatically switches allocation logic between Percent Of Total and Even Spreading based on data patterns Identifies discontinued SKUs, maintained for history, and ignores them during the allocation Completes stored conversion at the 0 level (if required) Aggregates all unit conversions to the top of the cube
2011 ClearLine Group, L.L.C. 37

Process Overview
Typical Monthly Forecast Flow
No

Begin Forecast Process

Run Set Up

Accept Starting Point


Yes

1st optional what if area

Run Aggregation

Accept Forecast Data


No

Yes

2nd optional Run what ifAllocation area

Accept Forecast Data


No

Yes

Copy to 3rd optional Appropriate what if area Version

Lock & Send Adjustments

Lock & Send Adjustments

End Forecast Process

2011 ClearLine Group, L.L.C.

38

Intelligent Logic Switching


Determine source, level, and % change for the October Estimate (e.g. 10% growth of Spring Plan at level 1) The allocation starting point is created Members without history can be manually entered and adjustments can be completed Allocation process starts
Identifies discontinued products at all level of the product hierarchy that are being maintained for history Percent of total based on source Even spread when there is no source The unit conversions are completed and the division forecast is aggregated
39 2011 ClearLine Group, L.L.C.

OK What Happened!?!
Hyperion Business Rule Overview
Used the basic @Allocate function Leverages a lot of features
Fixes and Ifs
Control levels Optimization

Substitution Variables and Run Time Prompts


Avoids Hardcoding and remove maintenance Collect user input to drive process

UDAs
Tags discontinued SKUs
2011 ClearLine Group, L.L.C. 40

OK What Happened!?!
Hyperion Business Rule Overview
Tuning the calculation
Minimized the passes through the cube Reduced the number of blocks called into the cache

Automation
Attached to Web Forms (if using Hyperion Planning) Simple relational database to generate and run MaxL scripts based on the system date for all of the variables Can run on the fly and scheduled

2011 ClearLine Group, L.L.C.

41

Break It Down
Allocate the volume from the current member of products to its children based on the Spread member of the current years final spring plan with a spread that skips both zeros and missing values. Amount (what) current member of the products AllocationRange (where) the children of the of that products BasisMbr (pattern) based on the Spread member of the current years final plan Method (how) spread MethodParams skip both zeros and missing values &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")),"Spread"->"Spring Plan"->"Final"->&CY,, SPREAD, SKIPBOTH);
2011 ClearLine Group, L.L.C. 42

What does the calc look like?


FIX (&CYPlus1, &VarPlan,"Working",(@LEVMBRS ("Sales Channel", 0) FIX (@LEVMBRS ("Product", 4)) ("EQC" (IF (([Level Flag] == 4) AND ([Source Flag] == 3) AND (@ISMBR(&VarPlan) AND @ISMBR("Spring Plan")) IF (@MDSHIFT(@CURRMBR ("Product"), -4, "Measures" , 0, "Fiscal Year", , 0, "Scenario",)) <> #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CYPlus1,,share); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CY,,share); ENDIF ELSEIF (@MDSHIFT(@CURRMBR ("Product"),-4, "Measures", 0, "Fiscal Year", , 0, "Scenario",)) == #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CYPlus1,, spread, skipboth); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CY,, spread, skipboth); ENDIF ENDIF ENDIF)) ENDFIX ENDFIX

2011 ClearLine Group, L.L.C.

43

And what does that mean?


FIX (&CYPlus1, &VarPlan,"Working",(@LEVMBRS ("Sales Channel", 0) FIX (@LEVMBRS ("Product", 4)) ("EQC" (IF (([Level Flag] == 4) AND ([Source Flag] == 3) AND (@ISMBR(&VarPlan) AND @ISMBR("Spring Plan")) IF (@MDSHIFT(@CURRMBR ("Product"), -4, "Measures" , 0, "Fiscal Year", , 0, "Scenario",)) <> #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CYPlus1,,share); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CY,,share); ENDIF ELSEIF (@MDSHIFT(@CURRMBR ("Product"),-4, "Measures", 0, "Fiscal Year", , 0, "Scenario",)) == #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CYPlus1,, spread, skipboth); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CY,, spread, skipboth); ENDIF ENDIF ENDIF)) ENDFIX ENDFIX

2011 ClearLine Group, L.L.C.

44

And what does that mean?


FIX (&CYPlus1, &VarPlan,"Working",(@LEVMBRS ("Sales Channel", 0) FIX (@LEVMBRS ("Product", 4)) ("EQC" (IF (([Level Flag] == 4) AND ([Source Flag] == 3) AND (@ISMBR(&VarPlan) AND @ISMBR("Spring Plan")) IF (@MDSHIFT(@CURRMBR ("Product"), -4, "Measures" , 0, "Fiscal Year", , 0, "Scenario",)) <> #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CYPlus1,,share); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CY,,share); ENDIF ELSEIF (@MDSHIFT(@CURRMBR ("Product"),-4, "Measures", 0, "Fiscal Year", , 0, "Scenario",)) == #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CYPlus1,, spread, skipboth); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CY,, spread, skipboth); ENDIF ENDIF ENDIF)) ENDFIX ENDFIX

2011 ClearLine Group, L.L.C.

45

And what does that mean?


FIX (&CYPlus1, &VarPlan,"Working",(@LEVMBRS ("Sales Channel", 0) FIX (@LEVMBRS ("Product", 4)) ("EQC" (IF (([Level Flag] == 4) AND ([Source Flag] == 3) AND (@ISMBR(&VarPlan) AND @ISMBR("Spring Plan")) IF (@MDSHIFT(@CURRMBR ("Product"), -4, "Measures" , 0, "Fiscal Year", , 0, "Scenario",)) <> #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CYPlus1,,share); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CY,,share); ENDIF ELSEIF (@MDSHIFT(@CURRMBR ("Product"),-4, "Measures", 0, "Fiscal Year", , 0, "Scenario",)) == #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CYPlus1,, spread, skipboth); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CY,, spread, skipboth); ENDIF ENDIF ENDIF)) ENDFIX ENDFIX

2011 ClearLine Group, L.L.C.

46

And what does that mean?


FIX (&CYPlus1, &VarPlan,"Working",(@LEVMBRS ("Sales Channel", 0) FIX (@LEVMBRS ("Product", 4)) ("EQC" (IF (([Level Flag] == 4) AND ([Source Flag] == 3) AND (@ISMBR(&VarPlan) AND @ISMBR("Spring Plan")) IF (@MDSHIFT(@CURRMBR ("Product"), -4, "Measures" , 0, "Fiscal Year", , 0, "Scenario",)) <> #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CYPlus1,,share); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CY,,share); ENDIF ELSEIF (@MDSHIFT(@CURRMBR ("Product"),-4, "Measures", 0, "Fiscal Year", , 0, "Scenario",)) == #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CYPlus1,, spread, skipboth); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CY,, spread, skipboth); ENDIF ENDIF ENDIF)) ENDFIX ENDFIX

2011 ClearLine Group, L.L.C.

47

And what does that mean?


FIX (&CYPlus1, &VarPlan,"Working",(@LEVMBRS ("Sales Channel", 0) FIX (@LEVMBRS ("Product", 4)) ("EQC" (IF (([Level Flag] == 4) AND ([Source Flag] == 3) AND (@ISMBR(&VarPlan) AND @ISMBR("Spring Plan")) IF (@MDSHIFT(@CURRMBR ("Product"), -4, "Measures" , 0, "Fiscal Year", , 0, "Scenario",)) <> #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CYPlus1,,share); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Share"->"Spring Plan"->"Final"->&CY,,share); ENDIF ELSEIF (@MDSHIFT(@CURRMBR ("Product"),-4, "Measures", 0, "Fiscal Year", , 0, "Scenario",)) == #Missing) IF(NOT (@ISMBR("Jan") AND @ISMBR(&HBOPEN_MTH))) &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CYPlus1,, spread, skipboth); ELSE &VarPlan = @ALLOCATE(@CURRMBR ("Product"),@CHILDREN (@CURRMBR ("Product")), "Spread"->"Spring Plan"->"Final"->&CY,, spread, skipboth); ENDIF ENDIF ENDIF)) ENDFIX ENDFIX

2011 ClearLine Group, L.L.C.

48

2011 ClearLine Group, L.L.C.

49

ClearLine Group, L.L.C. 250 Parkway Drive Suite 150 Lincolnshire, IL 60069

Online: slight@clearlinegroup.com www.clearlinegroup.com

Call: 855.ClrLine (855.257.5463)