How to charge clients: flat fee vs. hourly rate?


Having been back in the freelance world for a while now, I once again have to deal with quoting my clients an hourly rate for long-term contract work on an ongoing basis. I've been able to raise my rate several times in recent years, and now it's to the point where most people balk when I give them the figure.

But in reality, the amount of work I can do in an hour is the equivelant to what might take a less experienced person twice as long (or longer). In addition, more experienced people can cut down on potential revision time and avoid costly problems in the future by utilizing the knowledge they've built up of their work. And in general, if you've performed the same skill for a while, you're going to have all the tools you need and be much more comfortable doing it. So one hour of my time can easily be equivelant to four hours of a less experienced person's time.

Unfortunately the average client doesn't see it like this. They just see a high number and look to the next person. That's why hourly rates are hard to use, especially on long-term, open-ended contracts.

A designer named Clay Butler wrote about this problem. He also points out that hourly rates actually punish good designers:

Another problem with charging by the hour is that it punishes for getting get better and faster. To keep up with your increasing speed and skills your hourly fee must keep rising. With an hourly rate you can paint yourself into a corner because at a certain point an hourly rate will just sound ridiculous, where the same total fee, when presented as a flat fee, sounds reasonable because it focuses on value received and not the commodity (hours).

Clay Butler's opinion is that a flat fee works for both the contractor and the client. But rather than calling it a flat fee, he calls it a "value-based fee."

His suggestions are good, but I'm not so sure they work for me, given the fact I mostly do long-term contract work rather than one-off, short-term projects.

The challenge I face is to try to avoid the sticker shock that potential new clients might feel. The best clients understand the high rate and everything factored into it, but many others don't. So I don't know if I've found the solution for this problem yet. If you have a solution to this, I'd love to hear it.


I solved this problem a long time ago. I simply charge a "normal" hourly rate, without any absurd sticker shock, but lie on the number of hours it took me. So even though a project might have only taken me only 1 hour, I will charge for 4 or 5 hours.
Thanks for quoting my is tough to impliment a value based fee with long term contracts. I haven't found the perfect solution but I have found that you can sometime mix the two. So you can bill hourly for certain basics and then have an ala cart service menu for higher value items which you bill at a flat fee ( value based)
BTW, I envy your office. Looks like a slice of heaven.
I think there is a middle way - charge the client flat fee for the basic version, and then an agreed beforehand hourly fee for fixes.

Charging just the flat fee causes dissatisfaction on the side of the developer quite often from my experience, because the vast majority of projects requires future upgrades. It also creates a situation when a client tries to push many changes into the project at the last minute, to get the bigger bang for the buck.

With respect to fixed fees - try using options.

The price goes up as you handle more of the work.

Option 1 - Client does most of work - $100

Option 2 - Client participates but you do more - $ 500

Option 3 - You do it all - $2,500

It's not easy at first - but you'll be surprised how often customers pick higher options.

Also avoid the temptation to price your lowest level option as a bargain basement fee -- unless you enjoy that type of work.

Any modification to the scope or description of work is a change request.

It is VITALLY important that you stick to this or the whole fixed fee becomes nothing but a not to exceed.

It will take two or three (or more) tries before you become comfortable at this.

Here's how I do it (I'm in computer consulting on ERP):

a. Have a Google Doc template with 85% of your contract boilerplate

b. Fill in the particulars (scope) for specific contracts. I think save this as a PDF and email it to the prospect.

Note: Prior to going to a full proposal to a prospect who is not a referral or who I don't know - I send out a FAQ about my billing structure. You can set this up in Gmail under the CANNED RESPONSES lab add-in --- or I use TextExpander which lets me use that boilerplate just about everywhere.

If you get a lot of web inquiries you definitely will want to pre-screen prior to moving toward the proposal (which takes time to prepare and web visitors have no problems sharing with a competitor).

c. Use a service like Freshbooks which will allow you to email out estimates for approval and then convert them to invoices (it's not perfect but I've yet to find a billing system that is). And Freshbooks works wonders for recurring invoices as well.

I find that the hourly rate combined with an estimate is the way to go.

You give your hourly rate and then do a good piece by piece estimate. This is planning you're going to have to do anyway and it'll help you really flesh out a bigger project and find questions you have for the client. Mockups really help here too.

Then you give them your estimate while emphasizing that it is just an estimate and that if the client wants to make changes on the fly, it'll alter the estimate.

This way, you stick to your hourly rate to ward off/profit from scope creep while still letting the client know the general ballpark that their "flat rate" would fall into.

So far this has worked well for us. In fact, taking this to the extreme, you don't even have to say what your hourly rate is (although some clients might ask).

Let me also add that some people will go, but what if your estimate is wrong and it takes you twice as long? Then the client will be pissed.

Well, early on in your freelance career, you'll probably be pretty off on your estimates (almost always estimating too little). So definitely always add 20% to all estimates.

But estimating is a skill. And I've found that the more I do it, the more projects I do, the more experience I get, the better I've gotten at it. And I've found that for many types of projects I can be fairly accurate. And for things I haven't done before, I add at least 20% to my estimate.

Early on while you're building clientele, it might make sense to work for free if you go way over your estimate to make your client happy. And I found that while doing this, it didn't actually feel that bad because I knew I was getting better at it all the time and it was a temporary situation. It's no different than going than extra mile with a new client to really make them happy and get them locked into you.

Being a designer in a tech company has taught me to carefully scope out design, including revisions, in terms of hours just like our dev team. Anything over the scope is priced hourly. So at initiation, the entire estimate has hours expected for each phase, but it all goes into a big bucket so the client can mix and match where they need more time. It really helps move a project to completion when both you and your client are working against a set number of hours. I also outsource to designers and developers, and I give them my budgeted hours (hours it would take me or my in-house folks) and offer to pay them hourly if client decisions force them to exceed those hours.

Thanks for the article and great picture btw!

This is a problem with no easy solution. It will always depend on the kind of work, what others are already charging in your area, and above all, the client at hand.
In the past when I'd paid for assistance with newsletter design - the fee was X for delivery of the newsletter plus one revision.

You're leaving 40-50% on the table pricing hourly.

Charge based on the value you provide. Quoting hourly you will also lose. Even if you lie about hours like someone suggested!

Explain that you have a 5 step system you will take their project through (system makes them more comfortable they can trust what you will do).

Lastly try price contrasting. e.g. this is a big job projects like this I usually charge $100 an hour and they normally take about 100 hours, maybe a little less or a little more. Or if you like I can just charge a flat $8,000 as long as you pay 50% in advance.

I also agree with providing multiple price points, always offer something higher than you think they will accept. Let them choose what they want.

What I have done in the past for larger, long-term projects, is to charge a flat rate per milestone. This allows you to reduce the scope of what you're estimating (and adjust based on the previous milestones estimate accuracy).
Recently when looking for a contractor, I simply took the expected cost of contract. Number of hours and cost per hour. The folks who were noobs quoted twice the number of hours but the same rate, the folks with domain knowledge quoted a reasonable number of hours and a slightly higher hourly rate. I know the project might overrun in hours, but getting both set expectations correctly.
I charge market rate for my skills which companies that don't know what they are doing think is ridiculous. Depending on what I am doing, how soon you need me to start, and how long the gig is, my rate ranges from $165-$600 an hour.

I also make my rates clear early on. This has resulted in not having to deal with piss ant little companies.

Eric, you solved the problem by committing fraud? You may wish to consult with an attorney on the legality of that practice of yours.
Haha! Nice picture. Cory you have a point here as always ;)

Add a comment