How Do You Calculate Overtime with Different Pay Rates

Blended Overtime Rate Calculator (Weighted Average) body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; } .calculator-container { background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 8px; padding: 25px; margin-bottom: 30px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); } .calc-header { margin-top: 0; color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; margin-bottom: 20px; } .input-group { margin-bottom: 15px; background: #fff; padding: 15px; border-radius: 5px; border: 1px solid #eee; } .job-title { font-weight: bold; color: #555; margin-bottom: 10px; display: block; } .input-row { display: flex; gap: 15px; flex-wrap: wrap; } .input-col { flex: 1; min-width: 140px; } label { display: block; margin-bottom: 5px; font-size: 0.9em; font-weight: 600; color: #555; } input[type="number"] { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; /* Ensure padding doesn't affect width */ } button.calc-btn { background-color: #3498db; color: white; border: none; padding: 12px 25px; font-size: 16px; border-radius: 4px; cursor: pointer; width: 100%; margin-top: 10px; font-weight: bold; transition: background-color 0.2s; } button.calc-btn:hover { background-color: #2980b9; } #result-area { margin-top: 25px; background-color: #fff; border: 1px solid #e1e1e1; border-radius: 4px; padding: 20px; display: none; } .result-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #eee; } .result-row:last-child { border-bottom: none; font-weight: bold; font-size: 1.1em; color: #2c3e50; margin-top: 10px; padding-top: 15px; border-top: 2px solid #3498db; } .highlight { color: #27ae60; font-weight: bold; } .explanation-text { font-size: 0.85em; color: #7f8c8d; margin-top: 5px; font-style: italic; } h2 { margin-top: 40px; color: #2c3e50; } h3 { color: #34495e; } p { margin-bottom: 15px; } ul { margin-bottom: 20px; } li { margin-bottom: 8px; } .example-box { background: #e8f4fc; padding: 15px; border-left: 4px solid #3498db; margin: 20px 0; }

Weighted Average Overtime Calculator

Calculate blended overtime pay when working multiple jobs at different rates.

Role / Position 1
Role / Position 2
Role / Position 3 (Optional)
Standard FLSA threshold is 40 hours/week.
Total Straight-Time Pay: $0.00
Total Hours Worked: 0.00
Weighted Average Rate: $0.00
Overtime Hours: 0.00
OT Premium (Half-Time): $0.00
Total Gross Pay: $0.00
function calculateBlendedOvertime() { // 1. Get Input Values var h1 = parseFloat(document.getElementById('hours1').value) || 0; var r1 = parseFloat(document.getElementById('rate1').value) || 0; var h2 = parseFloat(document.getElementById('hours2').value) || 0; var r2 = parseFloat(document.getElementById('rate2').value) || 0; var h3 = parseFloat(document.getElementById('hours3').value) || 0; var r3 = parseFloat(document.getElementById('rate3').value) || 0; var threshold = parseFloat(document.getElementById('otThreshold').value) || 40; // 2. Calculate Totals for Straight Time var pay1 = h1 * r1; var pay2 = h2 * r2; var pay3 = h3 * r3; var totalStraightPay = pay1 + pay2 + pay3; var totalHours = h1 + h2 + h3; // Validation to prevent NaN or Infinity if (totalHours === 0) { alert("Please enter hours worked."); return; } // 3. Calculate Weighted Average Rate // Formula: Total Straight Pay / Total Hours var weightedRate = totalStraightPay / totalHours; // 4. Calculate Overtime var otHours = 0; var otPremiumTotal = 0; if (totalHours > threshold) { otHours = totalHours – threshold; // The employee has already been paid the "straight time" for these hours in the calculation above. // Therefore, we only owe them the "half-time" premium based on the weighted average rate. // Premium Rate = Weighted Average Rate * 0.5 var halfTimeRate = weightedRate * 0.5; otPremiumTotal = otHours * halfTimeRate; } // 5. Total Pay var totalGrossPay = totalStraightPay + otPremiumTotal; // 6. Display Results document.getElementById('resTotalStraight').innerText = "$" + totalStraightPay.toFixed(2); document.getElementById('resTotalHours').innerText = totalHours.toFixed(2); document.getElementById('resWeightedRate').innerText = "$" + weightedRate.toFixed(2) + " /hr"; document.getElementById('resOtHours').innerText = otHours.toFixed(2); document.getElementById('resOtPremium').innerText = "$" + otPremiumTotal.toFixed(2); document.getElementById('resTotalGross').innerText = "$" + totalGrossPay.toFixed(2); // Show result area document.getElementById('result-area').style.display = 'block'; }

How to Calculate Overtime with Different Pay Rates

When an employee works two or more jobs at different hourly rates within a single workweek, calculating overtime pay isn't as simple as multiplying the excess hours by 1.5 times the highest rate (or the lowest). According to the Fair Labor Standards Act (FLSA), you generally must use the Weighted Average Method (also known as the "Blended Rate") to determine the correct regular rate of pay for that week.

What is the Weighted Average Method?

The weighted average method blends the different pay rates based on the number of hours worked at each rate. This ensures the overtime premium is fair and proportional to the actual earnings of the employee for that specific week.

The calculation involves these four steps:

  1. Calculate Total Straight-Time Pay: Multiply the hours worked in each job by its specific hourly rate, then sum the totals.
  2. Determine the Regular Rate: Divide the Total Straight-Time Pay by the Total Hours worked. This gives you the "Weighted Average Rate."
  3. Calculate the Overtime Premium: Multiply the Weighted Average Rate by 0.5 (half-time). This is the extra amount owed for every overtime hour, because the "straight time" portion was already calculated in Step 1.
  4. Finalize Total Pay: Add the Overtime Premium total to the Total Straight-Time Pay.

Real-World Example Calculation

Let's look at a scenario for an employee named Sarah:

  • Job A (Server): 30 hours at $15.00/hour
  • Job B (Host): 20 hours at $20.00/hour

Step 1: Straight Pay
($15.00 × 30) + ($20.00 × 20) = $450 + $400 = $850.00

Step 2: Weighted Average Rate
Total Hours = 30 + 20 = 50 hours.
$850 / 50 hours = $17.00/hour (This is the blended rate).

Step 3: Overtime Premium
Overtime Hours = 50 – 40 = 10 hours.
Half-Time Premium = $17.00 × 0.5 = $8.50.
Total Premium Due = 10 hours × $8.50 = $85.00.

Step 4: Total Pay
$850 (Straight Pay) + $85 (Premium) = $935.00.

Why "Half-Time" and not "Time and a Half"?

A common source of confusion is why we multiply the weighted rate by 0.5 rather than 1.5. The reason is that in Step 1, we calculated the total earnings for all hours (including the overtime hours) at the straight-time rates.

Since the employee has already been paid the "1.0" portion of their "1.5" overtime rate in the initial straight-time calculation, the employer only owes the remaining "0.5" (the half-time premium) for those specific overtime hours.

Exceptions and Agreements

While the weighted average is the standard FLSA method, employers and employees can sometimes agree in advance to calculate overtime based on the rate of the specific job performed during the overtime hours. However, this requires a specific written agreement before the work is performed and must meet strict FLSA record-keeping requirements. Without such an agreement, the blended rate method used in the calculator above is the legal default.

Leave a Comment