The invention of the system of equations method (i.e., the reciprocal method) was a significant step in the allocation of service department costs to production departments. Compared with the two other methods commonly in use—the direct method and the step-down method—the reciprocal method generates more accurate allocations when service departments provide services to each other. There have been several efforts to simplify the system of equations method to make it more accessible. These efforts have been worthwhile but incremental at best. The lattice allocation method, however, represents an improvement that is far beyond incremental. As explained by the authors elsewhere (K. Bent and D. Caplan, “Lattice allocations: A better way to do cost allocations,” Advances in Accounting, vol. 38, pp. 99–105, September 2017), the lattice allocation (LA) method handles all of the inter-service department relationships that the system of equations method does, but more efficiently and easily. In this article, the authors explain LA and describe an online spreadsheet tool to implement it. Unless another method is mandated by regulation or contractual terms, the authors believe LA is always preferable to the older methods and should be used in their place. LA scales well, from small organizations using Excel to the largest industrial problem. It seems that LA will eventually be included in accounting computer systems and replace the older methods in the management accountant’s toolbox.


Historically, the term “reciprocal allocation” has meant one that correctly reflects allocations among service departments. It has also meant a way of computing allocations that includes a process of solving a system of simultaneous linear equations. The term LA is used here for another (and better) way of doing the computation; “equations method” is used for the older way. The authors still use the term “reciprocal” in general to indicate proper reflection of allocations among service departments. The regulations of the Cost Accounting Standards Board use the term “cross allocation” the way the authors use “reciprocal allocation.”

The authors use the term “allocation rule” to describe where a service department’s costs are allocated, and in what proportion. The “intrinsic rule” reflects the service department’s view of who uses its services, perhaps including other service departments as well as production departments. LA creates a new “transformed rule,” which allocates costs only to production departments, correctly reflecting intermediate allocations among other service departments.

Lattice Allocations

LA performs complex cost allocations using matrix multiplication, a standard matrix algebra operation that is available in Excel. LA makes sophisticated cost allocations accessible to companies of any size, and it is easy to implement. The user creates a matrix that captures the allocation rules and runs a simple manipulation of this matrix; the transformed matrix provides the user the percentages of the service department costs to allocate to each production department.

Similar to the system of equations method, LA is more accurate than the direct method or the step-down method when service departments provide services to each other. Unlike the system of equations method, however, LA is simple and thus less prone to error. In addition, some errors are easier to correct than with traditional methods. For example, an error in one service department allocation rule can be fixed without revisiting the allocation rules of the other service departments.

The lattice allocation method is a new technique for allocating costs in accordance with the underlying provision of services, but it is not a new principle of where costs should fall. In other words, LA is a better way of achieving a well-established goal for how to allocate service department costs. Although matrix algebra is currently used for solving systems of equations, LA uses matrix manipulations in an entirely novel way and, by doing so, generates information that is not available from traditional methods. In particular, LA shows managers the original source of all costs allocated to the production departments. This feature of LA is important because the amounts allocated from each service department to the production departments sum to that service department’s original costs. This is not true of traditional methods of calculating reciprocal service department costs that use the gross services model. This advantage is important because knowledge of the original source of service department overhead can focus managers’ efforts on cost reduction at the source, and away from efforts to merely shift overhead costs to other production departments.

Numerical Example

LA can be illustrated with a numerical example used in Christensen and Schneider (“Allocating service department costs with Excel,” Strategic Finance, vol. 98, no. 11, pp. 50–55, May 2017). There are two service departments, S1 and S2, and two production departments, P1 and P2. Each service department provides services to the other service department and to both production departments. S1 has costs of $100 that are allocated based on direct labor hours (DLH), and S2 has costs of $40 that are allocated based on kilowatt hours (KWH). Exhibit 1 reproduces Figure 1 from Christensen and Schneider, retaining the column headings.

Exhibit 1

Raw Consumption Matrix

A; B; C; D; E; F; G; H S1; S2; P1; P2; Total; Base S1:; 0; 100; 250; 150; 500; DLH S2:; 500; 0; 100; 400; 1,000; KWH Costs:; $100; $ 40; $140 DLH=direct labor hours, KWH=kilowatt hours

Exhibit 2 reproduces Figure 2 from Christensen and Schneider. It converts the allocation bases to percentages such that each row sums to 100%; each entry in the row represents the percentage of services provided by the service department indicated in Column B to each production and service department receiving those services as indicated in the column headings. Christensen and Schneider assume that neither S1 nor S2 consumes its own services. We maintain that assumption for the example; however, this assumption is unnecessary when applying LA, because LA automatically eliminates these “self-services.”

Exhibit 2

Normalized Consumption Matrix

B; C; D; E; F; G; H S1; S2; P1; P2; Total S1:; 0%; 20%; 50%; 30%; 100% S2:; 50%; 0%; 10%; 40%; 100%

