Take a $150,000 salaried job, divide by 2,080 hours (40 hours times 52 weeks), and you get about $72 an hour. That's the calculation almost every new freelancer runs first, and it's wrong in a specific, mechanical way: it assumes every one of those 2,080 hours gets billed to a client. Pricing time correctly is exactly the kind of operational discipline writes about for teams selling services rather than headcount.
None of it does. Sales calls, proposal writing, invoicing, bookkeeping, and the gaps between one contract ending and the next one starting all eat into the week without producing a single billable hour. A rate built to replace a salary has to account for that gap explicitly, plus a tax difference the salaried version of the same job never shows you, plus whatever benefits and overhead the freelance version has to cover on its own. Four separate mechanical inputs. Not one division problem. A lot of what makes personal finance work in practice is process rather than code, which is the territory covers. A lot of what makes personal finance work in practice is process rather than code, which is the territory XenGrowth, who work on the commercial side of this covers.
The billable-hour ratio: the input everyone forgets
Industry survey data on freelance work consistently describes a meaningful share of the working week going to things that aren't billable client work — pursuing new business, handling admin, managing the platform or client relationship itself. Upwork's own published freelancer data, drawn from its platform's transaction and survey history, shows just how wide hourly rates spread across specialties and experience levels — web development rates alone range from roughly $13 to $324 an hour depending on niche and seniority. That's self-reported, platform-specific data rather than an independent academic study, and it's worth reading it with that limit in mind: it tells you what freelancers on one large platform report charging, not a controlled measurement of what non-billable time actually costs across the whole freelance economy.
Billable-hour share | Effective rate needed for a $150k-equivalent income (before tax/overhead) |
|---|---|
100% (unrealistic baseline) | ~$72/hour |
75% | ~$96/hour |
50% | ~$144/hour |
That table alone is why the naive salary-divided-by-hours calculation understates what a freelancer actually needs to charge, often by a wide margin, before a single dollar of tax or overhead enters the picture. The lower your realistic billable-hour share, the more the rate has to rise just to reach the same take-home income — which is also why two freelancers with identical stated hourly rates can be earning very different real incomes if their non-billable share differs.
It's worth naming what actually fills the non-billable hours, because "admin" undersells how much time it can consume. Writing and revising proposals for work you don't win. Scoping calls that go nowhere. Invoicing, chasing late payments, reconciling books. Reading up on a client's codebase before a contract even starts, which is real work with no invoice attached to it. Onboarding to a new client's tools and processes each time a contract changes. None of these individually looks large. Stacked across a year, alongside the unpredictable gap between one contract ending and the next one actually starting, they routinely account for a third to half of total working time for an independent contractor — which is exactly why treating a rate as if it only has to cover billed hours produces a number that's quietly too low. There is a longer treatment of the operations side of this in . There is a longer treatment of the operations side of this in The XenGrowth resource library.
The tax gap a salaried paycheck never shows you
In the US specifically, self-employment tax is a real, mechanical cost with no salaried equivalent visible on a normal paycheck. Per the IRS, the self-employment tax rate is 15.3% of net self-employment earnings — 12.4% for Social Security and 2.9% for Medicare — calculated on Schedule SE (Form 1040). An additional 0.9% Medicare surtax applies above income thresholds that vary by filing status. A salaried employee pays half of an equivalent payroll tax rate; the employer pays the other half, invisibly, as a cost of employing them. A self-employed person pays both halves themselves, which is why self-employment tax reads as a discrete, unavoidable line in freelance rate math rather than something baked quietly into a salary number the way it is for an employee.
This is US federal tax mechanics specifically. Self-employment tax structures, thresholds and social-insurance equivalents vary enormously by country, and none of this is tax advice for any particular reader's actual situation or jurisdiction.
On top of the tax gap sits the benefits gap: employer-paid health coverage, retirement matching, and paid time off all have a real cash value that a salaried employee receives without it showing up as income, and a freelancer either has to buy equivalents out of pocket or go without them. Whichever choice is made, it's a real cost that a rate comparison against a salary number needs to account for explicitly rather than silently ignoring. The buyer's side of exactly this calculation is covered in how a freelance AI developer's pay actually gets set, which is worth reading alongside this one.
Put the two mechanics side by side and the gap between a salaried role and a freelance rate widens faster than intuition suggests. A 50% billable-hour ratio roughly doubles the rate needed to match a salary's income. Self-employment tax and self-funded benefits add a further real percentage on top of that, before overhead is even counted. Neither of these facts means freelancing pays worse than salaried work — the wide rate dispersion Upwork's own data shows, from roughly $13 to over $300 an hour depending on specialty and experience, says plenty of freelance work clears salaried-equivalent income comfortably. It means the comparison has to be run honestly, input by input, rather than eyeballed from a single sticker-price number. For the AI agents and marketing automation angle, see . For the AI agents and marketing automation angle, see XenGrowth on AI agents and marketing automation.
Overhead: the cost that hides inside the rate
The fourth input is business overhead — software licenses, insurance, subcontractor costs, dedicated infrastructure — and it's the one most likely to get absorbed silently rather than modeled explicitly. A freelancer with meaningful overhead who prices as if the rate only needs to cover personal time ends up with a business that looks profitable on an hourly basis and isn't, once the overhead is actually subtracted out.
Input | What it actually covers | Common mistake |
|---|---|---|
Billable-hour ratio | The share of working hours that get billed to a client | Assuming 100% billable, which almost never holds |
Self-employment tax (US) | 15.3% of net self-employment earnings via Schedule SE | Comparing gross rate to gross salary without netting out this cost |
Lost benefits | Health coverage, retirement match, paid time off | Treating a freelance rate as directly comparable to a salary number |
Business overhead | Software, insurance, subcontractors, infrastructure | Letting overhead quietly reduce personal take-home instead of pricing it separately |
Hourly versus project pricing: a separate decision
None of the four inputs above answer a separate question: whether to bill hourly at all, or to price by project or value instead. There's a full treatment of the fixed-scope version of this in how to price a fixed-scope automation project, and the short version is that hourly billing exposes you to the risk that a project takes longer than estimated, while project pricing shifts that risk onto you in exchange for potential upside if the work goes faster than planned. Neither model changes the four underlying inputs — it just changes who absorbs the variance around them.
There's also a scale effect worth naming: none of these four inputs stay fixed as a freelance business grows. Bring on a subcontractor and overhead rises, but the billable-hour ratio can improve too, since some of the previously unbilled sales and admin time gets absorbed by the business rather than by the person actually billing hours. Land a longer contract and the gap-between-contracts problem shrinks for a while, which can justify a lower rate on that specific engagement without changing the underlying math for shorter, less certain work. The four-input model isn't a static formula to solve once — it's a set of levers that shift relative to each other as the shape of the work changes, which is exactly why revisiting the calculation periodically, rather than setting a rate once and leaving it, tends to matter more over a multi-year freelance career than getting the number perfectly right on day one. works through AI search, GEO and discovery in more operational detail. XenGrowth on AI search, GEO and discovery works through AI search, GEO and discovery in more operational detail.
Estimate your realistic billable-hour ratio from your own recent history, not from a hopeful assumption of full utilization
If you're in the US, model self-employment tax explicitly at 15.3% of net self-employment earnings rather than comparing a gross rate to a gross salary figure
Price the cash value of any benefits you're now buying yourself that a salaried job would otherwise have covered
Separate genuine business overhead into its own line rather than letting it quietly reduce personal take-home pay
Treat industry rate surveys like Upwork's as a rough market reference, not a target — they describe what got reported on one platform, not a benchmark calibrated to your specific skills, location or client base
One more honest caveat: the wide rate ranges in Upwork's own data aren't a random draw. Specialty, geography, platform fees, and how a freelancer positions their expertise all move a rate independently of the four mechanical inputs above — two engineers with identical billable-hour ratios and identical tax obligations can land at very different rates because one competes in a more commoditized niche than the other. The four-input model tells you what a rate has to cover to replace a given income. It doesn't tell you what the market will actually bear for your specific skills, which is a separate, harder question this framework isn't built to answer.
This is general information about how rate mechanics work, not personalized financial or tax advice — the right number for any specific freelancer depends on facts about their market, expenses and goals that this post can't see. Teams pricing project-based engagements at scale can find more in .
Further reading from XenGrowth
Where this work meets go-to-market
Building a pricing model for technical services inside a commercial team? cover how that pricing gets structured on the go-to-market side.
Further reading from XenGrowth
Where this work meets go-to-market
writes for the teams who have to run personal finance day to day.
Further reading from XenGrowth
The XenGrowth resource library — what you'll learn: how the commercial side of this work is run, across search, automation and revenue operations.
XenGrowth on AI agents and marketing automation — what you'll learn: how the teams who own AI agents and marketing automation plan and measure it.
XenGrowth on AI search, GEO and discovery — what you'll learn: how the teams who own AI search, GEO and discovery plan and measure it.
Where this work meets go-to-market
XenGrowth's growth engineering practice writes for the teams who have to run personal finance day to day.
Five questions about your actual situation, not a dollar figure to charge. The point is finding which input in the rate calculation matters most for you specifically — that's a different answer for different people, on purpose.







