Canadian company · headquartered in Vancouver, BC (604) 632-4959 Text us Ali@Sedighi.ca

Guides

Contribution margin by service line: finding the work that pays for the rest

Split revenue by service line, subtract only the costs that line causes, and you see its contribution margin. In most owner-led companies one line quietly loses money before overhead is even counted, and the total profit figure hides it.

Written by Ali Sedighi, MBAPublished: Last updated:

Contribution margin by service line tells you how much each part of the business adds toward overhead and profit after paying for its own direct costs. Revenue minus direct materials, subcontractors, direct expenses and the fully loaded cost of the hours that line consumes equals its contribution. Totals hide the answer; the split by line shows it. In the financial clarity work we do with owner-led companies, it is common to find one line that loses money before a single dollar of rent or management salary is counted.

This guide uses a hypothetical 30-person commercial services company with three lines of work. The numbers are illustrative and internally consistent so you can check each step. Your bookkeeper or CPA confirms the payroll burden and any accounting treatment; this is a management analysis, not an accounting or tax opinion.

Why the total margin misleads

A company earning a 5% operating profit can contain one line earning 34%, another earning 23% and a third losing money. The blended number looks acceptable, so no one asks the question. Meanwhile the losing line takes scheduling attention, vehicle time and the owner's evenings.

Three habits keep the problem hidden: labour costed at base wage instead of loaded cost, travel and admin time left out of the hours a line uses, and overhead spread evenly so that every line looks roughly the same.

Step 1: build a loaded labour cost per billable hour

The loaded rate is what an hour of your people actually costs, divided by the hours you can bill.

  1. Start with the average base wage for the people who do the work. In the example, $32.00 an hour.
  2. Add the payroll burden. Employer CPP and EI, vacation pay, workers' compensation premiums and benefits. We use 18% as a placeholder for illustration: $32.00 × 1.18 = $37.76 per paid hour. Confirm your real percentage with your bookkeeper.
  3. Adjust for paid but unbillable hours. Training, travel between sites, meetings, waiting, statutory holidays. If 80% of paid hours are billable, the cost per billable hour is $37.76 ÷ 0.80 = $47.20.

That $47.20 is the figure to use when costing a line's hours. Owners who cost labour at $32.00 understate it by almost a third.

Step 2: assign every direct cost to a line

Direct costs are the ones that would disappear if the line stopped. For each line, collect:

  • Labour hours from timesheets or job records, including travel and setup time for that line's work
  • Materials and parts used on that line's jobs
  • Subcontractors hired for that line
  • Other direct expenses such as vehicle running costs, equipment rental or permits tied to that line's jobs

Leave out rent, management salaries, the accounting system and general insurance. They are overhead, handled in step 4.

Step 3: the worked example

The hypothetical company bills $2.8 million a year across three lines: contract maintenance, project work and small rush jobs. Overhead (rent, office staff, management, software, insurance) totals $560,000.

Contract maintenance Project work Small rush jobs Total
Revenue 1,400,000 1,100,000 300,000 2,800,000
Billable hours 15,000 9,000 5,200 29,200
Labour at $47.20 708,000 424,800 245,440 1,378,240
Materials 140,000 330,000 45,000 515,000
Subcontractors and other direct 70,000 90,000 30,000 190,000
Total direct cost 918,000 844,800 320,440 2,083,240
Contribution 482,000 255,200 −20,440 716,760
Contribution margin 34.4% 23.2% −6.8% 25.6%

Check the arithmetic: 15,000 × $47.20 = $708,000; $1,400,000 − $918,000 = $482,000; $482,000 ÷ $1,400,000 = 34.4%. Total contribution of $716,760 minus $560,000 overhead leaves an operating profit of $156,760, or 5.6% of revenue.

Reading the result

Small rush jobs bring in $300,000 but cost $320,440 to deliver. Revenue per billable hour is only $57.69 ($300,000 ÷ 5,200), against a labour cost alone of $47.20, leaving $10.49 an hour to cover materials and vehicles, which it does not. The line loses $20,440 before contributing anything to rent or management.

Why does it happen? Short visits with travel at both ends, minimum charges set years ago, and rush scheduling that disrupts the planned work in the other two lines. None of this shows in the company's overall 25.6% figure.

Step 4: add overhead as a second view, carefully

