Charging Hourly Vs. Fixed Price

Unlike most of the freelancers I meet, I started my freelance career charging by the hour. The CTO of the company, now one of my best friends, carefully watched my deliverables and my bills to make sure they matched his expectations. Knowing this was my first gig, he explained to me that the company was buying my expertise.
He encouraged me to charge, and charge well, when I knew what I was doing and was kicking butt. He also insisted that I learn on my own dollar and not penalize my client for any lack of productivity. Basically, even though we had agreed upon an hourly rate, he made it very clear he was paying for the end product, not all the time I may have been spending.
There are fundamentally two payment structures used by freelancers in today’s market:
Hourly is the exchange of a productive hour of expert work for an hourly rate. For $xx per hour, I will provide you the technical expertise you need to develop the API for this prototype.
Fixed price is the exchange of a pre-defined amount of work for a specific total dollar value. For $xx,xxx I will provide your company a new brand including colors, typeface, logo, business cards, store sign and letterhead.
Both approaches are common and each has their appropriate place and time. What fascinates me is the intense emotion that we often see (even among ourselves) regarding which to choose. So what are the pro’s and cons, how do you choose and how do you price yourself once you do?
Hourly
You are charging a specific dollar amount for each hour of solid progress towards a deliverable. Your client knows you are an expert on the subject. They have agreed to pay your rate for support on their endeavor.
Misconceptions
Before we get any further, let me address some of the misconceptions I commonly hear.
Charging by the hour means there is no accountability on the freelancer’s part, nor planning or a general budget. A good project manager always has a target budget and the goal to keep within it. If you expect any repeat business, you are just as liable for the end budget as the project manager. You need to be in constant communication working with them to manage expectations so that they can do their job well.
Honestly, if you were to pick only one goal, it should be to help make your client’s project manager a hero. The better they look, the happier they are with you and the more they will use your services and refer you in the future.
Charging by the hour means you expense each and every minute you work. The client is paying for progress on a solution to their problem. They are not paying for you. You do not bill the time it takes you to invoice them. You do not bill time you spent researching the web for ideas. You do not bill for each and every meeting. Often, you do not bill for the egregious direction you took which lost 4 hours of progress on the new module.
These are the costs of being in business. You need to make sure that you build the cost of doing business into your rate. Be careful or you can end up working for pennies on the dollar.
Hourly is unfair to the client. This is completely false. Take the following three points into consideration:
1) Over 90% of our projects are completed well under budget.
2) If the ultimate liability for the cost of the project is not in our court, we do not have to pad our rate to cover for the unexpected.
3) Managing feature creep in a fixed rate project makes us guard the sanctity of the spec and resist change. If they are getting a better rate, more flexibility and perhaps even a lower price, then it is often to the client’s advantage to have us charge hourly. Virtually all of our hourly projects have been a win for our clients.
Many contractors fear that with an hourly budget, they will be fighting the urge to bill more. Many clients are afraid to get gouged. The risk is certainly there. Let me ask you - are you in business to rip someone off? If you intend to make this a career and run a successful company, you need to remember that all that matters is your reputation. Success = happy client. If you keep that in mind when you write your invoice and balance both sets of expectations, then everyone tends to be happy.
Pro’s of Charging Hourly
- Get paid for most of the work you do / Lower financial risk on your part
- Client is more aware of the correlation between their requests / changes and the cost
- Less resistance on both sides to technical and direction changes
- Less resistance from you on timeline changes
- Less likely you get burned
Con’s of Charging Hourly
- Income level is unclear
- Tougher to plan forward
- Increased possibility for budget miscommunications
- Leverage of past work has less impact on your profitability
Selecting a Rate
Your hourly rate should be based upon the quality of your work, the industry you are in, and your cost of living. Make sure you take into account the fact that you will never bill all your time. Freelance Switch has a great rate calculator to help you determine what your rate should be based upon industry, environmental and personal factors. For more on pricing yourself, check out are you working for free?
When to Charge Hourly
- Developing a clear spec is not possible: vague deliverables such as prototypes
- Working in a volatile environment, such as developing on Facebook whose API is in constant flux
- Retainers for clients that want to lock down your availability
- Clients that have a history of making a lot of changes and need flexibility
Fixed Bid
You are charging a set amount of money for a clearly defined set of services. The key to a successful fixed bid is the clarity and accuracy of the specifications document, called a spec in the industry. The more clear you are with a spec, the higher the odds that you’ll make a profit.
Misconceptions
You don’t need to track your time on a fixed bid. A fixed bid is built upon an hourly rate applied to your spec sheet. You write out an exact list of deliverables: this piece of code, that piece of design. Then you make a guestimate on how long each piece will take. Once that’s done, many contractors go along their merry way and complete the project without ever asking themselves one critical question: how well did I guess? Or even worse, they don’t know their hourly rate at all.
The only way to know your level of success or failure is if you track your time and compare it to your estimates. With that information you can learn, grow and improve towards a more profitable business. Our first few fixed bids ended with us working a $12/hr in one case and paying the client $15,000 to build their application in another. I am serious when I keep repeating that tracking your time is not optional.
A fixed bid makes for easier client relationships. Clients want their problems solved as efficiently and economically as possible. If you bid accurately and the client actually knows what they want (and doesn’t change anything), then fixed bids go very smoothly. Often that is not the case, and nothing generates more frustration than feeling like you are being taken advantage of.
With a bid gone wrong, both you and the customer feel that sense of apprehension. Freelancers need to be more than technicians. They need to understand how to work with people and get the spec that actually solves the issue. Frankly, most of us should be spending 2 - 3 times longer on our bids than we do.
Be extremely careful with technologies you are not totally familiar with - we’ve been burned to the tune of $10k+ a few times when exploring new terrain. Our fault, but it hurts. If you are using subcontractors to fill some holes, make sure they are part of the bidding process and you are not guessing. Just like you are being held accountable to your estimate, they should be as well. Guessing is bad. The more data you have, hence tracking you time, the more accurately you can estimate the true cost of a bid. The more accurate your bid, the less conflict you will need to work through during the project.
Fixed is fixed. After getting the fixed bid as accurate as possible, you then need to control for feature creep. Feature creep is the never ending series of requests for one little idea after another to get added in. A few minor changes are acceptable, but many clients will keep pushing until you push back.
That act of having to constantly push back can be quite stressful on the relationship and needs to be handled early and artfully. The key here is the power of the word “Which,” a word deserving of its own blog post.
“Which way would you prefer: to have the new feature you just explained or this feature that was in the spec? Your budget only allows for one.” If they say both, ask for more money. If they refuse, put on your biggest smile and while gently chuckling say, “Are you asking me to work for free?”
The art of negotiation continues through the entire project. While many contractors don’t mind working for free while trying to build their reputation, this cannot last forever. Once you get to the point where you are rejecting work, the idea of working for free for anyone leaves a sour taste in your mouth and can ruin a relationship. We are talking from experience.
Pro’s Of Charging a Fixed Price
- Income clearly defined
- Working from a highly detailed spec
- Easier to manage your resources
- Simpler to ask for money up front
- Increase profitability through the use of assets (code libraries etc…)
Con’s Of Charging a Fixed Price
- You take on all financial risk
- Timeline and technical changes are not usually in your favor
- More likely you get burned
Setting your Price
Get the following together: 1) your spec, 2) your estimated time to completion, 3) the list of assets you plan to capitalize upon and if you work with subcontractors, 4) your team’s cost and availability. All these will need to be taken into account. Don’t forget to include project management, meetings, quality assurance and testing, deployment, customer service and any other services that you may be responsible for, but have not detailed out in your spec and time to completion.
Once you have a true number of hours, figure out your reserve or buffer. The purpose of this is to cover you in the case of the inevitable changes and surprises that happen during projects. Sometimes things take longer than planned. A brilliant solution turns out to be wrong. You know how it goes. I tend to add a buffer around 30% of the project time, higher for extremely complex projects, to the total hours. Take your total and multiple it by your hourly billable rate. Check the number over and ask yourself if it seems reasonable.
I’ve often found our estimates to be pretty accurate. If the client freaks out, carefully explain it to them. There are good reasons to lower your price, but understand that almost every time we’ve done that, we’ve ended up losing money.
Good reasons to lower your price might include gaining a high profile client, market exposure, or gaining a new asset you can reuse. I often ask myself: Is this client and project going to help us get closer to the goals in our business plan (you have a business plan, right?)? If the answer is a resounding “yes”, then I am more willing to negotiate.
When to Charge Fixed Price
- The project is easily defined and a clear spec is available
- The project requirements are stable and not subject to much change
- When you have a lot of assets (code library etc) that can be applied to increase profitability
- When you are highly confident you can drive a good profit based upon your spec
Picking the right one for your project
The one true difference between a fixed price and an hourly project is which party accepts ultimate liability for the budget. It all boils down to that. There is one question I ask every time we approach a new project: how confident am I that we can drive a good profit? If I am not confident, I will insist on hourly and that the client take on the risk. If I am confident, then I will work with a fixed price.
Whether it is an hourly or a fixed price gig, we have a spec we are working from. We track our time. We warn the clients about changes and how they will affect budget. We keep a careful eye on the problem we are trying to solve. The fact is, the difference between the two when run by a seasoned business owner is minimal.
I’d love to hear in the comments what criteria you use when you decide which way to go!
I’d like to thank Brandon, Tea, Eric, and D.L. for their discussion on the topic.


