Many web professionals progress into freelance work because they love technology and have a strong portfolio of successful projects. However, these skills do not necessarily translate to good business sense. Many small companies find it difficult to price their work — or even define a pricing structure. This is the first in a series of three articles about the pros and cons of different charging options.
At one end of the pricing spectrum are the $50 per-page design agencies. These companies profit by churning out hundreds — if not thousands — of basic sites every year. Their clients typically have limited funds and want to tick the “we have a website” box. It won’t revolutionize their business or entice new customers, but not everyone needs a ground-breaking site.
At the other end of the scale there are $3,000 per-day IT consultants helping multi-national organizations determine their digital strategy. Some freelancers undertake this work via a series of increasingly large agencies each taking a slice of that fee.
The majority of freelance work falls somewhere between the two extremes.
How Much Will My New Website Cost?
I dread this question. In my experience, the time it takes a client to ask is inversely proportional to the amount of hassle they cause. Many IT novices consider a website to be a product: they want X pages and expect to pay a fixed price of $Y. They do not appreciate that web design and development is a service which touches all aspects of their business.
I endeavor to explain this using the car industry as a metaphor. Asking for the price of a website is like walking into a used-car dealership and asking “how much does a car cost?”. The dealer must ask a series of questions: do you have a model in mind? What do you need it for? How many people will use it? How much luggage space is required? Do you have a preferred color? Does it need to be economical? Do you want a sporty car? What’s your budget? And so on.
A car could cost $500 for a ten-year old Ford or $1,000,000 for a McLaren P1, yet both provide the same basic function. The cost varies because of design, options, comfort, after-sales service and — most importantly — quality.
Website projects can be infinitely more complex and are tightly coupled with business requirements. Consider two companies: a local electrician and a software manufacturer. Both have the same number of employees, similar annual turnover and ten-page websites. Would you expect them to pay the same for their website?
- The electrician should have a web presence but it’s primarily for marketing. Their website is a adverting cost much like ads in local newspapers, trade magazines and the Yellow Pages.
- To the software company, the website is their business. It’s their prime marketing, sales and support channel; they would fail without it. The website has become a business asset — not a liability.
A good agency will assess the client’s business requirements to ensure they don’t under or over-pay for the facilities they need. That said, the question “how much for my new website?” will inevitably arise. How do you answer?
Fixed-price contracts are easiest to understand. Following initial discussions, you document the scope of the project with a total cost and schedule. The client pays a deposit with the remainder payable on schedule and/or completion.
The model works well for smaller projects where every feature can be fully identified. Unfortunately, that is rarely possible. If you’re not careful, larger projects can end in disaster for both you and the client. Think of any government IT scheme.
Developers are notoriously bad at estimating schedules but the larger the project, the wider the margin of error. Another problem is we only think about the coding side and rarely consider client meetings, planning, holidays, sick leave, hosting issues, documentation, testing, training and other administrative tasks. A good project manager can overcome some issues but one major hurdle remains:
You can never fully understand what the client wants…
…because the client doesn’t fully understand what they want.
Few people can comprehend every requirement in a complex project. Even fewer people will appreciate technical obligations such as quality content, well-organized code, source control, browser compatibility, mobile-first design, accessibility, SEO and social media — it’s beyond the scope of their knowledge. Finally, only a small minority can visualize an appropriate solution.
Consider a project to build a new aircraft. It must be fully designed, simulated, built and tested before it goes into production. The day prior to release, the client is unlikely to say: “hey, I’ve just been in a Cessna and I love the wings-on-top look — let’s do that!” Yet this situation regularly occurs in the software development world. Why?
- You’re developing something which has never been built before. There may be similar solutions but there are an infinite number of ways to improve every product.
- Most product owners can only consider their application once they see and use it. Even if they’re ecstatic with the result, they will want changes.
- Requirements evolve. Unlike the physical world, business objectives can change on a whim.
You should add contingency fees to fixed-price projects. If you estimate the project will cost $5,000 charge $6,000 for some wiggle room. Even that may not be enough; you may reach a point where:
- you take the hit and complete work for nothing, or
- you say “no” to the client. The fixed-price model is abandoned and, in worse-case scenarios, the client is left with an unusable partly-completed project.
There are other issues with fixed-price contracts:
You must invest considerable time and effort in documenting the client’s requirements. You may be able to charge a separate fee but those requirements will undoubtedly expand and there’s no guarantee you’ll win the development job.
You’re Still Charging Hour
You must estimate the project effort. Most developers will multiply those hours by a reasonable hourly rate to determine the final price. Unfortunately, you will lose out if the project exceeds your projections and contingency plan.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
Clients Compare on Cost Rather Than Value
You could lose a project because you are $1 more expensive than another agency. Perhaps you’re providing far more value but non-technical managers cannot appreciate benefits they don’t understand.
Difficulties for Sub-Contractors
Fixed-price rates are problematic when there’s an agency or account manager between you and the client. You will have less control over the project and the middle-person is more inclined over-promise and agree out-of-scope features.
Website Delivery Marks Completion
How many of your websites never changed from the moment it was delivered? Clients should understand delivery marks the start of their work, not the end of yours. It’s difficult for many to grasp this concept when the whole project is based around finite dates and fees.
Final Payments Can Be Withheld
You must demand a non-refundable deposit and payment schedule. However, you can still complete work to discover a client won’t pay until a specific feature is implemented or modified to their liking. This sort of nonsense can continue for months, especially if they’re short on funds.
A clear contract is essential but resorting to legal measures can cost more time and money than the original project. Ultimately, you won’t receive a penny if the client goes bankrupt.
Fixed-price is an old, familiar model established long before the web existed. It works well for smaller tasks and can result in a higher profit margin. But it’s too easy for clients to casually ask for “just one more simple feature which won’t take too long”.
My advice: ensure customers understand you’re providing a price estimate. Have clear contract disclaimers stating this based on known requirements and may rise or fall owing to unforeseen changes.
In my next article, we’ll look at an alternative pricing mechanism: charging per hour.
Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers