This calculator helps estimate the prevailing wage for various construction occupations in a specific geographic area, as determined by the Davis-Bacon and Related Acts (DBRA).
Select Occupation
Laborer
Carpenter
Electrician
Plumber
Heavy Equipment Operator
Other (Manual Input Required)
Select Project Type
Building
Highway
Heavy Construction (non-highway)
Residential
Estimated Prevailing Wage: $0.00/hour
Understanding Prevailing Wage
The Prevailing Wage is the average wage paid to laborers and mechanics in a particular locality for construction, alteration, or repair of a public work project. This concept is central to the Davis-Bacon and Related Acts (DBRA) in the United States, which apply to most federal and federally funded or assisted construction contracts. The purpose of prevailing wage laws is to protect locally employed workers from substandard wages and to prevent contractors from gaining an unfair advantage by exploiting cheaper labor.
How Prevailing Wages are Determined
The U.S. Department of Labor (DOL) determines the prevailing wage rates. This determination is based on surveys of wages paid to various classifications of laborers and mechanics employed on construction projects of a similar character in the city, town, village, or other subdivision of the State in which the work is to be performed. The following factors are generally considered:
Geographic Location: Prevailing wages vary significantly by state, county, and even city.
Construction Occupation: Different trades and skill levels command different wage rates (e.g., an electrician typically earns more than a general laborer).
Project Type: The type of construction project (building, highway, heavy, residential) can influence the wage determination as different local wage surveys might be applied.
Inclusion of Benefits: The prevailing wage rate often includes not only the basic hourly rate but also the locally prevailing health, welfare, and other fringe benefits. This calculator focuses on the base hourly wage for simplicity, but actual determinations include benefit contributions.
Using This Calculator
This calculator provides an *estimation* based on common occupations and project types. For an accurate and legally binding prevailing wage determination, you must consult the official U.S. Department of Labor website or a certified wage determination specific to your project. The calculator works as follows:
Select Occupation: Choose the construction trade or labor classification relevant to your project.
Enter ZIP Code: Input the ZIP code where the project will take place. This is crucial as wages vary by locality.
Select Project Type: Indicate whether the project is Building, Highway, Heavy, or Residential construction. Different project types may have different wage scales.
Manual Input: If "Other" is selected for occupation, or if you have a specific known rate, you can manually enter the prevailing wage rate per hour.
Disclaimer: This calculator is for informational and estimation purposes only. It does not provide legal or official wage determinations. Always refer to official government sources for accurate prevailing wage rates.
function calculatePrevailingWage() {
var occupationSelect = document.getElementById("occupation");
var zipCodeInput = document.getElementById("zipCode");
var projectTypeSelect = document.getElementById("projectType");
var manualWageInput = document.getElementById("manualWage");
var wageResultSpan = document.getElementById("wageResult");
var errorMessageDiv = document.getElementById("errorMessage");
var successMessageDiv = document.getElementById("successMessage");
// Clear previous messages
errorMessageDiv.innerText = "";
successMessageDiv.innerText = "";
wageResultSpan.innerText = "$0.00/hour";
var selectedOccupation = occupationSelect.value;
var zipCode = zipCodeInput.value.trim();
var selectedProjectType = projectTypeSelect.value;
var manualWage = parseFloat(manualWageInput.value);
// Basic Validation
if (selectedOccupation === "") {
errorMessageDiv.innerText = "Please select a construction occupation.";
return;
}
if (zipCode === "") {
errorMessageDiv.innerText = "Please enter a ZIP code.";
return;
}
if (selectedProjectType === "") {
errorMessageDiv.innerText = "Please select a project type.";
return;
}
if (selectedOccupation === "other" && isNaN(manualWage)) {
errorMessageDiv.innerText = "Please enter a valid prevailing wage rate for 'Other' occupation.";
return;
}
if (selectedOccupation !== "other" && (isNaN(manualWage) && manualWageInput.value.trim() !== "")) {
errorMessageDiv.innerText = "Please enter a valid number for the wage rate if provided, or select 'Other' for manual input.";
return;
}
if (selectedOccupation !== "other" && manualWage 0) {
estimatedWage *= 1.05; // Slight increase for highway projects
} else if (selectedProjectType === "residential" && estimatedWage > 0) {
estimatedWage *= 0.95; // Slight decrease for residential projects
}
// Format the result
if (estimatedWage > 0) {
displayWage = "$" + estimatedWage.toFixed(2) + "/hour";
successMessageDiv.innerText = "Estimated wage calculated. Remember to verify with official sources.";
} else if (selectedOccupation === "other") {
displayWage = "$" + manualWage.toFixed(2) + "/hour";
successMessageDiv.innerText = "Manually entered wage recorded. Remember to verify with official sources.";
}
wageResultSpan.innerText = displayWage;
}
// Show/Hide manual wage input based on occupation selection
document.getElementById("occupation").onchange = function() {
var manualWageGroup = document.getElementById("manualWageGroup");
if (this.value === "other") {
manualWageGroup.style.display = "flex";
} else {
manualWageGroup.style.display = "none";
// Clear manual wage input when switching away from 'other'
document.getElementById("manualWage").value = "";
}
};