Blog · Territory, capacity and quota planning · Professional services
CVP analysis connects billable hours to contribution and operating profit. Work from service revenue, delivery costs, and staffing capacity to test break-even hours and the effect of adding a person.
CVP analysis for service companies translates billable hours into contribution and profit, then checks whether the team can actually deliver those hours. The important constraint is available billable capacity after nonbillable work. A break-even target above that ceiling needs a change in price, delivery cost, staffing, or scope.
Use one planning month and a unit that reflects how work is sold. Hours suit time-based consulting; completed engagements may suit standardized projects. Do not mix hours and engagements in one volume column.
The calculation follows the contribution approach described in OpenStax's break-even explanation: sales cover variable costs first, then fixed costs, with the remainder becoming profit.
Contribution per billable hour = Realized hourly revenue - Variable delivery cost per hour
Break-even billable hours = Period fixed costs / Contribution per billable hour
Operating profit = Billable hours × Contribution per hour - Period fixed costs
The general break-even analysis explains the underlying formula. For services, the extra work is establishing which hours earn revenue and which costs change when those hours change.
Bring an invoice or revenue export, a time report, a payroll and overhead summary, and a staffing calendar. Keep service, client, employee or contractor identifier, work date, billed hours, realized revenue, and variable delivery expense where available. Use one shared month and service classification.
The finance owner should reconcile recognized revenue to the ledger, then explain any difference from invoiced revenue. The operations owner should reconcile worked hours to the time system and approve nonbillable allowances. A billing write-down reduces realized revenue even if the engagement used every planned hour.
Keep salaried delivery payroll in fixed costs when it is committed for the month. Do not also allocate the same salaries into variable cost per hour. The presentation of labor in cost of goods sold is a separate accounting question from its behavior in this decision.
A US consulting company plans the following monthly work. Variable expenses are hourly contractor support and job-specific delivery costs; the company's own salaries are included in fixed costs below.
| Service | Billable hours | Realized rate (USD/hour) | Variable cost (USD/hour) | Revenue (USD) | Variable expense (USD) | Contribution (USD) |
|---|---|---|---|---|---|---|
| Advisory | 400 | 200 | 60 | 80,000 | 24,000 | 56,000 |
| Managed support | 300 | 160 | 20 | 48,000 | 6,000 | 42,000 |
| Total | 700 | 128,000 | 30,000 | 98,000 |
With these columns in A:G and the service rows in rows 2:3, use these Excel formulas and fill down:
E2=B2*C2
F2=B2*D2
G2=E2-F2
The contribution check is =SUMPRODUCT(B2:B3,C2:C3-D2:D3). It returns $98,000, matching total revenue less variable expense. Microsoft documents SUMPRODUCT as the sum of products of corresponding ranges.
Both services contribute $140 per hour here: 200 - 60 and 160 - 20. Total contribution divided by total hours also gives 98,000 / 700 = $140. If service contributions differ, hold the planned service mix explicit and recompute the weighted contribution when that mix changes.
The same month has these cost and capacity inputs:
| Input | Calculation or supplied amount | Result |
|---|---|---|
| Fixed payroll and overhead (USD) | Monthly cost workbook | 98,000 |
| Salaried consultants | Staffing calendar | 8 |
| Paid hours per consultant | Monthly planning assumption | 160 |
| Total paid hours | 8 × 160 | 1,280 |
| Nonbillable hours | Leave, administration, training, sales support | 480 |
| Available billable hours | 1,280 - 480 | 800 |
| Break-even hours | 98,000 / 140 | 700 |
| Share of billable capacity needed | 700 / 800 | 87.5% |
If fixed cost is in B8, contribution per hour in B9, and available capacity in B10:
B11=B8/B9
B12=B11/B10
B13=B10-B11
Format B12 as a percentage. B13 shows 100 hours of capacity beyond break-even. Those hours are useful only if demand exists and the available people have the required skills. Track capacity utilization with a stated denominator; paid hours and available billable hours answer different questions.
Keep contribution at $140 per hour for these supplied scenarios. The first four use fixed costs of $98,000 and existing billable capacity of 800 hours.
| Scenario | Delivered hours | Contribution (USD) | Fixed cost (USD) | Operating profit (USD) |
|---|---|---|---|---|
| Lower demand | 650 | 91,000 | 98,000 | -7,000 |
| Break-even | 700 | 98,000 | 98,000 | 0 |
| Strong demand | 780 | 109,200 | 98,000 | 11,200 |
| Existing capacity ceiling | 800 | 112,000 | 98,000 | 14,000 |
| Added staffing | 850 | 119,000 | 112,000 | 7,000 |
The staffing scenario adds $14,000 of monthly fixed costs and 120 available billable hours. Its capacity becomes 800 + 120 = 920 hours; its new break-even point is 112,000 / 140 = 800 hours. At 850 hours it earns $7,000, less than the existing team at its capacity ceiling, despite delivering more work.
This is why extending a straight profit line beyond capacity fails. OpenStax describes step costs and relevant ranges: costs can stay unchanged over one activity range and rise at the next threshold. Wider financial ratios for service companies complement this delivery-level decision.
Bring a sample of your own service revenue, delivery-cost, time, and capacity files to Covirage. Covirage maps the columns; its tools compute and check contribution and supplied capacity scenarios, while the external AI model explains the results with every figure traced to its rows. Create a free Covirage account; account creation takes about a minute.
See Covirage for professional services for the business context.
Covirage is not affiliated with Microsoft.
For a monthly decision, an existing salary is generally fixed if the company pays it regardless of billed hours. Contractor fees charged per delivery hour may vary. Classify each cost by what changes within the decision period, rather than by its account name.
Yes. Positive contribution per hour does not guarantee enough hours can be delivered to cover fixed costs. Subtract leave, administration, training, and other nonbillable commitments before comparing available capacity with break-even hours. Check scarce skills separately.
Use the retainer revenue and delivery effort expected for the same period. A fixed monthly fee spread over changing delivery hours produces a changing realized hourly rate. Keep unused capacity and unbilled extra work visible rather than assuming every hour earns the list rate.