Assign every cost to what truly drives it.
Cost allocation is the process of assigning indirect costs to products, services, customers, and channels using time-driven activity-based costing (TDABC).
What is Cost Allocation?
Cost allocation is the process of identifying, aggregating, and assigning costs to cost objects - products, services, customers, or channels. Unlike simple overhead spreading, rigorous cost allocation traces costs to the activities that drive them, revealing which offerings are truly profitable.
Distorted numbers, distorted decisions.
Without accurate cost allocation, management decisions rely on distorted numbers. Products may appear profitable when they're not, high-volume customers may be subsidised by smaller accounts, and pricing is set without understanding the true cost to serve.
Where does your organisation stand?
Costs allocated by simple rules - headcount or revenue %. No visibility into real consumption.
Basic cost centres with manual allocations. Some product-level visibility but limited accuracy.
Activity-based logic with defined cost drivers. Reasonable product and customer cost accuracy.
TDABC model with capacity costing. Full visibility into true cost-to-serve by segment.
Three moves toward true cost.
Identify all significant activities and the resources they consume, from operations to support functions.
Select drivers that best reflect how each activity's cost varies - time, volume, transactions or complexity.
Link activity costs to products, customers or channels using the drivers, building your true cost picture.
Traditional, ABC, or TDABC?
| Approach | Driver Accuracy | Scalable Update | Capacity Insight |
|---|---|---|---|
| Traditional Overhead % | ✕ | ✕ | ✕ |
| ABC | ✓ | ~ | ~ |
| TDABC | ✓ | ✓ | ✓ |
How to allocate indirect costs correctly
Indirect costs are where most cost systems quietly go wrong. Direct materials and labour are easy - they attach to a product by definition. The overhead - the warehouse, the planners, the IT, the finance team - does not, so it gets spread by a convenient rule: a percentage of labour, a rate per machine hour, a slice of revenue. Every one of those rules assumes overhead is consumed in proportion to the base, and it almost never is.
The correct approach is a two-stage trace:
- Cost to activity - pool overhead into the activities it pays for (receiving, planning, setup, support) and find the cost of one unit of each.
- Activity to object - charge each product and customer for the activity it actually consumes, using a driver that reflects real usage: minutes, touches, lines, not a flat percentage.
TDABC is simply the most scalable way to run that trace, because the driver is time and the data already exists in your systems. The payoff is the same every time: the cost of complexity stops hiding inside your simplest, highest-volume products.
How to move from spreadsheet allocation to a real model
Almost every cost model starts in a spreadsheet, and almost every one should leave it. A spreadsheet is the perfect place to learn the method and the worst place to run it in production. The reason is structural: a spreadsheet tangles the logic (which driver, which rate) with the data (this month's transactions) into one fragile artefact that one wrong cell can silently break.
The migration is low-drama if you stage it:
- Extract the logic - write down the activities, drivers and rates the spreadsheet implies, as an explicit model.
- Connect the data - feed it from standard ERP and SAF-T exports, so refresh is a load, not a rebuild.
- Run both in parallel - replicate one business area, confirm the numbers match, then retire the spreadsheet.
Dedicated TDABC software like CostCtrl exists for exactly this: it holds the model, ingests the exports and recalculates cost per order, customer and product at a scale spreadsheets cannot reach - with an audit trail spreadsheets never had.