For those who use hourly rates, do you provide the client with an estimate on your contract?
e.g. “I estimate this project will take 100 hours at $100 an hour”
Absolutely!!! We always have an expected budget when working hourly. Its critical for the success of the project. The difference is that with an hourly rate that number floats based upon the path the project takes.
I always gave a high and low estimate of projects that I bidded out hourly. If I was approaching the upper limit I would let the company know that way they could decide to go further, or see if it was going to cost too much. Rarely was I off more than 5-10% (e.g. this project should take 55-65 hours, but ends of taking 70 hours). This way there are no surprises, and the client can budget accordingly because they had the estimate. If I came in under the number of hours, then it would just save the client some money.
I almost don’t want to work with a client that doesn’t want a budget estimate, because it shows they don’t have much business experience, and may not be able to pay when it comes time.
I now split my projects about 50/50 with per hour and per contract. The difference is that almost any change someone wants is responded with “option X wasn’t originally requested it will cost $Y to implement, and take an extra Z hours/days”. This is responded with usually “OK” or “Thanks, but I guess it isn’t that important.”
I’ve always worked on fixed bid, and I’ve become fairly confident in my estimating abilities, when it comes to print work. But over the past couple of years, I’ve branched out more and more into web design–something new for me.
My first web-oriented job, I underestimated my hours BIG-TIME! (Not for the initial design/layout work, but for the rounds of revisions that came after!) But knowing that this would probably happen, I drew up a pretty airtight set of terms and had them signed by the client before beginning any work. This saved me from having to eat 4 hours of a 16-hour job!
Looking back, I probably should have tried to negotiate an hourly contract, as I was unfamiliar with estimating for web work. But even so, one the realities of working on fixed bid is that you’re always at risk of going over your hours–because the responsibility’s all on you. That’s why it’s ultra-important to lay out terms that will protect you when/if this happens.
I list my terms right there on the estimate itself. And even though a ’signed’ estimate is no substitute for an actual contract, I usually require the client’s signature on the agreed estimate anyhow–just so I know they’ve read, understand, and agree to these terms.
A successful ‘fixed’ estimate must include terms that protect yourself against the parts of a job that will always be hard to ‘estimate.’ (Such as feature creep, excessive revisions, etc.) Without that in place, you’ll get screwed every time…
(Shane, this is another great post. Is it okay if I reference it on my blog at http://www.theinhouser.blogspot.com/ ? I’ve just started writing a series of articles related to this very topic.)
Terry - feel free to link to the article. I like the name, it provides a balanced view to us out-housers (heh).
How exactly are your writing your estimates to protect yourself? We have a template I am going to post soon but I would love to see what you did. Anything that helps the experience of fixed bid be a more positive one is worth posting.
So, you are working in-house at a firm and free lancing on the side?
Shane,
Yes, I’m a corporate web designer by day. But I’ve freelanced here and there, over the past few years. That’s why my blog focuses so much on the ’side work’ aspect of doing 9-to-5. Anyhow, I basically structure my estimates like so:
The SPECS clearly define my role, what I’m being asked to produce, any production timeline, and how many versions/revisions they get in this package deal.
That last part is very important, because under my estimated FEE–which these days is usually a ballpark range, to play it safe–is where I put my standard ‘excessive revisions’ statement: “Work outside the scope detailed above will be billed additionally at $XX/hour…” (I like to think that scares clients into being more thoughtful with their requests.)
Then my TERMS usually spell out 1) when the job is considered final, 2) when payment is due, 3) what happens if the job is terminated, 4) etcetera.
Finally, a friendly NOTE reminds the client that “any changes to the specs herein will require a NEW estimate to be approved–via signature–before any work can begin.” (This usually keeps the client pretty prompt in getting back with their approval.)
Especially for smaller jobs, estimates are a thing of beauty. One, they let the client know you are a serious, organized professional. Two, they tend to ‘weed out the riffraff’ of clients who aren’t serious themselves. And three, a thorough and thoughtful estimate can be a blueprint for the entire job!
Man, there’s so much to take in here. I like the idea of having a fixed, set price, because it makes the process much easier for me.
Do you think that the reason we have to charge by the hour, instead of a fixed rate, is because the market is not fully defined. Perhaps we wear too many hats as freelancers, when really, we could approach it as a factory where each person has a specific task to do.
Can you imagine the inefficiency in a market if there was never a fixed price, but the price per widget always fluctuated from one client to the next? I think that just means there hasn’t been enough specialization, and so the variables are unknown, which means you can’t say exactly what it will cost because you don’t have enough information and can’t make a sufficient prediction.
Maybe someone should start a web factory where hyper specialized technicians only add a closing tag on all open tags, or a person that makes sure each website has a header tag, etc.,
Do you know if there’s a web company like that?
Great articles. Hope you don’t mind me rambling.
@daniel: I think the hourly rate is more because the majority of clients are not exactly sure what they want. They might have a rough idea but they are not going to have all of the details of a project in mind. That is where we freelancers provide value, helping turn the customers’ thoughts into real work.
I don’t think there will ever be a “web factory”. Look at writing a book, that industry has been around for hundreds of years but we still need people to combine skills to create the final product.
terry
even though we’re in disparate businesses, i couldn’t agree with you more.
i create training products, and like all noobs, have undercut myself. i then find myself doing revisions and post-delivery documentation that i don’t get paid for.
thankfully, first time bitten, first time learned.
but i would emphasise to all SMEs and freelancers that they meticulously record all the time they spend on a project. after which, they have a real benchmark for future quotes, and muscle to include flexible rates on development.
all the best.