ABC is a method of allocating corporate expenses via the company's critical business processes (i.e., activities) to the customers, suppliers and products of that business. The discipline of ABC rests simply upon the assumption that an enterprise (or even a subdivision or department within an enterprise), as a piece of money-making, money-spending machinery, can be decomposed and mechanically described as follows: the enterprise spends money to employ resources that perform activities in support of partners and products. Let's examine each of the important nouns from the preceding sentence and discuss them in relation to the way the ABC system allocates cost across them.
The money the enterprise spends is typically tracked in some financial system of record, in a general ledger (GL), categorized by various accounts and possibly linked to cost centers that further describe by whom or where it is being spent. These financial data points are inputs to the ABC system. They are the source pools of cost, which must ultimately be allocated by the ABC system to the partners and products that cause those costs to be incurred.
And at this point, the astute data warehouse architect should already be tuned in and teasing out some schematic ramifications from the statements just made. I have just proposed the existence of a fact or measure (call it "amount" or "expense") as well some master or dimension data of interest to the business by which to analyze it (the GL and any associated categories/hierarchies established in the financial system of record).
That money is used to pay for resources, where a resource may be an employee of a particular department, a piece of machinery, some office or warehouse space or even something else. A resource has cost, where that cost is ultimately and definitively captured in aggregate in the GL. The ABC system must allocate cost from the GL to the resources for which those monies pay. It does so on the basis of resource drivers. Example: there might be a GL Account for salaries that needs to be allocated to the following departments: customer service, warehouse personnel and sales. The money in the salaries account would be allocated by some resource driver that makes business sense. One example might be head count. If there is $100,000 in the salaries account, and 10 people work in customer service, six in the warehouse, and four in sales - 20 people in total - then each department would be allocated cost from the Salaries account as follows: customer service $50,000 ($100,000 times 10/20), warehouse $30,000 ($100,000 times 6/20), sales $20,000 ($100,000 times 4/20). That is to say, each department is allocated cost on the basis of that department's proportion of the total resource driver value across all departments that share the same cost pool.
We've introduced another area of data input required for the ABC system: master data for the list of corporate resources employed (typically involving extracts from corporate HR/payroll systems, or other systems) as well as the critical measures to be used as resource drivers to determine the proportions in which cost should be allocated: head count, hours clocked, salaries paid, etc. Again, architects perk up. This implies more dimensionality (the master list of resources) and additional measures (e.g., payroll metrics) to be schematized for reporting purposes.
Resources execute activities (a.k.a. business processes). Examples include complaint handling, order entry, receiving and stocking. This implies yet another step in the ABC system's allocation path (flowing dollars proportionately from resources to activities in accordance with their level of engagement in those various business activities) and yet another area of master data to be included for dimensional analysis - i.e., the business process or activity hierarchy, a hierarchy that has the basic function of a dynamic corporate income statement that might look something like Figure 1.

Figure 1: Dynamic Corporate Income Statement
Now let us pause to examine the functional output of the ABC system up to this point in its processing. The ABC system has allocated cost from the GL or some other source pools of cost, to various resources and then to the activities those resources perform. Conceptually, we now have several star schemas in play - one which tracks allocated expense amount by gl/source pool by resource by activity, and one which tracks resource drivers by resource and activity. That is to say, the ABC system gives us a more detailed view of the corporate income statement, exposing in itemized fashion the expense of specific business processes that roll up into the company's total operating expenses. Furthermore, as the byproduct of its processing, the ABC system also shows the breakdown of those activity expenses by the various resources engaged in those activities, and the pools of ledger expense from which those monies were ultimately sourced. Finally, it tracks the dedication of the resource's various cost driver attributes (salaries paid, hours worked, machine hours dedicated, square footage utilization, etc.) to the pursuit of the various activities in which the resources were engaged. In short, the ABC system tells who is doing how much of what and the bottom line financial impact of all of this activity.









