1. A machine-readable medium that provides instructions for a processor which when executed by the processor cause the processor to perform a method of allocating an activity cost among a plurality of cost objects, the plurality of cost objects being an array having dimensions corresponding to a plurality of facets of an organization, the method comprising: selecting a plurality of allocation weights each from a corresponding one of a plurality of weight arrays, each of the selected plurality of allocation weights corresponding to a category in one of the plurality of facets; selecting a cost driver from a cost driver array having a plurality of cost drivers, the selected cost driver corresponding to a category in each of the plurality of facets; calculating a weighted allocation factor by applying a function to the selected cost driver and the selected plurality of allocation weights, wherein the weighted allocation factor is normalized across the plurality of cost objects; calculating an allocated activity cost by multiplying the activity cost by the weighted allocation factor; selecting one of the plurality of cost objects, the selected cost object corresponding to a category in each of the plurality of facets; and creating a record comprising the allocated activity cost, the allocated activity cost being allocated to the selected cost object.