There's no single best pricing model — there's a best fit for the work in front of you. Charge hourly when the scope is unclear or the work is sporadic, charge a fixed price when the deliverable is well-defined, and use a retainer when the relationship is ongoing and predictable. The same underlying hourly rate sits beneath all three.
Whatever model you choose, it's built on knowing your real hourly rate — the number that covers your taxes, benefits, expenses, and unpaid time. Fixed prices come from estimating hours and applying that rate; retainers come from a block of hours at that rate. So start there if you haven't: how to set your freelance hourly rate. Everything below is a way of packaging it.
Best when: the scope is vague, the work is ad hoc or ongoing-but-unpredictable, or you genuinely can't estimate how long something will take. Upside: you're paid for every hour worked, so scope creep can't hurt you. Downside: your income is capped by your hours, you have to track time, and clients sometimes fixate on the clock rather than the value. Hourly is the safe default when you're uncertain.
Best when: the deliverable is clear and you can estimate it with confidence. Upside: clients love the certainty, and if you work efficiently your effective rate can rise above your hourly. Downside: all the estimation risk is yours — underestimate, and your effective rate collapses. The defense is a contingency buffer and capped revisions; see pricing a fixed-bid project without losing money.
Best when: the client needs you regularly and the work recurs month to month. Upside: it's the most stable income a freelancer can have — predictable, recurring, and it pays for reserved capacity whether or not every hour is used. Downside: you commit availability in advance, so you need to size the block honestly. See how to price a monthly retainer.
| Scope is unclear / work is sporadic | Hourly |
| Deliverable is well-defined | Fixed price |
| Ongoing, recurring relationship | Retainer |
| A focused full day of dedicated time | Day rate |
(For that last row, see how to set a freelance day rate.) Many established freelancers use all of these at once — hourly for one client, a fixed bid for a project, a retainer for a steady account. The skill is matching the model to the work, not picking one forever.