Once contribution is clear, you can allocate overhead to see whether each line covers a fair share. Allocating the $560,000 by revenue (20% of each line's revenue) gives:

  • Contract maintenance: $482,000 − $280,000 = $202,000
  • Project work: $255,200 − $220,000 = $35,200
  • Small rush jobs: −$20,440 − $60,000 = −$80,440

Be cautious with this view. If project work had contributed $180,000 instead, the allocation would show it at −$40,000, and an owner might drop it. But dropping it would remove $180,000 of contribution while most of the overhead stayed. Decide from contribution; use allocation only to ask whether overhead is too high for the business as a whole.

Step 5: choose between repricing, redesigning and dropping

A line with negative contribution has three exits. Work through them in this order.

  1. Reprice. To reach a 25% contribution margin with the same costs, rush revenue would need to be $320,440 ÷ 0.75 = $427,253, an increase of about 42%. That is a large jump, but rush customers often value speed more than price. The price change guide shows how much volume you could lose and still come out ahead.
  2. Redesign. A minimum call-out charge, batching rush calls by area and a fixed same-day window might cut hours by 20%, from 5,200 to 4,160. Labour falls to $196,352 (4,160 × $47.20), total direct cost to $271,352, and contribution rises to $28,648, or 9.5%. Combine that with a modest price increase and the line becomes worth keeping.
  3. Drop. If neither works, stopping the line adds $20,440 to profit immediately, and often more, because the freed hours can go to contract maintenance at a 34.4% margin. Check first whether rush customers also buy maintenance contracts; losing them could cost more than the line itself.

Most companies end up combining the first two. Dropping is right less often than owners expect, but it should always be on the table.

Running the same analysis by customer

The method works unchanged when the columns are customers instead of service lines. Take your 20 largest accounts by revenue, assign each one its hours, materials and direct expenses, and calculate contribution for each.

The pattern we see most often is a large account that negotiated a lower rate years ago, asks for frequent small changes and pays slowly. Its revenue makes it look important; its contribution may be the lowest in the list. A customer view also shows which accounts deserve a renewal conversation about scope or price before the next contract term, rather than after.

Common mistakes

  • Costing labour at base wage. Leaving out burden and unbillable time understates direct cost by 25% to 40% in many service companies.
  • Ignoring travel and setup hours. They belong to the line that causes them.
  • Analysing a single month. Seasonal lines look terrible in their quiet months. Use 12 months.
  • Deciding from allocated profit. Allocation spreads costs that will not go away; contribution measures what would.
  • Treating customers as one group. The same analysis by customer often finds two or three accounts that consume far more hours than they pay for.

A short checklist

  • Loaded labour rate calculated, with the burden percentage confirmed by your bookkeeper
  • Billable hours split by line, including travel and setup
  • Materials, subcontractors and direct expenses tagged by line
  • Contribution and contribution margin calculated for each line
  • Overhead allocated only as a secondary view
  • A decision for every negative line: reprice, redesign or drop
  • A date to rerun the analysis after the change

From the analysis to a decision

Margin by line is one of the first analyses in our business diagnostic, because it changes what the company should sell more of. When the losing line is caused by how the work flows, the process mapping guide is the next step, and the growth strategy service turns the results into choices about pricing and segments. If you want the analysis done with your own numbers, see the financial clarity service or call, text or email. A text to (604) 632-4959 naming your three main lines of work is a good way to begin.

Frequently asked questions

What is the difference between gross margin and contribution margin?

Gross margin usually follows your accountant's cost-of-sales definition for the whole company. Contribution margin is a management view by line: revenue minus every cost that line directly causes, including the loaded cost of the hours it uses. It answers the question of what you would lose if that line disappeared.

Should overhead be allocated to each line?

Show contribution first, before any allocation, and make decisions from it. Allocated overhead is useful as a second view of whether a line covers its share, but it can make a line that contributes real dollars look like a loss.

Where do I get the labour burden percentage?

From your bookkeeper or payroll provider. It covers employer CPP and EI contributions, vacation pay, workers' compensation premiums and any benefits. We use 18% below purely as a placeholder; your figure will differ.

How often should margin by line be reviewed?

Quarterly is enough for most companies once the first analysis is done. Review it sooner after a price change, a wage increase or a large new contract.