A 25% markup is only a 20% margin.

You put 25% on every job and thought you kept 25%. You didn't, and the hour you mark up costs more than the wage on the cheque.

The short answer

Markup is your profit as a share of your cost; margin is the same profit as a share of the price12.

  • So a 25% markup leaves a 20% margin, and to keep 25% of the price you mark up by 33.3%.
  • Start from your cost floor, not the wage: take a Calgary landscaping labourer at the $21.00 median3.
  • Once vacation pay, CPP, EI and WCB go on, they cost about $24.06 a paid hour in 202634.
  • That's about $30 for each hour you bill if one paid hour in five is driving and loading.

25% on top isn't 25% kept

Both numbers use the same dollars of profit. Markup divides that profit by what the job cost you1. Margin divides it by what the customer paid2.

The detail

The price is always bigger than the cost, so the margin is always the smaller number.

Example

  • A job costs you $1,000: $600 in materials and $400 in labour.
  • Mark it up 25%: $1,000 × 1.25 = $1,250.
  • You keep $250, and $250 ÷ $1,250 = 20% of the price.
The detail

To keep 25% of the price instead, divide the cost by what's left after the margin: $1,000 ÷ (1 − 0.25) = $1,333.33. You keep $333.33, which is a 33.3% markup on the $1,000.

BDC's own example runs the other way: a $3.50 cost sold at $10.00 is a 186% markup1.

The detail

The same $6.50 of profit is a 65% margin, because $6.50 ÷ $10.00 = 0.65.

Markup to margin, both ways

Our arithmetic: margin = markup ÷ (1 + markup); markup = margin ÷ (1 − margin)12
Markup on costMargin on pricePrice on a $1,000 cost
10%9.1%$1,100
20%16.7%$1,200
25%20%$1,250
33.3%25%$1,333.33
50%33.3%$1,500
100%50%$2,000

What one crew hour costs you in Alberta in 2026

What an Alberta employer pays on top of the wage, 2026 rates, read 27 October 2026
LineRateWhose figure
Wage, landscaping labourer, Calgary Region$21.00 an hour median3Job Bank, 2023 to 2024 data3
Vacation pay4% of wages, 6% from year five5Government of Alberta5
Employer CPP5.95%, with the first $3,500 a year exempt6Government of Canada6
Employer EI1.4 × $1.63 per $100 = $2.282 per $1007Canada Revenue Agency7
WCB, landscaping$1.91 per $100, down from $1.92 in 202548WCB-Alberta4

Example

  • One paid hour at $21.003.
  • Vacation pay: $21.00 × 4% = $0.84, so $21.845.
  • CPP: $21.84 × 5.95% = $1.306.
  • EI: $21.84 × 2.282% = $0.507.
  • WCB: $21.84 × $1.91 ÷ $100 = $0.424.
The detail

Total: $21.84 + $1.30 + $0.50 + $0.42 = $24.06 a paid hour. CPP comes out a little lower over a year, because the first $3,500 is exempt6.

Swap in your own wage and your own WCB rate group. Your accountant can confirm how each line sits in your payroll.

The detail

Benefits, overtime and stat pay come on top.

Paid hours aren't billable hours

You pay for the drive, the loading, the rain delay and the trip back for a part. The customer pays for the time on their job.

The detail

Your price has to carry the difference.

Example

  • Say 32 of a labourer's 40 paid hours a week are on a customer's job.
  • The labour floor per billable hour is $24.06 × 40 ÷ 32 = $30.08.
The detail

At 30 billable hours out of 40, it's $24.06 × 40 ÷ 30 = $32.08.

Then overhead, then margin

  1. Start from the labour floor

    The cost of a paid hour, spread over the hours you can bill.

  2. Add overhead per billable hour

    Truck, fuel, insurance, phone, software, the office and your own time quoting.

    The detail

    Add up a year of it and divide by your crew's billable hours. BDC's pricing method puts overhead into the price for the same reason1.

  3. Divide by what's left after your margin

    For a 25% margin, divide by 0.75. For 30%, divide by 0.70.

  4. Put GST on top

    If you charge GST, Alberta's rate is 5%, with no provincial sales tax9.

    The detail

    It goes on top of the price, so it never counts toward your margin.

Example

  • Two labourers billing 32 hours a week each: 2 × 32 × 52 = 3,328 billable hours a year.
  • Overhead of $40,000 a year ÷ 3,328 = $12.02 an hour.
The detail

Cost: $30.08 + $12.02 = $42.10 a billable hour. For a 25% margin: $42.10 ÷ 0.75 = $56.13, and $56.13 − $42.10 = $14.03 kept. Marked up 25% instead, the rate would be $42.10 × 1.25 = $52.63, a 20% margin.

Where we fit

We don't set anyone's prices.

The detail

When we build a client's system, we build their price list into it with them, so every quote is drafted from their own numbers and waits for their yes before it goes.

Sources

  1. 7 steps to setting the right price for your products or services, BDC (Business Development Bank of Canada). Read 2026-10-27.
  2. What is gross margin?, BDC (Business Development Bank of Canada). Read 2026-10-27.
  3. General labourer, landscaping, in the Calgary Region: wages, Government of Canada, Job Bank. Read 2026-10-27.
  4. 2026 Premium Rates by Sector and Rate Group, WCB-Alberta. Read 2026-10-27.
  5. Vacation pay, Government of Alberta. Read 2026-10-27.
  6. Contributions to the Canada Pension Plan, Government of Canada. Read 2026-10-27.
  7. EI premium rates and maximums, Canada Revenue Agency. Read 2026-10-27.
  8. 2026 Premium Rates Highlights, WCB-Alberta. Read 2026-10-27.
  9. GST/HST provincial rates table, Canada Revenue Agency. Read 2026-10-27.

Checked on 2026-10-27.

Book a fit call.

If your rates haven't moved since your wages did, tell us how you build a quote and we'll tell you straight whether a system would help.

Free, and about 30 minutes.

Book a fit call

Or call 1-888-808-0310