Skip to main content
Solved

Allocation of indirect costs to several list items

  • February 1, 2023
  • 2 replies
  • 227 views

Hello community,

I contact you regarding an issue of indirect costs allocation to several list items.

I have (fictive number) 10K€ of indirect costs categorized as “No checkout ID” which i want to allocate to each item of my item lists based on an allocation key.

To do so i’ve created 2 metrics based on 2 unique dimensions :
1. “Id_checkout” (Item list to which the direct costs and indirect costs are to be allocated)
2.  “Month” (because the allocation is based on a monthly basis)

First metric - Checkout level test - Consolidation of indirect costs
→ Filter on Indirect costs (“No checkout Id”)
→ Dimensions : Date (Month), Id_Checkout 
 



Second metric - Allocation Key Fees Test - Indirect cost allocation Key

→ Logic is to divide the direct costs allocated to each item list by the total cost of the month
1. Checkout level test - Direct cost per item - 2 dimensions (ID_checkout, Month)
2. Checkout level Fees for allocation key - Total cost per month - 1 dimension (Month)

→ It will give to each item list a weight in the total of fees of the month. We will use this weight to allocate the indirect costs.

 



Final metric - Concatenation of the 2 first metrics
→ “Checkout level test” multiplied by the “Allocation Key Fees” 

The issue is on this metric -→ There is no result whereas i should expect the below result :

Initial indirect : 
100 

Weight allocation : 
Item 1 - 50%
Item 2 - 10%
Item 3 - 40%

Final metric : 
Item 1 : 100*50% = 50
Item 2 : 100*10% = 10
Item 3 : 100*40% = 40

My hypothesis is an issue of Dimension somewhere on the several metrics, but i did not identified where.

thank you very much for your time and help.
 

Best answer by francois

Hello Thomas,

Good job on getting this far!

Do I understand this correctly?

First metric - Checkout level test - Consolidation of indirect costs
→ Filter on Indirect costs (“No checkout Id”)
→ Dimensions : Date (Month), Id_Checkout 

So the values here should only be on the item No checkout Id and not on the other id_checkout?

If that’s the case, I would remove the id_checkout dimension, and only structure it by month. You could either use [FILTER: id_checkout."No checkout Id"][REMOVE : id_checkout], or [SELECT: id_checkout."No checkout Id”] which do the same if your block is by id_checkout. In your case, you could also go with [FILTER: transaction.id_checkout = id_checkout."No checkout Id"][BY: transaction.Month] and not have a BY: Transaction.id_checkout

 

When you then multiply the value by the allocation key, you could either have a [ADD: id_checkout] to put the same value on all id_checkout or let Pigment do the allocation (better performance, less clear outcome if you’re new). Have a read on this article to discover what happens when you multiply blocks that do not share all dimensions.

https://community.pigment.com/modeling-formulas-85/how-pigment-handles-sparsity-in-formulas-313

 

Let me know if that helps you.

View original
Did this topic help you find an answer to your question?

francois
Employee
Forum|alt.badge.img+13
  • Employee
  • February 1, 2023

Hello Thomas,

Good job on getting this far!

Do I understand this correctly?

First metric - Checkout level test - Consolidation of indirect costs
→ Filter on Indirect costs (“No checkout Id”)
→ Dimensions : Date (Month), Id_Checkout 

So the values here should only be on the item No checkout Id and not on the other id_checkout?

If that’s the case, I would remove the id_checkout dimension, and only structure it by month. You could either use [FILTER: id_checkout."No checkout Id"][REMOVE : id_checkout], or [SELECT: id_checkout."No checkout Id”] which do the same if your block is by id_checkout. In your case, you could also go with [FILTER: transaction.id_checkout = id_checkout."No checkout Id"][BY: transaction.Month] and not have a BY: Transaction.id_checkout

 

When you then multiply the value by the allocation key, you could either have a [ADD: id_checkout] to put the same value on all id_checkout or let Pigment do the allocation (better performance, less clear outcome if you’re new). Have a read on this article to discover what happens when you multiply blocks that do not share all dimensions.

https://community.pigment.com/modeling-formulas-85/how-pigment-handles-sparsity-in-formulas-313

 

Let me know if that helps you.


  • Newly Minted Pigmenteer
  • February 1, 2023

Thanks a lot François.

It works now, The issue was indeed localized in the Metric 1 -→ I just had to add [REMOVE : id_checkout].

typo on the initial post i posted the wrong printscreen ==> [filter:TL_FEES_V2.Checkoutall<>id_checkout."No Checkout id"] to be corrected in [filter:TL_FEES_V2.Checkoutall=id_checkout."No Checkout id"]


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings