The goal of any cost management system is to provide relevant and timely information to management. This information supports better management of corporate resources in production of products or provision of services, and improves competitiveness in terms of costs, quality, and profitability. In this context, a cost management system can also be viewed as a planning and control management system (Berliner and Brimson 1988). Cooper (1988a, 1988b, 1989a, 1989b) provided a comprehensive discussion of activity-based costing (ABC), following the pioneering work of Kaplan (1983, 1984). Extension of ABC to the service industry was provided by Rotch (1990). ABC has also been extended into activity-based management (ABM) to include other considerations, such as customer profitability, manpower utilization, distribution channels, and other management issues. Thus, ABC is the information system that reveals the cost and profitability structure of products and services in an organization, while ABM describes the actions taken to improve quality and reduce costs and cycle time, once information about activities' costs is known. In this article, ABC is used as a generic concept without any loss of generality. An ABC system achieves improved accuracy in estimation of costs by using multiple cost drivers to trace the cost of activities to the products associated with the resources consumed by those activities. In this respect, a cost driver is an event, associated with an activity, that results in the consumption of firm's resources. Since the number of events performed in a firm is often vast, it may not be cost-effective to use a distinct and different cost driver for each activity. Thus, many activities may be grouped into a single driver to trace the costs of all the grouped activities for a product or service. For instance, each setup may be associated with a single cost driver that accounts for moving, grouping, sequencing, and segmenting. At the same time, there may be other competing cost drivers, such as setup hours, better correlated with the resources consumed by these grouped activities. In activity-based costing, these different cost drivers are not necessarily all proportional to unit volume, in contrast to traditional volume-based cost systems (Kaplan 1988, O'Guinn 1990, Dewan and Magee 1992). ''The art of designing an ABC system can be viewed as making two separate but interrelated decisions about the number of cost drivers needed and which cost drivers to use. These decisions are interrelated because the type of cost drivers selected changes the number of drivers required to achieve a desired level of accuracy'' (Cooper 1989a, 1989b). In this article, we provide an optimization model that balances savings in information processing costs with loss of accuracy. We show how to determine the number of drivers, and identify the representative cost drivers. The model is formulated as an integer program and is solved efficiently by using a composite greedy algorithm.