A factory's electricity bill doesn't arrive itemised by product. Nor does the salary of the head of finance, the cost of the building, or the time the IT team spends keeping the lights on. These are shared costs, and before anyone can say whether a product, a customer or a division is actually profitable, those shared costs have to be carved up and assigned somewhere. How you carve them up is not an accounting footnote, it quietly decides which parts of the business look like winners.

The quick version

  • Cost allocation is the act of assigning shared costs, overhead, to the products, services, customers or units that caused them. The method you choose changes who looks profitable.
  • Overhead is everything not directly traceable to one output: rent, admin, IT, management. Spreading it by a crude measure (like sales or labour hours) over-charges simple high-volume products and under-charges complex low-volume ones.
  • Activity-based costing (ABC) traces overhead through the activities that actually consume it, giving truer product and customer costs, at the price of more effort to run.
  • Transfer pricing is the same problem across legal entities: the price one part of a company charges another. Because it moves profit between tax jurisdictions, tax authorities require it to follow the "arm's length" principle.

The hidden cost of a bad split

Direct costs are easy: the timber in a chair, the hours a developer bills to one client. The trouble is overhead, the costs shared across everything. Traditional cost systems deal with it by picking a single, convenient base (often direct-labour hours, machine hours, or sales revenue) and smearing all the overhead across products in proportion to that base. It is tidy, and it is frequently wrong.

Robin Cooper and Robert Kaplan made this case in their landmark "Measure Costs Right: Make the Right Decisions" (Harvard Business Review, September–October 1988). Their argument: when companies allocate overhead by a volume-based measure such as total labour or sales, they systematically over-cost their high-volume, simple products and under-cost their low-volume, complex ones. A short bespoke production run consumes far more setup, scheduling, inspection and admin per unit than a long standard run, but a volume-based allocation charges them as if complexity were free. The result is a cost report that flatters niche, fiddly products and penalises the bread-and-butter ones that actually pay the bills.

So the move is to treat every overhead allocation rate as a hypothesis, not a fact. When a cost report tells you a low-volume specialty product is your most profitable line, ask what allocation base produced that number and whether the complex product is really being charged for the complexity it creates. The cheapest version of this discipline is one question in a margin review: "What's the allocation base, and what would change if we used a different one?"

