How to Accurately Estimate a Web Design Project

John Reeve | September 5th, 2008 | , , , ,

Whether you flat-bid or bill hourly, the ability to accurately estimate web design projects is crucial for delivering within budget and avoiding client disappointments. While completing over 300 projects for more than 100 clients at Pelago, we’ve spent the last nine years honing our estimating skills into an art form. Follow these four steps to create accurate estimates when quoting your next project.

1. Break it down

In learning how to estimate project time it is imperative to break down a project into its basic components. This will enable you to give a more accurate estimate for your web design timeline. By estimating the hours needed on a granular level, you will have more precision in your estimate. There are a few ways you can break down the project, how you choose to do it is up to you.

We usually try to break a project down into modules, and then further down into the types of work required for each module. For example, an ecommerce site could be broken down into modules like Product Admin, Order Admin, Customer Accounts, Store Front, and so on. Each of those modules can be further articulated by work type; Engineering, Production, and Database.

If the project is a simpler one and you are designing and building pages using HTML & CSS, break it down by the number of pages you’ll be building. A good formula for HTML production is to estimate several hours for the first page, and then an hour or two to build each additional page.

Breaking down the requirements like this gives you smaller chunks of functionality that you can easily wrap your mind around and estimate accurately. When you’ve estimated each piece, add them all up for your total.

2. Add time for project management

Now that you have an idea of how many hours the project will require, it’s time to make your first adjustment. Add 10% to 20% more hours to accommodate for project management. These are hours that will be used to compensate you for the time you spend corresponding, meeting, and emailing with the client. It will also cover the time you spend managing any subcontractors or team members. Freelancers can get away with a smaller markup, while design teams should use a higher percentage.

3. Mark it up, again

In an ideal world, our estimate would be complete. But it’s not an ideal world. There will always be unforeseen events and circumstances that are going to increase the original web design estimate. So we might as well account for them in the beginning. Mark up your web design estimate by another 25% to 33% to account for the fluctuations that are certain to occur. If the project includes any type of web-based software, it is highly recommended that you do this.

4. Add a margin of error

Some times your web design estimates will come in under budget, some times they will come in over. Including a margin of error in your estimate gives you some wiggle room if conditions change during the project, and gives the client a realistic range of what the final project will cost. We usually use a margin of +/- 15%. For example, if our final estimate was $10,000, our estimate will show a final total of $8,500 – $11,500.

And that’s it, really. Now you have a number that will accurately account for the time needed to complete a project. Your estimate may seem high with all these markups, but it is far better to come in with a high estimate and deliver under budget, than it is to bid low and hit up the client for more money, or worse, pay for the overages out of your own pocket.

7 Responses to “How to Accurately Estimate a Web Design Project”

  1. Mahesh says:

    Please suggest us any other top most Freelancer sites, other than Guru & Elance

  2. John Reeve says:

    I would suggest FreelanceSwitch:

  3. Benny says:

    I understand there will be margin or errors. But, For a $10K project do you quote $8,500 or $11,500 or both. I am confused. Do you think clients will understand that when you ask them to pay $1500 more at the end of the project due to a +15% error? Or Is it possible to identify the -15% error and refund it to the client? Please explain.

    Also, we face issues when we mention PM hours and cost explicitly, so we include it within the modules. This way we avoid clients seeking for cutting the PM cost and give us a reduce rates. This is really difficult.

  4. John Reeve says:

    Our estimates are rarely in the $10k range. If they are, we usually ask the client to sign a time & materials maintenance contract, which is the equivalent to them retaining us for $10k worth of hours. However, the answer to your question is that we would show the total as $10k and below that we show the minus 15% amount and the plus 15% amount.

    The plus 15% is never the result of an error, nor is it refundable. The plus 15% is usually caused by subtle changes in scope, integrating third-party tools taking longer than expected, or sometimes the project just takes a little longer than we thought it would.

    Also, the 15% doesn’t come as a surprise to the client at the end of their project. Because we thoroughly track our time we usually alert the client when a project is threating to go over budget.

    The whole point of the plus or minus 15% is to cushion an estimate that is not going to be 100% right on. Estimates are exactly that, estimates, a best guess at how long something will take. We are simply stating that we have estimated the project within a 15% range of accuracy.

    As for the PM hours, those are never easy to explain to the client. We usually add them in as a percentage of the entire project and explain to the client they are non negotiable. In the past when a client as tried to cut PM or QA costs from a project, the project always suffers and is delayed or runs over budget due to not being managed properly.

    It’s not easy but you have to hold your ground with clients and explain to them which aspects of a contract are negotiable and which aren’t. And when it comes to the estimate, explain to them that it is only an estimate. Projects will most likely change during their development and both you and the client need to understand that and be prepared to handle it contractually.

  5. Kyle Brown says:


    Real interesting post. I just stumbled on it a year later.

    You mentioned T&M contracts. In what circumstances does your firm use fixed price contracts and when is it best to use T&M?


  6. John Reeve says:


    We work exclusively with T&M contracts. The reason being that flat bid contracts are too difficult to manage unless the scope is airtight (which it rarely is). For more reasons on this, take a look at our blog post:

    7 Reasons You Should Charge by the Hour

  7. Larry says:

    I was actually looking for how to estimate front end work but now I also learned how to greatly improve estimates for my freelance web projects. Thanks a lot.

Leave a Reply

Intervals Blog

A collection of useful tips, tales and opinions based on decades of collective experience designing and developing web sites and web-based applications.

What is Intervals?

Intervals is online time, task and project management software built by and for web designers, developers and creatives.
Learn more…

John Reeve
Author Profile
John Reeve

John is a co-founder, web designer and developer at Pelago. His blog posts are inspired by everyday encounters with designers, developers, creatives and small businesses in general. John is an avid reader and road cyclist.
» More about John
» Read posts by John

Jennifer Payne
Author Profile
Jennifer Payne

Jennifer is the Director of Quality and Efficiency at Pelago. Her blog posts are based largely on her experience working with teams to improve harmony and productivity. Jennifer is a cat person.
» More about Jennifer
» Read posts by Jennifer

Michael Payne
Author Profile
Michael Payne

Michael is a co-founder and product architect at Pelago. His contributions stem from experiences managing the development process behind web sites and web-based applications such as Intervals. Michael drives a 1990 Volkswagen Carat with a rebuilt 2.4 liter engine from GoWesty.
» More about Michael
» Read posts by Michael
Videos, tips & tricks