Disciplines > Business Modeling > Concepts > Activity-Based Costing


Note: Portions of this content are drawn from the user's guide for the Rational Rose Activity-Based Costing Link, a product developed and sold by Ensemble Systems (http://www.ensemble-systems.com/). 

Introduction To top of page

Activity-based costing (ABC) is a methodology that measures the cost and performance of activities, resources, and cost objects. Resources are assigned to activities, then activities are assigned to cost objects based on their use. Activity-based costing recognizes the causal relationships of cost drivers to activities [PLR99].

Activity-based costing is about: 

  • Measuring business process performance, activity by activity. 

  • Estimating the cost of business process outputs based on the cost of the resources used in producing the product.

  • Identifying opportunities to improve process efficiency and effectiveness. Activity costs are used as the quantitative measurement. If activities have unusually high costs or it they don't add value, they become targets for re-engineering. 

Activity-based management (ABM) is a broad discipline that focuses on achieving customer value and company profit by managing activities. ABM draws on activity-based costing as a major source of information.

Calculating the Performance of a Business Process To top of page

To calculate the performance of a business process, you need to know what the workflow is and what type of resources are involved in performing the workflow. You need to have the following elements describing the workflow in place before you can start measuring: 

Basic Cost Drivers

For each activity state in an activity diagram, the basic cost drivers are: 

  • Resources: determine what business workers and business entities are participating, and how many instances of each. The allocation of a resource to a workflow implies a certain cost. 
  • Cost rate: each business worker or business entity instance may have a cost per time in use. 
  • Duration: an activity occurs for a certain time, therefore a resource can either be allocated for the duration of the activity, or for a fixed amount of time. 
  • Overhead: any fixed costs that the invocation of a workflow or an activity would incur. 

Additionally, for a transition you may need to determine the Guard Probability, which is the probability for a transition to be traversed. This needs to be determined for alternative threads such as outgoing transitions from a decision, and for conditional threads such as a conditional transition outgoing from a synchronization bar. 

Calculating the Cost of Performing a Workflow

A workflow is described with a collection of activity states. For each of those activity states, you must define what the cost drivers are, in order to calculate the total cost for performing the activity. 


The total cost of performing this activity is 'number of resources' * 'resource cost'  * ' duration' + 'overhead cost'. Knowing that the cost rate for using a customer representative is 200 per hour, the total cost for this activity is then 1*200*0.5 + 100=200. 

The total cost of performing the workflow is the sum of the cost for each activity, although there is often an overhead associated with initiating the workflow. For the whole workflow, it may be interesting to calculate the total duration or frequency. 


The workflow depicted in this activity graph has an overhead cost that needs to be added to the cost of performing each activity. 

Concurrent Threads

If concurrent threads exist in an activity diagram, the duration of the longest thread is the relevant duration for all threads. Concurrent threads are shown using synchronization bars.


The total duration for these two concurrent threads is 8 minutes, which is the duration of the longest thread in this case. 

Alternative Threads

If alternative threads exist in an activity diagram, the cost for the alternative threads are calculated as the sum of the cost for each alternative, weighted with the occurrence probability for each alternative. Alternative threads are shown using decision icons. 


The total calculated cost for a thread with alternatives is the weighted cost of the alternative threads. 

Conditional Threads

If a conditional thread exists, the cost for that thread is added to the cost for its parallel threads, weighted with the probability of it occurring. A conditional thread is indicated with a guard condition on a transition.


If there is a conditional thread, its cost is first weighted with the probability of it occurring, and then added to the cost of its parallel threads. 

Nested Activity Graphs

If an activity has a sub-graph, the cost of that activity is the cost of the activities in the sub-graph.

Identifying Areas of Improvement To top of page

Activity-based costing is often used to compare alternatives, such as proposed change versus current practice, or to compare different proposed changes. There are three kinds of parameters to work with to explore differences between alternative flows: 

  • Changing values of cost attributes without changing the structure or realization of the workflow; for example, assuming shorter time durations.
  • Changing structure of the workflow; for example, changing from sequential to concurrent execution of activities. 
  • Changing what resources are used in the realization of the workflow; for example, merging resources to eliminate hand-offs.  

To compare these alternatives, you may create "sibling" activity diagrams to show the variations of the business use case. When changing what resources are used in the realization of the workflow, you must also establish "sibling" realizations of the workflows to correctly explore resource costs. 


Copyright  1987 - 2001 Rational Software Corporation

Display Rational Unified Process using frames

Rational Unified Process