Blog · Finance metrics and formulas · Professional services
Separate delivery labor, subcontractors and shared overhead to compare engagement costs. Follow a worked cost worksheet, reconcile it to the ledger and distinguish spending changes from utilization effects.
Professional services cost analysis separates delivery labor, subcontractors, direct expenses and shared overhead so an engagement's cost can be explained. Match the same period and scope to the budget, then distinguish extra work from higher rates, a different staffing mix or unused capacity.
A larger cost total alone does not identify a problem. It may reflect more authorized delivery, so start with hours and project scope before asking a team to cut spending.
Use approved time records, a controlled labor-rate schedule, subcontractor invoices, the expense ledger and the engagement budget. Keep engagement ID, team, service line, period and cost category in the exports. Summarize each source to engagement and period before combining them, so multiple invoices do not multiply the time rows.
The rate schedule should state which employment costs it includes. The IRS fringe benefit overview treats fringe benefits as compensation for services; a salary-only rate can therefore omit meaningful employment costs. Use your actual cost policy rather than assuming that tax treatment determines a project reporting rate.
Match incurred delivery costs to the chosen reporting window. The IRS explanation of accrual accounting distinguishes expenses incurred from payments made. That distinction matters when a subcontractor delivers work before its invoice is paid, although the controller should determine the accounting treatment for your firm.
Keep revenue analysis separate until the cost totals are sound. Professional services revenue analysis covers that neighboring question; this worksheet focuses on the resources used to deliver the work.
Engagement cost = Delivery hours × Loaded hourly rate + Subcontractors + Direct expenses + Allocated overhead
Cost variance = Actual engagement cost − Budgeted engagement cost
The following illustrative US consulting firm uses one month's approved engagement records. Put the inputs in columns A through G, rows 2 through 4. Rates are approved weighted rates for the people on each engagement, and the overhead allocation rate is $25 per delivery hour, entered in N2.
| Engagement | Delivery hours | Loaded rate (USD/hour) | Subcontractors (USD) | Direct expenses (USD) | Cost budget (USD) | Revenue (USD) |
|---|---|---|---|---|---|---|
| Atlas implementation | 1,200 | 70 | 20,000 | 4,000 | 130,000 | 180,000 |
| Beacon advisory | 900 | 80 | 10,000 | 3,000 | 95,000 | 140,000 |
| Cedar assessment | 600 | 75 | 5,000 | 2,000 | 68,000 | 100,000 |
| Total | 2,700 | 35,000 | 9,000 | 293,000 | 420,000 |
Add columns H through L for labor, overhead, total cost, cost variance and contribution. Enter these formulas in row 2 and copy down through row 4:
H2 = B2*C2
I2 = B2*$N$2
J2 = SUM(D2:E2)+H2+I2
K2 = J2-F2
L2 = G2-J2
The overhead rate allocates a separately identified $67,500 pool across 2,700 delivery hours. None of the employment costs already included in loaded labor sit in that pool. Positive cost variance means spending above budget; negative means below budget.
| Engagement | Labor (USD) | Overhead (USD) | Total cost (USD) | Cost variance (USD) | Contribution (USD) |
|---|---|---|---|---|---|
| Atlas | 84,000 | 30,000 | 138,000 | 8,000 | 42,000 |
| Beacon | 72,000 | 22,500 | 107,500 | 12,500 | 32,500 |
| Cedar | 45,000 | 15,000 | 67,000 | -1,000 | 33,000 |
| Total | 201,000 | 67,500 | 312,500 | 19,500 | 107,500 |
For Atlas, $84,000 + $20,000 + $4,000 + $30,000 = $138,000. Its cost exceeds the $130,000 budget by $8,000. These are management contribution figures for the stated expense scope, rather than a claim about accounting net profit.
The $201,000 labor total must agree with the labor distribution schedule. Subcontractors and direct expenses must tie to the selected ledger accounts. Allocated overhead must sum to its separate pool, while any unallocated expense remains visible in a reconciliation.
Two worksheet checks should return zero:
Cost check = SUM(J2:J4)-SUM(H2:H4)-SUM(D2:E4)-SUM(I2:I4)
Contribution check = SUM(G2:G4)-SUM(J2:J4)-SUM(L2:L4)
Here, $201,000 + $35,000 + $9,000 + $67,500 = $312,500. The actual total less the $293,000 budget produces $19,500 above budget. The engagement variances also sum to $8,000 + $12,500 − $1,000 = $19,500.
Beacon contributes the largest dollar overrun, but the file does not establish why. Compare actual delivery hours, staff grades, subcontractor scope and expenses with their budget assumptions. If authorized scope increased, revise the forecast separately from the original baseline rather than overwriting the evidence of the change.
For the broader relationship between earnings, cash and capacity, use professional services financial analysis. Keep this review focused on explaining delivery costs.
Use a separate capacity schedule alongside the engagement report. The following independent illustration holds payroll and available hours constant, changing only delivery hours. It is not an additional expense to add to the engagement table.
| Capacity measure | Base case | Lower delivery case |
|---|---|---|
| Employment cost pool (USD) | 300,000 | 300,000 |
| Available hours | 5,000 | 5,000 |
| Delivery hours | 3,750 | 3,000 |
| Delivery utilization | 75.0% | 60.0% |
| Cost per delivery hour (USD) | 80.00 | 100.00 |
Utilization is delivery hours divided by available hours. Cost per delivery hour is the cost pool divided by delivery hours. Thus the rate rises by 25.0% even though employment spending is unchanged; a rate increase in this view is a capacity effect.
Show the capacity schedule to practice leaders alongside the professional services business measures. Allocating every idle hour into project rates can make project delivery appear more expensive while concealing the staffing decision that caused the change.
Bring a sample of your own approved time, engagement budget and expense records: Covirage maps the columns, and its tools compute and check the cost comparisons. The external AI model explains the result with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your file.
See project cost control for the supporting business use case.
Include nonbillable time attributable to an engagement, such as agreed client support or rework. Track general training, business development and unassigned time separately. Whether those broader costs are allocated to engagements depends on the stated management reporting policy.
A loaded labor rate combines the employment costs included in your policy and divides them by a defined hours base. State whether it includes employer taxes, benefits and paid leave, and whether the denominator is available hours or delivery hours.
A fixed payroll pool divided by fewer delivery hours produces a higher cost per delivery hour. That can indicate more unassigned capacity rather than higher compensation. Review available hours and non-delivery activity before attributing the change to pay rates.