Calculate the weighted average rate for projects with multiple resources.
Role / Employee Name
Hourly Rate ($)
Hours
Total Billable Hours:0
Total Project Cost:$0.00
Blended Hourly Rate:$0.00
What is a Blended Hourly Rate?
A blended hourly rate is the weighted average billing rate for a project that involves multiple team members with different individual hourly rates. Unlike a simple average, a blended rate accounts for the fact that a Senior Developer (billing at a higher rate) might work fewer hours than a Junior Developer (billing at a lower rate).
Agencies, law firms, and consultancies often use blended rates to simplify billing for clients. Instead of listing every employee's specific rate on an invoice, the agency agrees on a single "blended" rate for all work performed on the project.
How to Calculate Blended Hourly Rate
The formula to calculate a blended hourly rate is:
Calculate Cost per Role: Multiply the hourly rate of each employee by the number of hours they worked.
Sum the Total Cost: Add up the costs for all employees to get the Total Project Value.
Sum the Total Hours: Add up the hours worked by all employees.
Divide: Divide the Total Project Value by the Total Hours.
Example Calculation
Imagine a web development project with three team members:
Senior Architect: $150/hr for 10 hours = $1,500
Developer: $100/hr for 40 hours = $4,000
Designer: $80/hr for 20 hours = $1,600
Total Cost: $1,500 + $4,000 + $1,600 = $7,100 Total Hours: 10 + 40 + 20 = 70 hours Blended Rate: $7,100 / 70 = $101.43 per hour
Notice that the simple average of the rates ($150+$100+$80)/3 is $110. However, because the bulk of the work was done by the $100/hr developer and the $80/hr designer, the blended rate is lower ($101.43).
Why Use a Blended Rate?
Simplicity: Clients prefer seeing one rate rather than auditing individual timesheets for every junior and senior staff member.
Flexibility: Agencies can swap team members internally without needing to renegotiate contracts, provided the quality of work remains high.
Profitability Analysis: It helps project managers determine if a fixed-price project is profitable by comparing the estimated blended rate against the actual costs.
function calculateBlendedRate() {
var totalCost = 0;
var totalHours = 0;
var hasData = false;
// Loop through 5 predefined rows
for (var i = 1; i <= 5; i++) {
var rateInput = document.getElementById('rate' + i);
var hoursInput = document.getElementById('hours' + i);
var rate = parseFloat(rateInput.value);
var hours = parseFloat(hoursInput.value);
// Check if inputs are valid numbers
if (!isNaN(rate) && !isNaN(hours)) {
var rowCost = rate * hours;
totalCost += rowCost;
totalHours += hours;
hasData = true;
}
}
if (!hasData || totalHours === 0) {
alert("Please enter at least one valid Rate and Hours value.");
return;
}
var blendedRate = totalCost / totalHours;
// Display results
document.getElementById('displayTotalHours').innerHTML = totalHours.toFixed(2);
// Format currency options
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById('displayTotalCost').innerHTML = formatter.format(totalCost);
document.getElementById('displayBlendedRate').innerHTML = formatter.format(blendedRate);
document.getElementById('bhr-result-box').style.display = 'block';
}
function resetBhrCalculator() {
for (var i = 1; i <= 5; i++) {
document.getElementById('role' + i).value = '';
document.getElementById('rate' + i).value = '';
document.getElementById('hours' + i).value = '';
}
document.getElementById('bhr-result-box').style.display = 'none';
}