Setting a bill rate is the single most important number an agency gets right or wrong. Price it too low and you work for free; too high and you lose the placement. Here is the exact formula, what belongs in the markup, and a worked example you can run with your own numbers.
The bill rate formula
At its simplest, the bill rate is the pay rate plus a markup:
That is the mechanic. The harder question is what the markup has to cover, because the markup is not profit. It funds everything between the worker's pay and the margin you keep.
What the markup has to cover
Before any profit, the spread between pay and bill absorbs:
A representative $95/hr contract placement at a $70/hr pay rate.
- Worker pay$70/hr · 74%
- Employer burden$8/hr · 8%
- Gross margin$17/hr · 18%
Employer burden is the part agencies most often underestimate: payroll taxes, workers' compensation, unemployment insurance, and any benefits all sit on top of the pay rate. If you price a markup without accounting for burden, your real margin can be close to zero.
A worked example
Take a contractor paid $70.00/hr, with a 60% markup:
Step 1: apply the markup
$70.00 × 1.60 = a $112.00 bill rate.
Step 2: take out employer burden
Employer burden varies by jurisdiction and worker type. Take 20% on pay here: $70.00 × 0.20 = $14.00, so the true cost of the worker is $84.00/hr. On a T4 or W-2 placement, fully loaded burden can run higher once workers' compensation and benefits are included, which compresses the margin further.
Step 3: find the gross margin
$112.00 bill − $84.00 true cost = $28.00 gross margin per hour, or 25% of the bill rate. Across a 40-hour week that is $1,120.00, and over a year of full utilization, $58,240.00 of gross profit from a single placement.
Why worker type and location change the math
The same markup does not produce the same margin for every worker. This example uses 20% burden, but burden depends on how the worker is engaged and where they are placed. A 1099 or incorporated (LLC) contractor carries little to no employer burden, so close to the full spread between pay and bill drops to gross margin. A W-2 or T4 employee carries the full load, employer payroll taxes, workers' compensation, unemployment insurance, and any benefits, which can push burden well above 20% and compress the margin on the same bill rate. Those employer costs also vary by jurisdiction, since workers' compensation, unemployment, and payroll tax rates differ from one state or province to the next across the US and Canada, so the same role at the same pay can leave a different margin in a different location. Price the markup against the worker type and location you are actually placing.
The markup sets the price. The burden sets the truth. You only know the placement is profitable once both are in the math.
Run your own numbers
Drag in your real bill rate, pay rate, burden, hours, and headcount to see gross margin per hour, margin percentage, and annual gross profit:
Getting it right at scale
Calculating one bill rate by hand is easy. Holding the right margin across hundreds of placements, as pay rates change and burden varies by jurisdiction, is where it breaks down in a spreadsheet. When approved hours flow straight into billing and payroll calculations from one source, the margin on every placement stays visible in real time instead of being rediscovered at month end.
For the bigger picture of how this fits the whole revenue model, see how staffing agencies get paid.