How to prepare a detailed construction estimate in 5 steps

Posted by Hadeel Dabbagh on October 25, 2021

To apply the steps in this article, download the free estimating mastery toolkit

There are different types of cost estimating methods used in construction. The choice of method depends on the stage and type of the project being estimated. When a bid needs to be submitted to a client, a detailed estimate is often required. A detailed estimate allows for a high degree of accuracy, enabling bid pricing that is competitive and profitable for the business.

Generating a detailed estimate can be challenging, because the number of resources required in any given project can be extensive. Construction estimating software can help make this process easier and faster. However, regardless of whether you are using specialized software, you can generate a detailed estimate using the steps outlined in this article.

Step 1: Build a library of resources and their unit cost

Resources are the basic building blocks used to estimate the cost of a construction project. Cost estimation is the process of calculating the cost of all the resources required to carry out a project.

Start by building a list of resources and their unit costs. This will be the library of resources that you will use in all your estimates. You can start populating it with the resources you think you will need for your first project, and it will continue to grow as you estimate more projects. You can speed up building this library by purchasing an initial data set from a construction cost data provider, or by using historical project estimates or procurement records.

Categorize the resources based on a system that makes sense for your business. The most common resource categories are the 4Ms: manpower, material, machinery, and money. You may want to add a subcontractor category if you work with subcontractors. At BidBow, we recommend breaking down money into two separate categories, finance, and margins. Creating subcategories within each resource category can also be helpful when it comes to filtering and reporting on your data. 

A resource record would typically include the following fields at a minimum:

  • Resource Description
  • Category
  • Subcategory
  • Measurement Unit
  • Unit Cost

Step 2: Build a library of activities and their unit cost

Activities are groups of resources that produce an output. Consider creating an activity anytime you need to estimate a group of resources that work together to produce an output, especially if the activity reoccurs in multiple projects. Activities can significantly simplify estimation. By using activities, you can reduce the need to individually estimate resources, and you can factor in productivity in your estimates.

The following is an example to illustrate activities. "Casting concrete for a foundation" is an example of an activity that may be required in many construction projects. Estimating its cost requires calculating the cost of a group of resources, such as masons, laborers, concrete vibrator, concrete pump, and potable water for curing. To estimate its cost, we need to determine the quantity of each of the resources required to produce a specific output.

This activity may be defined as follows:

Activity description: Casting concrete for foundation

Output: 40 CUM

Resources required to produce 40 CUM:

 ABCDE
1ResourceUnitQuantityUnit CostCost
2MasonDay1From resource libraryC2 x D2
3LaborerDay6From resource libraryC3 x D3
4Concrete vibratorDay2From resource libraryC4 x D4
5Concrete pump chargesCUM40From resource libraryC5 x D5
6Potable water for curingCUM2From resource libraryC6 x D6
    Total Cost
Sum(E2:E6)

Unit Cost = Total Cost / Output

Multiplying the quantity by the unit cost of each resource then adding up all the results generates the total cost of the activity. The total cost is divided by the output (40 CUM) to generate the unit cost of the activity. The unit cost can then be used to estimate this activity more quickly when a project requires it.

Resources and activities can be linked such that when resource costs change, the cost of any impacted activities is updated automatically. This is one of the many areas specialized construction estimating software can help automate.


Creating a building block library of resources and activities that is relevant for your business is a prerequisite to estimating your projects. Steps 1 and 2 describe how you can build this library, but these steps only need to be performed once. Afterwards, you can simply adjust your library as needed. For instance, when resource rates change, or when new resources or activities need to be added. Once you have a library of resources and activities created, any future cost estimation exercise can be done by following steps 3 to 5.


Step 3: Estimate the cost of direct items

Direct items are the project pay items that need to be estimated. The list of direct items typically comes from the client as a “Bill of Quantity” or a bid document. However, direct items can also be generated internally from project specifications and drawings.

Each direct item is estimated using the library of activities and resources built in the first two steps. The following is an example to illustrate how direct items can be estimated.

