Film Day Rate Calculator

Film Day Rate & Overtime Calculator .film-rate-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; } .film-rate-calc-container h2 { text-align: center; color: #333; margin-bottom: 25px; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; } @media (max-width: 600px) { .calc-grid { grid-template-columns: 1fr; } } .input-group { margin-bottom: 15px; } .input-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #444; } .input-group input, .input-group select { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .input-group .currency-symbol { position: relative; } .input-group .currency-symbol input { padding-left: 25px; } .input-group .currency-symbol:before { content: "$"; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #777; } .calc-btn { display: block; width: 100%; padding: 15px; background-color: #2c3e50; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.3s; } .calc-btn:hover { background-color: #34495e; } .calc-result { margin-top: 25px; padding: 20px; background: #fff; border: 1px solid #ddd; border-radius: 4px; display: none; } .result-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #eee; } .result-row:last-child { border-bottom: none; font-weight: bold; font-size: 1.2em; color: #27ae60; } .result-label { color: #555; } .article-content { margin-top: 40px; line-height: 1.6; color: #333; } .article-content h3 { margin-top: 30px; color: #2c3e50; } .article-content p { margin-bottom: 15px; } .article-content ul { margin-bottom: 15px; padding-left: 20px; } .highlight-box { background-color: #e8f4f8; padding: 15px; border-left: 4px solid #3498db; margin: 20px 0; }

Film Day Rate & Overtime Calculator

Base rate before overtime
Standard (1.5x after 8h, 2x after 12h) California (1.5x after 8h, 2x after 12h) Commercial (1.5x after 10h) Flat Rate (No OT)

Pay Breakdown

Base Pay (Straight Time): $0.00
Overtime (1.5x): $0.00
Double Time (2.0x): $0.00
Kit Fee: $0.00
Total Gross Pay: $0.00

Understanding Film Industry Day Rates

Calculating pay in the film and video production industry can be complex due to the unique overtime structures used by unions and production companies. Unlike standard 9-to-5 jobs, film days often stretch to 12 hours or more, necessitating specific calculations for "straight time," "time-and-a-half," and "double time."

Standard Film Day Breakdown:
Most freelance crew rates are based on a guaranteed number of hours (usually 10 or 12). However, the hourly calculation typically follows an 8-hour base structure.

How the Calculation Works

This calculator uses the standard industry formulas to determine your gross pay:

  • Base Pay (Straight Time): Usually the first 8 hours of work are billed at your base hourly rate.
  • Overtime (1.5x): Hours worked between 8 and 12 are typically billed at 1.5 times your hourly rate.
  • Double Time (2.0x): Any work performed after 12 hours is billed at double your hourly rate (or sometimes more depending on the specific union contract).
  • Commercial/10h Rates: Some commercial productions calculate overtime starting after 10 hours rather than 8.

Example Calculation

Imagine a Gaffer has a negotiated rate of $50/hour and works a long 14-hour day.

  1. First 8 Hours: 8 hrs × $50 = $400
  2. Next 4 Hours (OT): 4 hrs × ($50 × 1.5) = $300
  3. Final 2 Hours (DT): 2 hrs × ($50 × 2.0) = $200
  4. Total Labor: $400 + $300 + $200 = $900

If they negotiated a $50 kit fee for their tools, the total invoice would be $950.

Why "Day Rates" Can Be Misleading

Freelancers often quote a "Day Rate" (e.g., "$600/10"). This usually means $600 is guaranteed for up to 10 hours. To find the hourly rate for overtime calculations, you must reverse engineer the math. For a "$600/10" rate, the hourly rate is roughly $54.54, not $60, because the 9th and 10th hours are valued at 1.5x.

function calculateDayRate() { // 1. Get Input Values var hourlyRate = parseFloat(document.getElementById('hourlyRate').value); var hoursWorked = parseFloat(document.getElementById('hoursWorked').value); var otStructure = document.getElementById('otStructure').value; var kitFee = parseFloat(document.getElementById('kitFee').value); // 2. Validation if (isNaN(hourlyRate) || hourlyRate < 0) { alert("Please enter a valid hourly rate."); return; } if (isNaN(hoursWorked) || hoursWorked < 0) { alert("Please enter valid hours worked."); return; } if (isNaN(kitFee)) { kitFee = 0; } // 3. Initialize Variables var basePay = 0; var otPay = 0; var dtPay = 0; var straightHours = 0; var otHours = 0; var dtHours = 0; // 4. Logic based on Structure if (otStructure === 'standard' || otStructure === 'california') { // Standard: 0-8 (1x), 8-12 (1.5x), 12+ (2x) // Calculate Straight Time (First 8 hours) if (hoursWorked 8) { if (hoursWorked 12) { dtHours = hoursWorked – 12; } } else if (otStructure === 'commercial') { // Commercial: 0-10 (1x), 10+ (1.5x). rare cases 12+ might be 2x but usually simple 1.5x // Simplified logic: 1.5x after 10 hours. if (hoursWorked <= 10) { straightHours = hoursWorked; } else { straightHours = 10; otHours = hoursWorked – 10; } // Usually no DT in simple commercial agreements unless specified, keeping it simple 1.5x } else if (otStructure === 'flat') { // Flat Rate: Straight hourly calculation regardless of hours straightHours = hoursWorked; } // 5. Calculate Financials basePay = straightHours * hourlyRate; otPay = otHours * (hourlyRate * 1.5); dtPay = dtHours * (hourlyRate * 2.0); var totalLabor = basePay + otPay + dtPay; var totalGross = totalLabor + kitFee; // 6. Output Results document.getElementById('basePayResult').innerHTML = "$" + basePay.toFixed(2); document.getElementById('otPayResult').innerHTML = "$" + otPay.toFixed(2); document.getElementById('dtPayResult').innerHTML = "$" + dtPay.toFixed(2); document.getElementById('kitFeeResult').innerHTML = "$" + kitFee.toFixed(2); document.getElementById('totalPayResult').innerHTML = "$" + totalGross.toFixed(2); // Show result box document.getElementById('result').style.display = "block"; }

Leave a Comment