How to estimate project hours using work you have already done

· 4 min read
A paper bridge carrying completed project folders across to a new project plan.

Your last project contains evidence for your next quote. Here is how to turn recorded hours into an estimate you can explain and improve.

The proposal says 60 hours because the last proposal said 60 hours. Nobody checks that the last project took 94.

It is an easy habit to establish. The old estimate is sitting in the proposal template. The actual hours are somewhere else, divided across people and tasks. Copying the number takes seconds; investigating it takes a deliberate pause.

To estimate project hours from past work, choose comparable completed projects, group their actual hours into delivery phases, and adjust for the new scope, team, and risks. Record the assumptions alongside the total. When the project finishes, compare the estimate with what happened and update the baseline.

Choose comparisons you can explain

Start with a few recent projects whose work resembles the new brief. Three is a manageable starting point, although a small sample is a reference rather than a statistical guarantee.

“Website” is too broad a comparison. A brochure site with supplied copy differs from a site that needs content development, a product catalog, and a booking integration. Look at deliverables, technical dependencies, review rounds, stakeholder count, and who supplied the inputs.

Check the records before using them. A completed project with missing timesheets will make the next job appear easier than it was. Include project coordination, internal review, testing, and work your agency absorbed. Those activities consumed delivery capacity even when they did not appear on an invoice.

Compare phases before copying totals

Imagine three completed landing-page projects with similar requirements. These figures are illustrative:

Delivery phaseProject AProject BProject CMedian hours
Discovery81099
Design18222020
Development30363333
Testing and revisions10161313
Project coordination81099
Total74948484

Using the median for each phase gives this example an 84-hour starting point. It is a convenient reference, not proof that the next project will take 84 hours. With other data, the sum of phase medians may differ from the median of project totals.

The phase breakdown makes the estimate easier to challenge. If the new brief needs less design but considerably more testing, adjust those parts directly. A single project total hides that judgment.

Investigate unusual projects before excluding them. A one-off migration failure may deserve separate treatment. Repeated extra review rounds may belong in your ordinary delivery assumptions.

Make the adjustments visible

Suppose the new project resembles the historical baseline but introduces another stakeholder group and a CRM connection the team has not implemented before.

You might build the estimate this way:

ComponentHoursAssumption
Historical delivery baseline84Comparable scope and staffing
Additional review and coordination6One additional stakeholder review cycle
CRM connection8–16Access and documentation supplied before implementation
Planning range98–106Subject to confirming the integration requirements

The range follows from the assumptions: 84 + 6 + 8 at the lower end, and 84 + 6 + 16 at the upper end. It is not a confidence interval or a guarantee.

Name what would invalidate it. Missing API capabilities, unreliable test data, or a requirement for custom middleware could change the integration work substantially. If those questions dominate the estimate, scope a discovery task before committing to the implementation fee.

Routine work belongs in the baseline. Any contingency should cover identified uncertainty without counting the same risk twice.

Separate hours, schedule, and price

A 100-hour estimate does not establish a delivery date. Work may depend on one specialist, client feedback, or tasks that must happen sequentially. Check the proposed work against available team capacity before promising the calendar.

It does not establish the price either. Apply the expected staffing mix and cost of delivery hours, then account for direct project expenses and the margin your business needs. Keep the cost assumptions consistent so you do not count overhead twice.

If the client's budget is below what the scope requires, revise the scope, staffing, or commercial terms explicitly. Lowering the estimated hours without changing the delivery plan leaves the same work to be done.

Keep learning while the project is running

During delivery, update the forecast using hours already worked plus the current estimate to finish. That exposes a developing overrun while there is still time to respond.

At close, compare estimated and actual hours by phase. Record why they differed: missing scope, additional revisions, unexpected technical work, a different staffing mix, or an improvement in how the team delivered.

Distinguish extra deliverables from an inaccurate estimate of the original work. Both affect the project, but they require different changes to the next proposal.

Time Trakkr provides budget-versus-actual reporting and CSV exports to support that review. Add a short explanation of the variance while the team still remembers it. The next person preparing a quote should inherit both the hours and the reason behind them.

Time Trakkr turns tracked hours into these numbers without a spreadsheet — see what it does, or how it compares to sixteen other tools.

Numbers like these, without the spreadsheet

Utilization, effective hourly rate and project margin, straight out of tracked time.

Request an invite