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
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.
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
The workflow depicted in this activity graph has an overhead cost that needs to be added to the cost of performing each
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
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.
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.
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
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
Changing what resources are used in the realization of the workflow; for example, merging resources to eliminate
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.