The taxing functionality in Apptio was designed to handle very small amounts of cost that needed to be passed along from object to object. Over the years this functionality has been abused to send much larger amounts of cost across larger datasets, ultimately to the detriment of model performance.
The key issue many clients are looking to solve is that they have poor data relatedness, but yet need to have all money flowing from the bottom to the top of the model. Unfortunately by adopting that strategy you’ll likely end up:
- Allocating small amounts of cost/units that are non-material in the grand scheme, yet cost hours in calculation times.
- Bloated TCO costs that are hard to defend.
- No leverage on driving data quality strategies throughout the company.
Below we are going to walk through some easy ways to identify taxing strategies that can cause major modeling performance issues and some suggestions on how to fix them.
Before you migrate to R12:
Let’s start with identifying the use of taxing strategies:
1. Start by opening your model tab and navigating to the “View Allocation Strategies Table”. From here you can review any taxing strategies. Scroll over and find the column “Tax Strategy” and right click -> Show Unique Values on the column header and review.
This may include options like
- Tax Existing X by Cost
- Tax Existing X by “Some Weight”

2. Review allocation lines between objects that allocate FROM ALL TO ALL or FROM SOME TO ALL. What we are really looking for is a “taxing” strategy that is spreading small amounts of money across several rows on the destination object.

3. Review to see if you are using Orphan Allocations as described below:

Once you’ve identified these taxing strategies, how do we make them perform?
- Group the receiving and/or sending identifiers to a logical level.
- Remember, an identifier in Apptio should support only the level of which you report on, slice by, trend by or allocate by. In many cases the taxed allocation line is distributing $’s at too low of a level. Does it make sense to be allocating all datacenter to all servers at a unit or host level if I have no relationship? Consider grouping up the data center identifier into location and taxing at this level.
- Send money to an unallocated bucket
- If you truly need all money to flow from the bottom of the model to the top, consider using an “overhead” object that collects all of the tax or unidentified costs and redistribute at the BU or Services Level. Not only will this not muddy or inflate your TCO in the infrastructure and Applications layers, it will allow the TBM office to push on data quality actions into the various groups that own that data. Each BU or Service will get a portion of the “unidentified” amount. As your data quality improves, this bucket will slowly decrease.
- Delete the allocation.
- Look at the strategy to see if it even makes sense. Typically allocating $500 as less than a penny 50,000 times isn’t going to sway the entire model. In cases like this, deleting the allocation altogether make the most amount of sense given the impact on performance.
Common Issues:
Orphan Allocations – If you use the below, please reach out to your Apptio Customer Success Representative. This is another use of taxing which can also lead to performance issues.

After Migrating to R12
Taxing only appears in a R12 project when you migrate from R11 to R12 - a dialog appears that indicates "Legacy Taxing"


Uncheck the "Use Legacy Taxing" selection. You'll be prompted to confirm that this is what you want to do. It is a permanent change.

Now, you can change the R11 allocation logic to R12 logic.
Note: Learn how to allocate value in the R12 model HERE.