From Exhibit 2, one can create an “LA matrix,” which is the starting point for applying LA. This involves creating a square matrix by adding a row for each production department, in the same order as they are listed across the columns. Each row for the production departments contains zeros except for the intersection of the production department with itself, which contains a “1,” signifying that each production department allocates all of its costs to itself. The percentages in the service department rows are converted to fractions and the columns to the right of the last production department are deleted. The LA matrix contains the “intrinsic rules” of the cost allocation problem.

The fundamental contribution of LA is the recognition that by multiplying the LA matrix by itself repeatedly, the matrix converges to a stable “solution” to the allocation problem that the authors term the “transformed matrix.” The transformed matrix provides the percentages of each service department’s costs to be applied to each production department. These emergent percentages generate the same allocations as obtained using existing methods to apply the reciprocal method. The transformed matrix is much simpler to generate than other methods of solving for reciprocal allocations. In addition, the transformed matrix provides additional information not obtained from traditional techniques. Exhibit 4 squares the LA matrix from Exhibit 3 three times (effectively taking the LA matrix to the eighth power). Note that S1 has $100 in costs. Multiplying $100 by 0.58 generates $58.00 to be allocated from S1 to P1. Multiplying $100 by 0.42 generates $42.00 to be allocated from S1 to P2. Similarly, multiplying the costs of $40 in S2 by 0.39 generates $15.60 to be allocated from S2 to P1, and multiplying $40 by 0.61 generates $24.40 to be allocated from S2 to P2. Thus, the total service department costs allocated to P1 are $58.00 + $15.60 = $73.60, which agrees materially to $73 in Christensen and Schneider. Total service department costs allocated to P2 are $42.00 + $24.40 = $66.40, which agrees materially to $67 in Christensen and Schneider. Note also that the fractions in each service department row sum to 1. LA can easily generate any desired degree of accuracy simply by taking the LA matrix to a sufficiently high power. In simulations, the authors have found that three multiplications (that is, taking the original matrix to the eighth power) generally provides a very high level of accuracy. The LA matrix can be better understood by partitioning the matrix into quadrants. In this example, the four cells in the upper-left quadrant represent services provided by each service department to the other service department. The four cells in the upper-right quadrant represent services provided by each service department to the two production departments; the eight cells in the lower quadrants reflect the fact that no costs are allocated out of the production departments. Going from Exhibit 3 (the LA matrix) to Exhibit 4 (the transformed matrix), the total amounts allocated in the upper-left quadrant are reduced to near zero, the amounts allocated in the upper-right quadrant increase, and there are no changes in the lower quadrants. Each row continues to sum to 1. The LA method always exhibits these characteristics.

Exhibit 3

Lattice Allocation (LA) Matrix

S1; S2; P1; P2 S1:; .00; .20; .50; .30 S2:; .50; .00; .10; .40 P1:; .00; .00; 1.00; .00 P2:; .00; .00; .00; 1.00

Exhibit 4

The Transformed Matrix

S1; S2; P1; P2 S1:; .000; .000; .58; .42 S2:; .000; .000; .39; .61 P1:; .000; .000; 1.000; .000 P2:; .000; .000; .000; 1.000

A Calculator Spreadsheet for Applying LAs

The authors developed an Excel spreadsheet tool, the LA calculator, that is well-suited for classroom and instructional use. The Excel spreadsheet may be used for any legal purpose, free of charge; it is distributed “as-is” under the Open Source Apache License Apache-2.0 ( The software was designed and coded by the authors of this article. Attribution is appreciated but not required. The Excel spreadsheet is available for download at

The calculator has two views: the input view and the output view. (A ReadMe with instructions is included with the calculator.) The input view is where the LA matrix is built. It records the intrinsic rules for service departments. The output view contains transformed rules that may be used directly for allocation. The intrinsic rule for a service department specifies which service and production departments receive costs from that department, and in which proportions; it is reproduced in Exhibit 5. This is the input matrix from the LA calculator. It can handle up to 20 departments in any combination of service and production; if the user has fewer than 20 departments, the relevant portion of the matrix will be the square matrix imbedded in the upper-left of the 20 × 20 matrix. That submatrix contains the number of rows and columns equal to the number of service and production departments for the organization. Null entries in the remainder of the matrix have no effect on the solution. The following are step-by-step instructions for using the Excel calculator tool.

Exhibit 5

LA Calculator Tool

Step 1 (Record department names):

In Column B, type the names of the service and production departments, beginning with the service departments. The ordering of the service departments is unimportant. How the production departments are ordered is also unimportant, but we suggest listing the production departments after the last service department. All rows below the last production department are left blank. The user may place four-character department abbreviations as column headings to help with navigation of the matrix. Alternatively, the column numbers may be used.

Step 2 (Record the intrinsic rules for the service departments):

To record the intrinsic rules of the LA matrix, the user should ask the following two questions of each service department: 1) Which service and production departments do you provide services to, and 2) What fraction of your costs should be assigned to each of these departments? Each service department can ignore services that it provides back to itself, so that the fractions assigned to the other departments sum to 1.0; this is referred to as the “normalized amounts.” Alternatively, each service department can include the fraction of services provided to itself, resulting in a positive number in the cell at the intersection of the service department to itself. The transformed matrix will appropriately drive the value in this cell to zero and generate the same solution as using normalized fractions.