Direct item description: Concrete for foundation

Quantity: 2000 CUM

Resources and activities required per unit of the direct item:

 ABCDEF
1Resource or ActivityUnitQuantityFactorUnit CostCost
2Activity: Casting concrete for foundationCUM1 1From activity libraryC2 x D2 x E2
3Resource: Concrete 40/20 SRCCUM11.02From resource libraryC3 x D3 x E3
4Activity: Steel rebars cutting, bending and fixing in structuresKG100 1From activity libraryC4 x D4 x E4
5Resource: Steel reinforcement grade 460KG1001.05From resource libraryC5 x D5 x E5
     Total Cost Per Unit
Sum(F2:F5)

Total Direct Item Cost = Total Cost Per Unit x Quantity

Multiplying the quantity by the unit cost by the factor (used to account for material waste) of each resource or activity, then adding up all the results generates the total cost per unit of the direct item. This cost is multiplied by the direct item quantity to generate the total cost for this direct item.

All direct items are calculated in the same way, then the total cost of all direct items is added up to determine the total project direct cost.

At BidBow, we recommend calculating the direct cost based on estimated quantities as well. This provides estimators two pricing scenarios to evaluate before determining the bid price. One that is based on quantities provided by the client, and another that is based on estimated quantities determined by the estimator.

Step 4: Estimate the cost of indirect items

Indirect items are sometimes called overheads. They are the additional costs that are not directly related to a pay item. Some common examples are bank charges, insurance, supervision staff, and project margins. Indirect items tend to be very similar from one project to the next, so we recommend creating a list of the most common types of indirect items that can be used as a template across all projects.

Indirect costs are usually sums of money (like bank or insurance charges), duration-based costs (such as supervision staff), or percentages (such as project margins).

Identify and estimate each indirect item using the library of resources. The following is an example to illustrate how indirect items can be estimated.

Indirect item description: Supervision engineers

Quantity: 24 Months (the duration of the project)

Resources required per unit of the indirect item:

 ABCDE
1ResourceUnitQuantityUnit CostCost
2Civil EngineerMonth4From resource libraryC2 x D2
3Electrical EngineerMonth1From resource libraryC3 x D3
4Materials EngineerMonth0.5From resource libraryC4 x D4
5Mechanical EngineerMonth0.5From resource libraryC5 x D5
    Total Cost Per Unit
Sum(E2:E5)

Total Indirect Item Cost = Total Cost Per Unit x Quantity

Multiplying the quantity by the unit cost of each resource then adding up all the results generates the total cost per unit of the indirect item. This cost is multiplied by the indirect item quantity to generate the total cost for this indirect item.

All indirect items are calculated in the same way, then the total cost of all indirect items is added up to determine the total project indirect cost.

Similar to direct items, we recommend calculating the indirect cost based on estimated quantities as well. Additionally, project margins are considered an indirect item, which includes profit margin, head office margin, risk margin and other margins as resources. Project margins can be calculated as percentages of the project price or the project direct cost depending on the business strategy.

Step 5: Generate the project price

The project price is calculated by adding the project direct cost and project indirect cost generated in steps 3 and 4.

At BidBow, we recommend generating at least 2 pricing scenarios and comparing them. The first price is the sum of the direct cost and indirect cost based on quantities. The second price is the sum of the direct cost and indirect cost based on estimated quantities. Getting visibility of both scenarios allows you to evaluate your pricing options for competitiveness and profitability. You can then either select one of the two calculated pricing scenarios, or you can come up with your own target price based on the analysis.

From the selected price, the markup percentage is calculated by dividing the indirect cost by the direct cost. The markup percentage can then be applied to all the direct items. Strategic markup allocation with uneven distribution of markup is often critical for contractors. Specialized construction estimating software can simplify strategic markup allocation and help you hit your target price.

By using the process outlined in this article, you can generate detailed estimates with the level of accuracy needed to bid in a competitive and profitable way. While building your initial library of resources and activities can take some upfront work, the effort pays off exponentially with every project bid you estimate.

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram