Skip to main content

Variance Reporting - How to do it - Part II

In the last post here, we have talked about the basics of Variance Reporting. In this post, we will talk a bit detail about the variances scenarios that fall under two categories that we mentioned in the Part I of this series. 

Exert from the last post

You can categorize the Variance Reporting as
  1. Variance Reporting across Time Periods
  2. Variance Reporting across Scenarios (Actual, Plan, Forecast)
Variance Reporting across Time Periods

Most of the organizations often compare data across Time Periods to know where exactly their stand and how are they progressing.

For Example, a sales organization want to see 
  • How much their sales has increased from Last Quarter/Month
  • What is their revenue when compared to Last Quarter/Month
  • what are the companies expenses when compared to Last Quarter/Month
  • What is the profit margin when compared to Last Quarter/Month
When a company releases their Quarter Results, you might have heard that
  • Our company profits have increased to 19% when compared to Last Quarter
  • Our Sales have increased to 35% when compared to Last Quarter
  • YoY we have an increase of 12% in profits
So, how do we implement in Essbase?

Most of the Essbase/Planning Application will have Scenario Dimension and Scenario is a good candidate to create Variance Reporting Scenarios

So, in general if we want to have all these done in Oracle Essbase, below are the list of comparisons that you would do
  1. Current Month Vs Prior Month (Month On Month Variance)
  2. Current Quarter Vs Prior Quarter (Qtr On Qtr Variance)
  3. Current Year Vs Prior Year (Year On Year Variance)
These should be flexible enough to work at Q-T-D and Y-T-D level and they should also work on any Month/Qtr/Year for which you want to retrieve the data.
 At times, you might want to see just the variance of Current Year YTD with Previous Year Closing Balance mostly for Balance Sheet Accounts. 

Let's go a bit deep and see how your Formula would like for the Variance Scenarios
Make sure that you categorize your Hierarchies for better understanding. This is how my Scenario Dimension looks like

Scenario
    Actual Scenarios
    Plan Scenarios
    Variance Scenarios
        SCN_CM_Vs_PM (Curr Mth Vs Prior Mth) (~)
        SCN_CQ_Vs_PQ (Curr Qtr Vs Prior Qtr) (~)
        SCN_CY_Vs_PY (Curr Year Vs Prior Year) (~)

Current Month Vs Prior Month (Month On Month Variance)
Let's name the Scenario as SCN_CM_Vs_PM (Curr Mth Vs Prior Mth). This would be a Dynamic Calc member (In ASO, this member would fall under a Dynamic Hierarchy) with a Formula on it.

IF(@ISMBR("Jan"))
/* For Jan, You might want to take the last Year Dec as prior month */

      "Actual"->"Jan" - @PRIOR("Actual"->"Dec",1,"Years") 
ELSE
/* @LEVMBRS("Period",0) is an optional parameter. By Default, it will take level0 members of the Period Dimension (Dimension tagged as Time) */
      "Actual" - @PRIOR("Actual",1,@LEVMBRS("Period",0))
END

Current Quarter Vs Prior Quarter (Quarter On Quarter Variance)

Similar to "Month On Month Variance", you can write the similar formula for "Quarter On Quarter Variance"

Current Year Vs Prior Year (Year On Year Variance)

You may have lot of  years in your application but you may have data starting from some specific year / As a part of your archival strategy, you might archive your historical data to a separate application. In such cases, you can have a substitution variable that will take the first year of the application from where the data is available and below is how the formula would look like:
IF(@ISMBR(&FirstYear))
/* FirstYear is that year from which you have data in your application */
      "Actual"; 
ELSE
/* @LEVMBRS("Years",0) is an optional parameter. By Default, it will take level0 members of the Period Dimension (Dimension tagged as Time) */
      "Actual" - @PRIOR("Actual",1,@LEVMBRS("Years",0))
END

Note: Similar to the above variance Scenarios, you can also build Variance % Scenarios. 

Once you have all the scenarios in place, you can build a nice Smart View Retrieve template / Build an HFR Report and show it to your users. I hope they will love it.

We will talk about "Variance Reporting across Scenarios (Actual, Plan, Forecast)" in the next post. As an Add-on (At the END), we will also cover how these variance reporting scenarios will work in ASO.

Happy Learning!!! 

Comments

Popular posts from this blog

PBCS/EPBCS - ASO exclude shared & Dynamic

As you all are aware that Oracle releases patches to EPM cloud every month (EDMCS is released every 2 months) and the patches are applied on first-week of Friday in Dev and third-week of Friday in Prod I did a post long back about a challenge that I have faced in on-premise and how I have addressed that. New functions were released in Nov-2018 release of PBCS. Below is an excerpt from the readiness document. You can find the document here New Aggregate Storage Functions in Calculation Manager The following Aggregate Storage functions have been added to Calculation Manager. These functions filter the shared and dynamic members from the Point of View (POV). The functions can be used in the POV of an Aggregate Storage custom calculation or allocation. @FilterDynamic(Dimension Name, Member Name) removes all dynamic members from the list of members @FilterShared(Dimension Name, Member Name) removes all shared members from the list of members @FilterSharedAndDynamic(Dime...

EPM Cloud Tips & Tricks - #1

The first EPM cloud product was released in 2014 and it's been six years till date. I was recently part of an FCCS implementation project. I know what you might be thinking. Coming from completely essbase and planning background and been working on it for almost 12 years and doing an FCCS project? Well, it turned out that way and it was a change for me too than being in my comfort zone and took it as a challenge.  I have been very busy for over the past one year and I didn't really had a chance or time to get back to my blogging and sharing my knowledge. The project finally went live and I am going to share my bit of learnings. Some of it you might alread know The first tip is going to be an easy one and those who have worked in FDMEE / Data Management in the cloud, you might already know it. But, this is very important when it comes to FCCS as zeroes are valid from Balance Sheet standpoint Data Management by default doesn't load zeroes. Below is a excerpt from the document...

Copy Text data (Planning) as Copy Data (DATACOPY) in Essbase...Yes..It works!!!

Yes. You have read it right and I am talking right. There is a saying that if you understand a process end-to-end you open lot of possibilities for improvement / betterment and it suits perfect in this case As the title goes, we all have started our career in Essbase (atleast in my case) and moved to to different other tools. We might have received multiple requests / written different types of calculation scripts where we have to copy a subset of data from one combination to other combination. The real problem comes when a user who is well-versed with Essbase and even knows the technical stuff better comes with a requirement which blows your mind and you had to think / try every single possibility to convince him that this is not possible. The same thing happened with me Background We use planning application for Planning sessions, Yearly Budget and monthly forecast and initially the monthly forecasting in Excel (where they have numbers as well as text) and after moving to Ora...