Each service department row should contain the answers to these two questions for that service department. For example, if service department S1 provides 20% of its services to service department S2, 0.2 is recorded in the cell at the intersection of the row for S1 and the column for S2. Any element of the matrix without a fraction representing an allocation is set to zero. Each row should sum to 1.0 (whether or not the fractions are normalized).

Step 3 (Record the intrinsic rules for the production departments):

For the production departments, each row should contain zeros all the way across, except for the intersection of that production department with the column for itself, which should contain a 1.0. This implies that each production department “allocates” 100% of its costs to itself.

Step 4 (Generate the output matrix):

After populating the rows for the service and production departments with the appropriate fractions, and ensuring that each row sums to 1.0, click “Start.” The spreadsheet will ask the user for the desired number of iterations. Each iteration squares the matrix; for example, inputting 3 for the number of iterations takes the LA matrix to the 8th power. The spreadsheet uses the Excel MMULT function to square the matrix. For readers who wish to create their own spreadsheet, there are many online resources for how to use the MMULT function.

Step 5 (Read the output matrix):

After indicating the number of iterations and clicking “OK,” the user is taken to the output view on the spreadsheet. This view shows the output matrix, which is the solution to the allocation problem. It is reproduced in Exhibit 6.

Exhibit 6

Transformed Matrix in the LA Spreadsheet Tool

The relevant portion of this spreadsheet is the imbedded matrix defined by the rows for the service departments and the columns for the production departments. This portion of the transformed matrix is reproduced in Figure 6 in Christensen and Schneider. In this imbedded matrix, the fraction of each service department’s costs to allocate to each production department is given in the cell at the intersection of the row for the service department and the column for the production department.

For the rows containing the service departments, the columns to the left of the first production department should contain zeros. If any cell is significantly different from zero, it may be necessary to run the calculator again and increase the number of iterations. The rows below the service departments should be unchanged from the original matrix, and are irrelevant.

Step 6 (Correct errors in the input matrix):

If the user later discovers that the fractions in the input matrix for one or more service departments were incorrect, the input matrix will have to be corrected and the transformed matrix generated again. If the user later discovers, however, that costs were misstated for one or more service departments, as long as the fractions were correct, the transformed matrix still provides the correct solution to the allocation problem. There is no need to rerun the transformed matrix; the fractions in the original transformed matrix can be multiplied by the corrected cost number.

Organizations that have more than 20 service and production departments cannot use this spreadsheet tool. These organizations have several options. They can create Excel applications with matrices sized appropriately for their number of departments. Alternatively, they can also use analytical software marketed for analysis of “big data”; these packages can be expected to have matrix multiplication functions that handle large matrices. Finally, they can program software using open source software such as Python, R or NumPy.

A Simpler Tool

We have described a new, matrix-based technique for allocating service department costs, called lattice allocations. LA can be used by educators, students, and practitioners in organizations of all sizes. The authors have described and provided readers access to a spreadsheet tool to implement LA if their total number of service and production departments does not exceed 20. LA is also useful for other types of complex allocations, including two-stage, activity-based costing.

In the 1970s, the Cost Accounting Standards Board (CASB) stated a preference for reciprocal allocations over direct or step-down allocations (Christensen and Schneider, 2017, p. 52), presumably because the reciprocal method is more accurate and less susceptible to manipulation. However, the perceived difficulty of implementing reciprocal allocations led the CASB to accept the step-down method. Today, federal regulations still permit government contractors to use the step-down method [CASB 2017, section 9904.418.50(e)(4)]. LA provides the CASB an opportunity to mandate more accurate cost allocations than permitted by the current regulations.

Performing cost allocations contributes to the effort required to close the books and compute profits at period-end. Three characteristics of LA bear on the speed and ease with which profits can be computed. First, LA is expected to increase the speed of executing complex cost allocations. Second, the ability to develop transformed rules (the matrix of intrinsic rules) before costs are known can remove some processing time from the critical path of the close. Third, the transformed rules can be reused as long as the intrinsic rules remain unchanged. For example, if the service department finds additional costs, but its proportion of services provided to other departments remains unchanged, the percentages in the transformed matrix will still be correct.

Dennis Caplan, PhD, CPA, CMA, is an associate professor of accounting at the University at Albany–State University of New York.
Kirke Bent retired from the Prudential Insurance Company as vice president, hardware and software planning.