Every agency CTO knows this scene. A client asks for a price, someone digs up a number from a project that felt similar, and three months later youâre explaining to the finance team where the margin went.
Estimation done well is not fortune telling. Itâs a process you can document, repeat, and defend in front of a client. Most agencies skip the structure and jump straight to the number, and thatâs usually where the trouble starts.
Why estimates fail before you write them down
Three patterns wreck most agency estimates, and theyâre common enough that people mistake them for normal.
The cone of uncertainty. At the first client conversation, before anyone has written a requirement or drawn a wireframe, the real cost of the project can land anywhere from 0.25x to 4x your estimate. Thatâs a sixteen-to-one spread. The cone only tightens when someone makes a scope decision. Waiting narrows nothing.
Happy path thinking. Most estimates quietly assume everything goes right: APIs behave as documented, the data is clean, nobody touches requirements mid-sprint. In practice, third-party integrations take two to three times longer than expected, because an integration is a handshake between two systems built by people who never spoke to each other. And the first thing that breaks is rarely the last.
Confusing estimation with budget negotiation. âWe need to fit within $200Kâ is a budget, not an estimate. The dangerous part is what happens next: the team adjusts the estimate to fit the budget, plays down the risks, and squeezes its own margin in the process. The proposal looks great. Delivery disagrees.
The four estimation methods every agency needs
There is no single perfect method. Different phases of a project call for different tools.
1. Analogous estimation (expert judgment)
Compare the project to similar work youâve done before. Use it at the pitch stage, when you have the least information. Itâs fast and cheap, and the price you pay is accuracy: expect a range of â25% to +75%. Wide, yes. Still better than guessing.
The key is keeping an estimate-versus-actuals log. Without one, âsimilarâ is a vague memory. With one, you can say the last three marketplace projects we priced at 40K all landed around 52K. Thatâs data, and data is defensible in front of a client.
2. Bottom-up (work breakdown structure)
Break the project into the smallest tasks you can name, estimate each one separately, then add them up. Use this once the scope is well defined, typically after discovery. Accuracy tightens to â10% to +15%.
Thereâs a hidden benefit here. Bottom-up forces you to think through every piece of work, so nobody can hide behind a single number. If discovery was thorough, this is the most accurate method you have.
3. Parametric (COCOMO II)
Statistical models trained on historical data from thousands of projects. Treat them as a tie-breaker between other methods, and only on large projects, say above 10,000 hours, where the setup effort pays off. A well-calibrated model lands within â15% to +25%.
Calibration is the catch. Without local data, your teamâs velocity, your typical project types, the model is just guessing at its own coefficients.
4. Three-point (PERT)
For each task, estimate the optimistic case, the most likely case, and the pessimistic case. Reach for it when key dependencies arenât verified yet, for example while youâre waiting on a third-party API spec. Combined with Monte Carlo simulation you get probability curves: the project finishes November 15th with 85% probability.
Clients respond well to ranges. A single number forces a yes-or-no decision. A range with probabilities opens a conversation about risk.
What most agencies miss
Eighty percent of estimates forget the same categories, and none of them are exotic edge cases. Theyâre standard project work that keeps getting undercounted:
- DevOps and infrastructure setup
- Data migration
- Integration and end-to-end testing
- Documentation
- Code review and refactoring (this one grows with AI coding assistants, because code is generated faster while review and integration work piles up)
- Deployment and training
- A 15â20% uncertainty buffer
Added up, these often account for 30â40% of total project effort. Leaving them out doesnât make your estimate more competitive. It makes it wrong.
A five-step estimation process
Next time you price a project, work through this sequence.
Define scope and assumptions operationally. âReporting moduleâ is a label, not a requirement. Which data sources feed it? Which visualizations? Which export formats? Keep pushing until you can price each component.
Triangulate with at least two methods. If analogous and bottom-up land within 10% of each other, youâre in decent shape. If they diverge by 30% or more, youâve missed something.
Match the method to the phase. Pre-sales needs top-down speed. Post-discovery needs bottom-up precision. Wrong method at the wrong phase is the single biggest source of estimation error.
Account for AI coding assistants. Code generation got faster, but the bottleneck moved to reviewing, integrating, and debugging what the AI produced. Price that in instead of cutting hours because the machine types quickly.
Communicate as a range. âWe estimate $180Kâ$240K based on similar projectsâ is more honest than a single number, and more useful. A client who sees the range and the assumptions behind it makes better decisions.
Connect your presales workflow
Turn these five steps into one repeatable workflow.
Move from client brief to scope, estimate, proposal and Jira without rebuilding the project at every step.
See the complete workflowNone of this is complicated. It just takes a decision that estimation is a repeatable process, not an art form practiced by whoever happens to be free on a Friday afternoon.
