OneStream’s out-of-the-box People Planning MarketPlace solution allows organizations to plan for employee and contractor compensations, benefits, as well as travel and expenses. The solution provides flexibility based on dashboards and SQL tables.
In our first blog, we discussed how MorganFranklin was able to drastically reduce a client’s People Planning calculation time by focusing on these components: allocation, calculation plans, execution lists, business rules and parallel batch size. In this post, you’ll find out how we were able to speed up calculation plans and execution lists.
Calculation plans are grouping of allocation methods. Each calculation plan allows us to combine one or more allocation methods. It also allows us to assign details, such as weights, devisors, overrides, and most importantly, conditional execution filters.
In the not-so-fast and faster examples of the allocation methods above, there was no filtering on the employee type. The allocation method evaluated each employee to see if it needed to be calculated. You can see in the above screenshot that the Conditional Execution Statement for the base hourly allocation methods (sequence 5 and 10) does not contain any Code2 (employee type) or Code4 (exempt status) conditions.
A faster way to do this is to limit the employee type that is calculated by using the Conditional Execution Statement filter in the calculation plan. In the above screenshot of the Base Salary calculation plan, we see that there is an allocation method for each employee type. Each method limits the Code2 and Code4 value that is passed to the business rule. By doing this, we reduce the number of XFBR passes that are run to the number of employees (2,000) x the number of periods (12). This means there are only 24,000 XFBR passes—four times faster than the previous method.
Execution lists are collections of calculation plans that are called by the Calc Plan button . The lists can be filtered by scenario and status, and the sequence column specifies the order the calculation plans are executed. This order becomes very important if a result of one calculation feeds another calculation. For example, the Base Salary calculation must be performed before the FICA calculation.
Using a single calculation plan that executes all the allocation methods will work if there are no dependencies between the allocation methods. More on this in the business rule section bellow.
As of version 5.01, the only way to force the order of the XBRF passes is to create a separate execution list for each calculation plan. While this creates more execution lists for each register, it ensures calculations are performed in the proper order. For example, the screenshot above shows that each register has five calculations plans. The first plan calculates salary, the second and third are for benefits, fourth plan gets the month- and year-to-date wages, and the fifth plan calculates payroll deductions and headcount. Each plan depends on data calculated in a previous plan, so the order of the execution list is crucial.
And that’s what we’ll cover next: Business Rules and Parallel Batch Size.
Already convinced on OneStream’s People Planning XF MarketPlace solution? Contact our CPM experts today.