Every web agency knows this situation. The quote is signed, the schedule is set, the team is motivated. Three months later, the project is delivered, the client is happy -- but when you crunch the numbers, the margin has melted by half. The time actually spent exceeds the quoted time by 20, 30, sometimes 50%. And nobody can really explain where those hours went.
This gap is not an accident. It is a structural problem. It affects the vast majority of web agencies, from freelancers to 50-person firms. And it cannot be solved with goodwill or better-formatted spreadsheets. It is solved by understanding where the gap comes from, measuring it systematically, and adjusting the quoting process accordingly.
The Structural Gap Between Quote and Reality in Agencies
The web agency business rests on a fundamental paradox: you sell time at a fixed price. The quote commits the agency to a lump sum, while the actual cost depends on time spent -- a variable that nobody fully controls at the time of signing.
The natural optimism of quoting. When a project manager or technical director estimates the time needed to build a website or application, they think of the ideal scenario. The developer understands the brief on the first read, the mockups are approved without major revisions, the content arrives on time, QA goes smoothly. This scenario does happen sometimes. But quoting should factor in the probable scenario, not the ideal one.
Competitive pressure on pricing. During the sales phase, every euro counts. The client compares two or three quotes. The agency that quotes with a 30% safety margin loses the project to the one that quotes as lean as possible. Result: quotes are systematically driven downward, not through incompetence, but through the very mechanics of competition.
The absence of reliable historical data. How long did the last similar project actually take? In most agencies, nobody can answer that question precisely. Hours aren't tracked, or they're tracked so loosely that the data is unusable. So quoting is done "by feel," based on selective memory that remembers successes and forgets overruns.
Key figure: According to industry studies, web agencies experience an average overrun of 25 to 35% between quoted time and time actually spent on a project. On complex projects (custom applications, large-scale redesigns), this figure can reach 50 to 70%.
The vagueness around scope. A quote for a "10-page brochure website" seems clear. But how many rounds of mockup revisions? How many modifications after the first integration? Does the brief include content writing or only content integration? The terms and conditions and legal notices -- who handles those? Every gray area in the quote becomes a source of unplanned and unbilled time.
The 4 Time Items Systematically Underestimated
The overrun generally doesn't come from the core work. A senior developer estimates pure development time fairly well. A designer knows how long a mockup takes. The problem lies in everything surrounding production -- those time items that nobody quotes because they're considered "normal" -- yet represent 30 to 50% of a project's total time.
1. Project Management
This is the most systematically underestimated item, and often the most costly proportionally. Project management encompasses planning, coordination between stakeholders, client communication, writing meeting notes, milestone tracking, and risk management.
On a EUR 25,000 project, project management typically represents 15 to 25% of total time. Yet in many quotes, it is estimated at 5 or 10%, or not quoted at all -- considered as "overhead" that the agency absorbs.
A project manager handling three projects in parallel devotes an average of 4 to 6 hours per week per project to pure coordination. Over a 3-month project, that represents 48 to 72 hours. At a loaded cost of EUR 55/h, that's EUR 2,640 to EUR 3,960 of unquoted time.
2. Client Feedback and Approval Rounds
The quote often provides for "2 rounds of mockup revisions." In reality, the client comes back with comments 4 or 5 times, sometimes on details, sometimes on structural choices that call into question the work done.
Each additional round mobilizes the designer (modifications), the project manager (coordination, brief reformulation) and sometimes the developer (adjustments if integration has already begun). A single unplanned round on a medium project represents 4 to 8 hours of cumulative team work.
Concrete example: On a EUR 25,000 e-commerce redesign project, the quote provided for 2 rounds of revisions on the homepage and category page mockups. The client ultimately requested 5 rounds of modifications, including a complete overhaul of the header after the executive committee's review. Planned time for the design phase: 40 hours. Actual time: 67 hours. Variance: +68%.
3. QA and Bug Fixing
The QA phase is the poor relation of quoting. It is systematically compressed in the schedule ("we'll test in one week") and underestimated in the budget.
In practice, testing a medium-sized website mobilizes the developer (fixes), the project manager (verification, prioritizing feedback), and the client (testing, issue reporting). Functional bugs, browser compatibility issues, responsive adjustments, performance optimizations -- all of this takes time, far more than planned.
On a standard project, QA and fixes represent 10 to 20% of total development time. When the quote only provided for 5%, the entire margin is absorbed.
4. Internal Meetings and Coordination
Team check-ins, stand-ups, technical scoping meetings, code review sessions, handoff meetings between design and development -- these moments are essential to work quality, but they almost never appear in a quote.
For a 3-person team on a project, count 2 to 4 hours of internal meetings per week. Over an 8-week project, that represents 16 to 32 hours of unquoted meetings -- or EUR 880 to EUR 1,760 at the average loaded cost.
How to Measure the Gap on Each Project
Noting an overall gap between quoted and actual isn't enough. To take action, you need to know exactly where the gap comes from, on each project, at each phase. Here's the method.
Structure Tracking by Phase
Each project must be broken down into phases corresponding to the quote. The standard structure for a web project generally includes: scoping/UX, design, front-end development, back-end development, content integration, QA, project management, client meetings.
Each team member records their time against the correct phase. No need for minute-level granularity -- a 15-minute increment is more than enough. What matters is consistency: daily entry, not an end-of-month estimate.
Systematically Compare Quoted vs Actual
At the end of each project (or at each milestone), compare actual times to estimated times, phase by phase. Here is a concrete example for a brochure website project quoted at EUR 25,000.
| Phase | Quoted Time (h) | Actual Time (h) | Variance | Variance (%) |
|---|---|---|---|---|
| Scoping / UX | 20 | 28 | +8 | +40% |
| Design (mockups) | 45 | 67 | +22 | +49% |
| Front-end development | 60 | 68 | +8 | +13% |
| Back-end development | 50 | 56 | +6 | +12% |
| Content integration | 15 | 22 | +7 | +47% |
| QA | 15 | 28 | +13 | +87% |
| Project management | 20 | 42 | +22 | +110% |
| Client meetings | 10 | 18 | +8 | +80% |
| Total | 235 | 329 | +94 | +40% |
This table tells a story that the overall total doesn't. Pure development (front + back) only overran by 12-13%, which is respectable. The bulk of the overrun comes from design (unanticipated client feedback), project management (underestimated coordination), and QA (phase nearly doubled).
Key takeaway: Technical development is almost never the main cause of overruns. The real drains are coordination, client feedback, and QA -- precisely the items that agencies don't quote or quote poorly.
Calculate the Impact on Margin
Time is one thing. Financial impact is another. Let's revisit the example above.
- Selling price: EUR 25,000 excl. tax
- Quoted time: 235 hours
- Average loaded hourly cost: EUR 55/h (salaries + charges + overhead)
- Planned production cost: 235 x 55 = EUR 12,925
- Planned margin: 25,000 - 12,925 = EUR 12,075 (48%)
- Actual time: 329 hours
- Actual production cost: 329 x 55 = EUR 18,095
- Actual margin: 25,000 - 18,095 = EUR 6,905 (28%)
The margin went from 48% to 28%. The agency still makes money on this project, but EUR 5,170 of margin evaporated. Multiply this across 10 or 15 projects per year, and you understand why an agency that shows strong revenue can have mediocre profitability.
Key figure: A 40% overrun on time spent can reduce a project's gross margin by nearly half. For an agency generating EUR 500,000 in annual revenue with an average 30% overrun, that's EUR 50,000 to EUR 80,000 of margin disappearing every year.
Turning This Data into Better Quotes Going Forward
Measuring the gap is not an end in itself. The goal is to use this data to improve quoting for future projects. Here's how.
Build a Reference Base by Project Type
After 5 to 10 rigorously tracked projects, you have a usable statistical base. Classify your projects by type (brochure site, e-commerce, application, maintenance) and by size. For each category, calculate the actual average ratios.
For example, if your last three brochure sites showed that project management represents an average of 18% of total time (not the 8% you were quoting), integrate this ratio into your next quotes.
Apply Correction Coefficients by Phase
Phase-by-phase analysis reveals recurring patterns. Some phases overrun systematically, others are well estimated. Create a correction coefficient table.
| Phase | Coefficient to Apply to Estimated Time |
|---|---|
| Scoping / UX | x 1.3 |
| Design | x 1.4 |
| Front-end development | x 1.15 |
| Back-end development | x 1.15 |
| Content integration | x 1.5 |
| QA | x 1.8 |
| Project management | x 2.0 |
| Client meetings | x 1.7 |
These coefficients are specific to your agency. They reflect your way of working, your types of clients, the seniority of your team. Don't copy them from a blog post -- build them from your own data.
Include a Contingency Provision
Even with correction coefficients, every project carries an element of the unforeseen. A client who changes artistic direction mid-project, an unanticipated technical issue, a late external provider. The contingency provision is not extra margin: it's the honest recognition that the perfect scenario doesn't exist.
In practice, a provision of 10 to 15% of total time is reasonable. If it's not consumed, it improves the project's margin. If it is consumed, it protects profitability.
Revise Approval Conditions in the Quote
The number of included revision rounds, client approval deadlines, the consequences of late content delivery -- these elements must be explicit in the quote. Not to create a power dynamic with the client, but to establish a clear framework that protects both parties.
A quote that specifies "2 rounds of mockup revisions included, additional rounds billed at a daily rate of EUR X" is not aggressive. It's professional. And it encourages the client to consolidate their feedback rather than drip-feeding it over time.
Evaluate Profitability by Client Over Time
A single project doesn't tell the whole story. Some clients are systematically a source of overruns (slow approvals, shifting scope, multiple stakeholders). Others are efficient and allow execution close to the quote. This knowledge, accumulated project after project, is a major competitive advantage.
By cross-referencing time spent and revenue per client, you can identify the truly profitable clients and those that drag down your margins. This analysis, impossible without rigorous time tracking, radically changes how you manage your client portfolio.
Key takeaway: The perfect quote doesn't exist. But a quote built on real data, with correction coefficients drawn from experience, mechanically reduces the gap between planned and actual. The goal isn't to predict everything -- it's to stop being surprised.
The gap between quoted time and time spent is not inevitable. It is the symptom of quoting based on intuition rather than data. The solution is not to work faster, to cut corners on quality, or to bill the client extras at every opportunity. The solution is to measure, analyze, and integrate reality into quoting.
Agencies that have implemented rigorous time tracking -- not to monitor their teams, but to understand where hours go -- see a significant improvement in quote accuracy within a few months. And mechanically, an improvement in their margins.
To go further, discover our method for estimating time in web agencies, or explore the solutions designed for web agencies to structure your time tracking.