← All guides

How to price a freelance project without guessing

Most pricing advice tries to help you arrive at a number. That is the wrong target, and aiming at it is why quoting feels like gambling. A price is not something you choose — it is something you calculate, from an effort estimate you can defend and a floor you worked out in advance.

Get the order of operations right

There is one rule underneath everything below, and almost every pricing mistake is a violation of it:

Estimate effort first. Calculate money second. Never the other way round.

The failure mode is starting from a number — what the client hinted at, what you charged last time, what feels like a lot — and then working backwards to justify it. That produces a figure with no relationship to the work, which means you cannot defend it when challenged, cannot adjust it when the scope moves, and cannot tell whether you made money until the project is over.

Effort is the only variable you actually have information about. Start there.

Estimate effort as a range

Write down three numbers: the hours if everything goes well, the hours you honestly expect, and the hours if the things you are worried about happen.

The third number is the one people skip, and it is the one that matters. If your optimistic and pessimistic estimates are 20 and 30 hours, you understand this project. If they are 20 and 80, you do not — and that is not a reason to pick something in the middle, it is information about what to do next. A four-times spread means you should be scoping, not quoting.

Estimate the work you will actually do, not the work described. Include the kickoff call, the revision rounds you know are coming, the handover, and the week where they go quiet and you have to restart your own context. Those hours are real. They are simply invisible in the brief, because the brief was written by someone who does not do your job.

Know your floor before you read the brief

Your floor is the hourly rate below which the year does not work — the number that covers your target income, your business costs, your tax and the weeks you are not billing. It has nothing to do with any particular project, which is precisely why it has to be worked out in advance, when no client is waiting on a reply.

If you have not calculated it, the rate calculator does it in about a minute. The number it produces is a floor, not a price: below it you are losing money once the year is averaged out, and everything from here is about how far above it a particular job should sit.

Multiply your likely hours by your floor. That is the least this project can cost. It is not the quote — it is the line under it.

Add a premium for risk

Two jobs with identical hours are not worth the same money. One is for a client who briefs clearly, decides quickly and pays on time. The other has three of the red flags that predict a difficult engagement. The second should cost more, and it should cost more by an amount you decided in advance rather than by however irritated you felt while reading the post.

A workable scale, and the one Opportunity Radar applies:

RiskWhat it looks likeMultiplier
LowClear brief, responsive client, normal terms× 1.0
MediumSome flags — vague deliverable, unnamed decision-maker× 1.1
HighSerious flags — payment tied to funding, unpaid test work× 1.2

These uplifts look small. They are meant to. A risk premium is not a punishment or a way to price yourself out — it is compensation for a genuinely worse expected outcome, and 10–20% is roughly what the difference is worth. If a job needs 80% more to be tolerable, the honest answer is that you do not want it, and no multiplier fixes that.

Add a second premium for uncertainty — sometimes

Risk and uncertainty are not the same thing, and conflating them is the most common pricing error after guessing the number.

Risk is about the client: will they pay, will they be reasonable, will they disappear. Uncertainty is about the work: do we actually know what is being built. A perfectly lovely client can hand you a completely unbounded scope.

Uncertainty deserves its own uplift — roughly 5% when the scope is tight, 15% when there are open questions, 30% when nobody has really defined the thing:

Scope uncertaintySignalMultiplier
LowSpecified, few unknowns× 1.05
MediumOne or two significant unknowns× 1.15
HighFour or more unknowns, or no real specification× 1.3

But here is the part almost nobody states: the uncertainty premium applies to fixed-price work only.

On an hourly contract, the client already absorbs scope growth — if the work turns out to be twice as large, they pay for twice as many hours. Charging an uncertainty premium on top of that bills them twice for the same risk. On fixed price, you are the one carrying it, so you are the one who has to price it. Which engagement to choose is really a question about who carries this risk, and it deserves its own answer.

Quote a range, not a number

Take your likely hours, multiply by your target rate, apply the multipliers that genuinely apply. Then do the same for your optimistic and pessimistic hours. You now have a band.

Quote the band. A single figure implies a precision you do not have, and clients quote it back to you verbatim eighteen months later. A range communicates something true — that the cost depends on decisions not yet made — and it opens the conversation that actually reduces your risk: "the lower end assumes we skip X; if you want X, we're at the top of the range."

Round to something human. Nobody has ever been reassured by a quote of £4,287.

Read the client's budget backwards

When the client states a budget, do not ask whether it sounds like a lot. Divide it by your honest hour estimate and ask what it pays per hour.

This one calculation defuses most bad deals. A £6,000 project sounds healthy until you notice it is 120 hours of work — £50 an hour, which may be well under your floor. Meanwhile a £900 job that genuinely takes six hours is £150 an hour, and worth taking.

Do it every time, before you feel anything about the number. The effective hourly rate is the only figure that makes two different projects comparable, and it converts "is this a good budget?" — which is unanswerable — into "is this above my floor?", which is arithmetic.

The currency trap

If the client's budget is in a different currency from your rates, convert before comparing. This sounds obvious and is missed constantly, because a number that looks familiar gets read as though it were in your own currency.

An effective rate calculated from a dollar budget is a rate in dollars. Comparing it to a euro floor without converting will make a bad job look fine roughly as often as it makes a good one look impossible.

Putting it together

The whole method is five lines: estimate hours as a range, multiply by your floor to find the minimum, multiply by your target rate for the real figure, apply risk and — on fixed price only — uncertainty, then quote the band.

What makes it hard in practice is the first line. Estimating effort honestly on a brief you have read once, from a client you have never met, is a skill, and the brief is usually missing the information that would make it easy.

That is the part Opportunity Radar is built for: it reads the post, estimates the effort, identifies the risks and unknowns that drive those multipliers, and produces the range — using your own rates, so the arithmetic is yours rather than a market average.

The rate calculator is free and needs no account. Opportunity Radar has a free plan covering ten job posts a month.