How to set an internal hourly cost rate for agency staff and freelancers
To see what a client's work leaves, you need to know what an hour of your team's time costs you. Not what you charge for it. What it costs.
That figure is your internal hourly cost rate. This guide shows how to set one for employees and freelancers, when one blended rate is enough, how often to review it, and the mistakes that make it too low.
The basic formula
For an employee, the internal hourly cost rate is:
(annual salary + annual on-costs) ÷ annual delivery hours
Each part matters.
- Salary is the gross annual pay.
- On-costs are what you pay on top of salary to employ that person. In the US that includes the employer share of Social Security (6.2%, on earnings up to US$184,500 for 2026) and Medicare (1.45%), plus benefits, unemployment insurance and workers' compensation. In Australia it includes the super guarantee of 12% of qualifying earnings, plus workers' compensation and, where it applies, state payroll tax. Add equipment and software used only by that person if you want them in the rate.
- Delivery hours are the hours that person can realistically spend on client work in a year. This is where most rates go wrong.
Why the denominator is delivery hours
A full-time year is 2,080 hours (52 weeks × 40 hours). Nobody delivers client work for all of them.
Take out vacation, public holidays and sick days. Then take out the time spent on internal meetings, sales, admin and training. What remains is delivery capacity, and it is often well under 1,500 hours. How to set a realistic utilization target shows how to count it role by role.
Dividing by delivery hours rather than 2,080 spreads the cost of non-delivery time across the hours clients actually use. That way, when a client row shows contribution, staff cost is fully covered.
The alternative is to divide by available hours and treat non-delivery time as overhead. Both approaches work. Pick one and use it consistently, so staff cost is never counted twice or left out.
A worked calculation
These figures are illustrative. They are not salary benchmarks.
A designer earns US$70,000 a year.
- Employer payroll taxes. 6.2% Social Security + 1.45% Medicare = 7.65%. On US$70,000 that is US$5,355.
- Benefits and other on-costs. Health insurance, unemployment insurance, workers' compensation and a laptop, estimated at US$7,200.
- Annual cost. US$70,000 + US$5,355 + US$7,200 = US$82,555.
- Available hours. 2,080 − 240 hours (15 vacation days, 10 holidays, 5 sick days at 8 hours) = 1,840. In Australia, full-time employees get 4 weeks of annual leave, so start from 20 leave days rather than 15.
- Delivery share. About 70% of available time goes to client work. 1,840 × 70% = 1,288 delivery hours.
- Internal hourly cost rate. US$82,555 ÷ 1,288 = US$64.10, rounded to US$64.
Had you divided by 2,080, the rate would be US$39.69. Every client would look about US$24 an hour better than it is.
One blended rate or a rate per role
Here is the same method applied to a small team:
| Role | Annual cost | Delivery share | Delivery hours | Hourly cost |
|---|---|---|---|---|
| Designer | US$82,555 | 70% | 1,288 | US$64.10 |
| Developer | US$105,285 | 75% | 1,380 | US$76.29 |
| Account lead | US$93,920 | 40% | 736 | US$127.61 |
| Blended | US$281,760 | 3,404 | US$82.77 |
The blended rate is total annual cost divided by total delivery hours, not an average of the three rates.
The account lead's rate stands out. Their salary is not the highest, but only 40% of their time goes to delivery, so each delivery hour carries more cost. That is normal for senior and client-facing roles.
Use one blended rate when:
- Everyone costs roughly the same
- Most clients use a similar mix of roles
- You want the simplest monthly routine
Use per-role rates when:
- Rates differ by 30% or more between roles
- Some clients use mostly one role
- You are deciding whether a particular kind of work is worth taking on
In the table above, a design-heavy client costed at the blended US$82.77 would carry about US$18.67 an hour more than the designer's actual US$64.10. The client would look worse than it is. A client that uses the account lead heavily would look better than it is.
Freelancers and contractors
Freelancers are easier because you already know what you pay them. The question is how to record it.
Option 1: record the invoice as an external cost. Put the freelancer's invoice amount against the client and leave their hours out. This is the cleanest approach when you pay a fixed fee or a day rate and don't track their hours.
Option 2: convert to an hourly cost. Divide what you pay by the hours actually worked. A US$600 day rate for 8 hours of client work is US$75 an hour. If you pay for a full day but get 6 hours of client work, the real rate is US$100 an hour.
Use one option per freelancer, not both. Recording the invoice and their hours at a rate counts the same cost twice.
Your own hours
If you are the owner and you deliver client work, give your hours a cost too. A fair approach is what you would pay someone else to do that work. Without it, the clients you work on personally will look far better than the ones your team handles.
How often to review the rate
Review your rates once a year, usually when salaries are reviewed. Also review them when:
- Someone joins or leaves
- A salary changes by more than a few percent
- The share of time spent on delivery changes, for example after you take on more sales work
- Benefit or insurance costs change noticeably
Apply a new rate from the first day of a month. Leave earlier months at the old rate so month-to-month comparisons still mean something.
Every quarter, compare the delivery hours you assumed with the hours actually logged. If the team logged 1,100 delivery hours instead of the expected 1,288, your real cost per hour was higher than your rate.
Common pitfalls
- Using the billing rate as the cost rate. This makes every client look like it breaks even.
- Dividing by 2,080 hours. It understates cost by a third or more.
- Forgetting on-costs. Payroll taxes, super, benefits and insurance are part of the cost of an hour.
- Counting freelancers twice. Invoice as an external cost, or hours at a rate. Not both.
- Changing the rate mid-month. It makes one month impossible to compare with the next.
- Leaving owner time at zero. It flatters the work you do yourself.
How the tracker uses your rate
In the Client Profitability Tracker, each Work log row has an hourly delivery cost, entered in that row's cost currency. It is the internal cost per delivery hour, not the client billing rate. The workbook multiplies it by the row's delivery hours to get delivery labor cost, adds external delivery costs, and subtracts the total from net fees to show contribution before overhead.
Each row uses one hourly cost, so hours are not split by person. If you use per-role rates, add one row per role for the same client and month, and give each row its own project code, for example OAK-WEB-DES and OAK-WEB-DEV. A repeated client, project and month combination is flagged for review.
Freelancer invoices go in the external delivery costs column. Zero is allowed for hours or hourly cost; negative values are flagged.
A free lite edition with the same fields, for businesses working in one currency, is planned, with no release date yet. Once you have your rate, see what contribution before overhead tells you, or read the tracker's setup guide.
Sources
- Internal Revenue Service, "Topic no. 751, Social Security and Medicare withholding rates," https://www.irs.gov/taxtopics/tc751 (accessed Sep 28, 2026)
- Fair Work Ombudsman, "Tax and superannuation," https://www.fairwork.gov.au/pay-and-wages/tax-and-superannuation (accessed Sep 28, 2026)
- Fair Work Ombudsman, "Annual leave," https://www.fairwork.gov.au/leave/annual-leave (accessed Sep 28, 2026)
Common questions
What is the difference between an internal hourly cost rate and a billing rate?
Your billing rate is what a client pays for an hour. Your internal hourly cost rate is what that hour costs you: salary and on-costs spread over the hours your team can actually spend on client work. Contribution is the gap between the two.
Should a small agency use one blended hourly cost or a rate per role?
Use one blended rate when your people cost roughly the same and work across the same clients. Use per-role rates when costs differ a lot between roles and some clients use mostly one role, such as design-heavy or development-heavy work.
How often should I update my internal hourly cost rate?
Review it once a year and whenever salaries, headcount or the share of time spent on delivery change noticeably. Apply a new rate from the start of a month, and leave past months at the rate that was in use then.