flowchart TD
  OH(["Shared overhead pool
rent · IT · admin · setups"]) --> M{"How do we
split it?"} M -->|"Volume base
(labour / sales)"| TRAD(["Traditional costing
simple, cheap"]) M -->|"Activity drivers
(setups · orders · inspections)"| ABC(["Activity-based costing
truer, more effort"]) TRAD --> D1(["High-volume products
look TOO expensive"]) TRAD --> D2(["Complex low-volume
products look TOO cheap"]) ABC --> D3(["Costs follow the
activities that cause them"])
The same overhead pool, two splits. A volume base hides complexity; activity drivers expose it. Leaders Loop

Activity-based costing: charge for what gets used

Activity-based costing is the structured answer to the distortion. Instead of one blanket rate, ABC identifies the activities that consume resources, machine setups, purchase orders, quality inspections, customer support calls, works out what each activity costs, and then charges products and customers for the activities they actually trigger. As Cooper and Kaplan put it across their HBR work, the aim is to replace arbitrary percentages with cause-and-effect: cost follows the thing that drove it. Their follow-up, "Profit Priorities from Activity-Based Costing" (HBR, May–June 1991), showed the payoff, companies repeatedly discovered that a minority of products and customers generated all the profit, while a long tail quietly destroyed it, a pattern the old volume-based numbers had buried.

The same logic reaches customers, not just products. Two customers buying the same revenue of product can cost wildly different amounts to serve: one orders in bulk once a quarter; the other places small rush orders weekly, returns half, and calls support constantly. ABC makes the expensive-to-serve customer visible, which is often more useful than the product view, because you can renegotiate terms with a customer in a way you can't with a product.

Volume-based costing answers "what does it cost on average?" Activity-based costing answers "what does this cost?", and the gap between them is where bad decisions hide.

An honest limitation. ABC is more accurate, but accuracy isn't free. Kaplan himself, with Steven Anderson, later catalogued the problem in "Time-Driven Activity-Based Costing" (HBR, November 2004): traditional ABC implementations relied on endless employee surveys to estimate how staff split their time across activities, which proved "time-consuming and costly," irritated employees, and grew hard to maintain, so many firms abandoned the effort. Their fix (the "time-driven" version) replaces the surveys with two managerial estimates: the cost per unit of capacity (say, cost per minute of a process) and the time each transaction takes. The general lesson holds beyond their method: a cost model precise enough to be useful but cheap enough to keep running beats a perfect one nobody updates. Don't ABC everything, ABC the decisions where the allocation actually changes the answer.

Transfer pricing: the same split, across borders and tax lines

Cost allocation inside one company is an internal management choice; you can use whatever method serves your decisions. Transfer pricing is what happens when the "split" crosses a legal boundary, when one subsidiary sells goods, services, intellectual property or financing to another subsidiary of the same group. The price charged on that internal transaction is the transfer price, and it does something allocation alone doesn't: it moves profit from one entity's books to another's.

When those entities sit in different countries, that profit shift is also a tax shift, which is why transfer pricing is policed. The international consensus is the arm's length principle: related entities must price internal transactions as if they were independent parties dealing in an open market. The OECD's Transfer Pricing Guidelines for Multinational Enterprises and Tax Administrations set the global reference standard, and the principle is enshrined in Article 9 of the OECD Model Tax Convention. The OECD's stated purpose is blunt: governments need to ensure "that the taxable profits of MNEs are not artificially shifted out of their jurisdiction" and that the tax base reported in each country "reflects the economic activity undertaken therein." Set a transfer price too low or too high to dodge tax, and the relevant tax authority can adjust it, potentially taxing the same profit twice.

The practical takeaway: transfer pricing is cost allocation with its hands tied. Internally you optimise for good decisions. The moment a transaction crosses a tax border, "what price helps us most" gives way to "what price an independent buyer would have paid." If you run, advise, or sit on the board of any group with entities in more than one country, this isn't a back-office detail. It's a material tax and compliance exposure that belongs on the risk register, handled with qualified tax advice rather than a spreadsheet someone improvised.

flowchart LR
  A(["Subsidiary A
(low-tax country)"]) -->|"sells parts at
transfer price"| B(["Subsidiary B
(high-tax country)"]) B --> SALE(["B sells finished
goods to customers"]) A --> PA(["Profit booked
in A"]) B --> PB(["Profit booked
in B"]) PA --> RULE{"Arm's length?
Would independent firms
have paid this?"} PB --> RULE RULE -->|"No → tax authority adjusts
+ possible double taxation"| RISK(["Compliance &
tax exposure"])
The transfer price between group entities decides where profit, and tax, lands. The arm's length test is the guardrail. Leaders Loop

A worked example

Take a furniture maker, call it Northwind. (Illustrative figures throughout; this is a teaching example, not real accounts.) It makes two products: a high-volume standard desk (10,000 a year, long uninterrupted runs) and a low-volume custom desk (500 a year, each a short bespoke run needing its own setup, drawings and inspection). Total factory overhead is £600,000, and Northwind allocates it the old way, by machine hours. Standard desks use most of the machine hours, so they absorb most of the overhead, and the cost report says each standard desk carries £55 of overhead while each custom desk carries only £30. On paper, the standard desk looks like the expensive one.

Now run it through activity-based costing. Most of that £600,000 turns out to be driven by setups, engineering drawings and inspections, activities the custom desks consume voraciously and the standard desks barely touch. There are 500 custom runs, each with its own setup and drawing; there are a handful of long standard runs. Recharged by activity, the custom desk suddenly carries roughly £180 of overhead per unit, and the standard desk drops to about £42. The "cheap" custom desk was never cheap; the volume-based method had been quietly subsidising it with the standard desk's margin.

The decision flips entirely. Under the old numbers, Northwind might push custom desks (apparently high-margin) and consider dropping the "costly" standard line, the exact wrong move. Under ABC, it either reprices custom desks to reflect their true cost, sets a minimum order size to dilute the setup burden, or accepts custom work only as a strategic loss-leader it has chosen with open eyes. Same factory, same total cost, opposite strategy, and the only thing that changed was the allocation method.

Frequently asked questions

What's the difference between cost allocation and transfer pricing?

Cost allocation divides shared costs across products, customers or units within a single company, a management choice with no external rules. Transfer pricing sets the price for transactions between separate legal entities of the same group. Because those prices move profit (and, across borders, tax) from one entity to another, transfer pricing is regulated and must follow the arm's length principle; internal cost allocation is not.

Why is allocating overhead so contentious?

Because overhead is, by definition, shared, no single product "caused" the head office or the building, so any split involves judgement, and that judgement decides which products and teams look profitable. Two reasonable methods can declare opposite winners. When an allocation rule determines budgets, bonuses or which line gets cut, people argue about the rule, not the underlying costs.

Is activity-based costing always better than traditional costing?

It's usually more accurate, but not always worth it. ABC costs more to build and maintain, and for a business with little overhead or a simple product range, a traditional rate is close enough. Use ABC where overhead is large and products or customers differ a lot in the complexity they create, that's where the distortion, and the payoff from fixing it, is biggest. The time-driven variant exists precisely to make ABC cheaper to sustain.

What does "arm's length" actually mean in transfer pricing?

It means pricing an internal transaction at the level two unrelated companies would have agreed in an open market. If your manufacturing arm sells components to your sales arm, the arm's length price is what an independent manufacturer would have charged an independent buyer for the same thing. Tax authorities, guided by the OECD framework, use it to stop groups parking profit in low-tax jurisdictions through artificial internal prices.

How can transfer pricing get a company in trouble?

By setting internal prices that shift profit to where tax is lowest rather than where the value was created. If a tax authority decides a transfer price isn't arm's length, it can adjust the taxable profit upward, levy back taxes and penalties, and the other country may not give a matching reduction, leaving the same profit taxed twice. It's a documentation-heavy compliance area; multinationals keep transfer-pricing files specifically to defend their prices.

Related in the Toolkit

Allocation choices ripple outward: they shape the numbers in your financial statements, and the question of which numbers are built for outside reporting versus internal decisions is the heart of management versus financial accounting.

Where to go next