ABC is difficult to implement because we need first to understand what the discrete processes are in a business where the existing links between functions are not well understood. There is then the issue of identifying the cost driver, which requires a fresh way of looking at each activity. For example, the cost driver for a warehouse fork-lift operator would be the number of pallets moved. The cost driver for stocking shelves would be the number of pieces that must be stacked in a given time period. A further problem occurs if there is more than one cost driver for a given activity. You are then faced with the same problem as with over-head allocation: on what basis should the cost drivers be weighted? Usually, this problem shows that activities have not been broken down into sufficient detail, and that more analysis is needed. ABC can therefore become complex to implement.