Assignment example: Seeding data

Seeding rules are often used to create baseline data for estimating and forecasting, or to create a starting point from which to revise and review data. For example, a forecast can be seeded with budget data for the same period, or seeded with actual data from the prior period.

A typical seeding rule is expressed in the following pseudo-formula:

   {Dimension_Set},
   {Destination_Scenario},
   {Destination_TimePeriod}
 = 
   {Same_Dimension_Set},
   {Source_Scenario},
   {Source_TimePeriod}

Sometimes the seeding calculation includes an optional multiplier.

destination = {Same_Dimension_Set},
         {Source_Scenario},
         {Source_TimePeriod} * VALUE

Where VALUE might be a factor such as a five percent decrease or increase.

Alternatively, the seeding calculation might use a PEL function such as Avg (PEL).

destination = AVG(
         {Same_Dimension_Set},
         {Source_Scenario},
         {Source_TimePeriod} 
        );

The following topics provide examples of two seeding scenarios. The examples are based on an imaginary situation in which a company owns resorts in several different countries.

  • Forecast scenario to seed costs

  • Actual costs to seed monthly budgets

Forecast scenario to seed costs

The following example uses the forecast scenario to seed costs for all resorts for month 10 in 2004. The source data for the forecast seeding is calculated by using the Avg (PEL) function, which computes the average actual cost of the previous nine months of the same year.

 // Dimesnion set specified by SCOPE expression
 //
SCOPE(
// Destination dimension set
     [BusinessProcess].[Standard].[INPUT],
     [Currency].[All Members].[USD],
     [Entity].[ResortOps].[Resort Corp],
     [ParentEntity].[All Members].[Resort Mgt],
// Destination scenario
     [Scenario].[All Members].[Forecast],
 // Destination time period, range of one month
     [Time].[Monthly].[Month 10 Year 2004]
     );
 //
 // Source Scenario is Actual
 // SourceTime period is 9 months
 // Seeding uses Avg function to average actual costs 
//
   THIS = Avg( 
// SourceScenario
      [Scenario].[All Members].[Actual] 
// Source Time
      [Time].[Monthly].[Month 1 Year 2004]:[Time].[Monthly].[Month 9 Year 2004]
      );
END SCOPE;

Actual costs to seed monthly budgets

The following example seeds the monthly budgets for all resorts in 2005 based on the actual costs from the previous year. This example uses the CurrentMember (PEL) function.

SCOPE(
     [BusinessProcess].[Standard].[INPUT],
     [Currency].[All Members].[USD],
     [Entity].[ResortOps].[Resort Corp],
     [ParentEntity].[All Members].[Resort Mgt],
// Destination Scenario
     [Scenario].[All Members].[Budget],
// Destination Time
     [Time].[Monthly].[Month 1 Year 2005]:[Time].[Monthly].[Month 12 Year 2005]
);

   THIS = (
// Source Scenario
     [Scenario].[All Members].[Actual]
// Source Time
     [Time].[Monthly].CurrentMember.Lag(12)
 // Finds CurrentMember in specified time hierarchy, then 
 // lags 12 months to previous year
 // Sets destination cell to actual cost of corresponding month 
 // in previous year of 2004
 // 
      );
END SCOPE;

See Also

Reference

CurrentMember (PEL)
Lag (PEL)