Start with a scope you can point to
Project pricing fails when the deliverable is described as a vague noun: website, branding, integration, campaign. Replace it with observable outputs, boundaries and acceptance criteria. Specify pages, states, formats, integrations, revision rounds and who supplies content or access.
Write assumptions next to the scope. If the client must deliver copy by a certain date, say so. If the estimate excludes hosting, paid assets or data cleanup, say that too. Assumptions are not legal decoration; they are inputs to the price.
Estimate the work nobody sees
Production is only one part of the job. Discovery, meetings, research, project management, testing, revisions, handover, invoicing and follow-up consume time. Leaving them out does not make them free; it makes your margin disappear.
Break the project into tasks small enough to estimate. Use a three-point estimate for uncertain work: optimistic, most likely and pessimistic. A simple expected-hours formula is (optimistic + 4 × most likely + pessimistic) ÷ 6.
- Discovery and requirements
- Core production by deliverable
- Client communication and project management
- Testing, accessibility and quality assurance
- Included revisions and delivery
- Third-party costs and contingency
Convert effort into a price
Multiply estimated hours by your sustainable internal rate. Add pass-through expenses and a risk allowance for uncertainty you are accepting under a fixed price. The risk allowance should reflect specific unknowns, not a random percentage added because the calculator has a button.
Then run a commercial check. Does the price make sense relative to the value and alternatives available to the client? A task-based estimate protects your economics; value and positioning determine whether the offer is attractive.
Worked example: a small marketing website
Discovery and structure: 6 hours. Visual design: 14 hours. Responsive implementation: 22 hours. Content entry and QA: 8 hours. Communication and handover: 5 hours. Total expected effort: 55 hours.
At an internal rate of 80, the labor baseline is 4,400. Add 250 for licensed assets and a 10% contingency on labor for a still-uncertain integration: 440. The fixed project price is 5,090 before any applicable tax.
The proposal should say what the contingency covers, how many revision rounds are included, what triggers a change request, and when payments are due. If the scope changes, update the estimate before doing the new work.
A client-ready pricing checklist
Present one recommended option first. Add alternatives only when they represent meaningful scope choices, not a maze designed to make the middle column look clever. Use plain language and make the total easy to find.
After delivery, compare planned and actual hours by task. This feedback loop is how estimates improve. Without it, every new project begins with the same confident guess in a nicer PDF.
- Named deliverables and exclusions
- Client responsibilities and dependencies
- Revision allowance and change-request process
- Timeline, milestones and payment schedule
- Estimate validity and applicable taxes
- A final review of currency, arithmetic and contact details
Put the method into a real estimate
Break the work into tasks, apply time and rates, add discount or tax, and create a clean client-ready PDF without registration.
Open the free calculatorFrequently asked questions
How much contingency should I add to a fixed-price project?
Base it on identified uncertainty. A familiar, well-defined project may need little; unclear integrations or dependencies need more or should remain hourly until discovery is complete.
Should I show the client every estimated hour?
Not necessarily. Keep detailed task estimates internally and present enough scope and pricing detail for the client to understand what is included.
What happens when the client changes the scope?
Pause the affected work, document the change, estimate its impact on price and timeline, and obtain approval before continuing.



