At a high level, it is easy to describe ROI – the return on the investment. But how do you measure the investment? There’s a problem when you have to go to the next level. Some costs are obviously incurred as part of our actions, and some costs happen even if you don’t take the action. You have to allocate those costs across all your actions or you won’t have an accurate reflection of our investment. Without an accurate model of our investment, you can’t calculate the return on investment.
Costs are the easiest thing to measure, but they can be difficult to measure. Total cost is the sum of fixed cost and variable cost. Fixed costs are the costs you incur even if you do not implement the feature. Variable costs are the costs that you incur only if you implement the feature.
Imagine that you use contract software developers to write code for you. When you need something to be programmed, you sign a contract, the developers write the code, and you pay them for it. This labor is a variable cost – if you didn’t ask them to write the code, you wouldn’t have the cost of the developers.
As part of operating your business, you have office space that you rent on an annual lease. You have to pay the rent with or without this feature. This overhead is a fixed cost, at least with respect to the current decision about the feature – you have to pay the rent even if you don’t pay the contractors to code up the new features.
Calculating Variable Costs
Imagine you have five new features in development for this release cycle. Assume that each developer costs $5,000 for the release cycle – these are variable costs. You have a contract for ten developers to implement these five features. Your total variable cost for the release is $50,000.
If you choose to drop two of the developers, you reduce your variable costs by $10,000 for the release. This is why these are variable costs – you can choose not to incur them. The variable cost of each feature is the cost of the developers required to implement that feature.
If each feature required two developers, each feature would have a variable cost of $10,000. If one of the features required 6 developers, it would have a variable cost of $30,000.
Allocating Fixed Costs
You can’t ignore the fixed costs – you will incur fixed costs regardless of what you deliver in the release. To determine the true cost of each feature in the release you must include both the fixed and variable costs. Unfortunately, you can’t determine the true cost – you can only approximate it. You approximate it by using an allocation strategy to spread the fixed costs around, allocating them to the features being developed for your release.
Assume you have $20,000 in fixed costs that you will incur during this release cycle, even if you don’t release anything. One way to allocate those costs is to say that each feature bears 20% of the cost. So each feature has a fixed cost allocation of $4,000.
The total cost for the release is $70,000. $50,000 in variable costs plus $20,000 in fixed costs.
Assuming that each feature required two developers, each feature would have a total cost of $14,000. The total cost would be the sum of $10,000 in variable costs and $4,000 in allocated fixed costs.
If one feature required six developers (and each of the other features required one developer), the cost break-down would be as follows:
- Big Feature Cost – $34,000: $30,000 in variable costs + $4,000 in allocated fixed costs.
- Small Feature Cost – $9,000: $5,000 in variable costs + $4,000 in allocated fixed costs.
- Total Cost of the Release – $70,000: $34,000 for the big feature + 4 x $9,000 for each small feature.
This seems like an unfair way to allocate the fixed costs. The small features have a disproportionate share of the fixed costs, relative to their variable costs (and presumably the impact of those features). Maybe you should allocate the fixed costs per developer. Now the big feature has fixed costs of $12,000, and each of the small features only carries $2,000 in fixed costs. With this allocation strategy, you have the following cost breakdown:
- Big Feature Cost – $42,000: $30,000 in variable costs + $12,000 in allocated fixed costs.
- Small Feature Cost – $7,000: $5,000 in variable costs + $2,000 in allocated fixed costs.
- Total Cost of the Release – $70,000: $42,000 for the big feature + 4 x $7,000 for each small feature.
If the feature is expected to generate $40,000 in benefits (more on this later), then it really makes a difference how you choose to allocate the costs. With the first method, your ROI is almost 18% ($6/$34). With the second cost allocation strategy, you would perceive a loss of 5%!
When I first studied management accounting, it was an example like this that got me excited about the power and dangers of cost allocation strategies. The secret is to define an allocation strategy that supports your objectives. You may even decide to allocate costs in a way that allows a profitable product to subsidize new development. You can do this by allocating a higher proportion of the costs to the product that is (or will be) more profitable.
Cost accounting is a discipline focused on consistent external reporting about operations, but management accounting is a discipline focused on internal reporting and decision support.
Cost Allocation and Decision Support
If the big feature has a value of $40,000, the first cost allocation strategy made it very profitable. The second allocation strategy would imply that the big feature is a money-loser. However, both approaches are wrong.
You have to remember that the fixed costs are sunk costs. Once the money is already spent (or committed to be spent) it no longer has any bearing on future decisions. Logically, this makes sense – if you are going to spend the $20,000 in fixed costs no matter what, then it shouldn’t have any bearing on the decision of what to do. The only question you should ask is if the $50,000 you are about to spend will generate more than $50,000 in revenue.
Where fixed costs do come into play is in determining if a project clears the hurdle rate for future investments. This is a decision-support application of cost allocation. Unless you have a limited pool of ideas and opportunities, you will have more potential projects than you can pursue. You need a way to prune that list, if for no other reason than to save time. If you define a hurdle rate of 20%, then you only want to consider projects that cost $70,000 if they have an expected return at least $84,000.
Cost allocation comes into play when doing this analysis. Imagine that your company actually has fixed costs of $200,000 for the month. If 10% of that is allocated to your team, you need to incorporate $20,000 into your calculations. What if 20% of those costs were allocated to your team? Or 5%? The way that costs are allocated to you affect the opportunities that you can pursue, because it makes them more or less viable, relative to the hurdle rate you need to clear.
The impact that cost allocation has on your opportunities is obvious. What many companies overlook is the impact a particular cost allocation strategy will have on your behavior. If overhead costs are allocated based on square footage (by department), then you may encourage people to work remotely, allowing you to reduce square footage. If costs are allocated based on headcount, you will be encouraged to “do more with less” and reduce headcount per product.
Variable costs have the same sort of influence. What makes fixed cost allocation different is that the cost allocation strategy, however logical, is always optional. The metric by which you allocate costs is the metric that teams will optimize around.
As general advice, the allocation strategy should meet the following litmus test:
- A cost allocation strategy should be rational. If the number of developers is the primary factor in determining the success of a product, then allocating costs by head-count is rational.
- A cost allocation strategy should promote desired behavior. All cost allocation strategies will incent behavior (to minimize the allocation). Your strategy should be defined in a way that encourages behavior that you desire.
- A cost allocation strategy should be extensible. If the factor that you measure were to suddenly increase or decrease by 25%, would your allocation suddenly seem illogical? If so, it is a weak strategy.
Measuring costs involves both measuring the fixed costs and variable costs. Fixed costs are a function of allocation – those costs are distributed across the organization based on some set of rules. It could be that the products that generate the most revenue bear the highest burden. Or costs may be allocated based on people, or consumption of materials, or square footage of floorspace. Whatever metric is used, it is the one that people will optimize around.