How Are Trucking Rates Calculated

.truck-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; padding: 25px; border: 1px solid #e1e4e8; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 15px rgba(0,0,0,0.05); color: #333; } .truck-calc-container h2 { color: #004a99; text-align: center; margin-bottom: 25px; font-size: 28px; } .truck-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; } .truck-calc-field { display: flex; flex-direction: column; } .truck-calc-field label { font-weight: 600; margin-bottom: 8px; font-size: 14px; color: #555; } .truck-calc-field input, .truck-calc-field select { padding: 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; } .truck-calc-btn { grid-column: span 2; background-color: #004a99; color: white; padding: 15px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.3s; } .truck-calc-btn:hover { background-color: #003366; } .truck-calc-result { margin-top: 25px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; border-left: 5px solid #004a99; } .result-row { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 16px; } .result-total { font-size: 22px; font-weight: bold; color: #d32f2f; border-top: 1px solid #ddd; padding-top: 10px; margin-top: 10px; } .truck-article { margin-top: 40px; line-height: 1.6; } .truck-article h3 { color: #004a99; margin-top: 25px; } @media (max-width: 600px) { .truck-calc-grid { grid-template-columns: 1fr; } .truck-calc-btn { grid-column: span 1; } }

Freight Rate Calculator

Linehaul Revenue: $0.00
Total Fuel Surcharge: $0.00
Accessorial Total: $0.00
Total All-In Rate: $0.00
Effective Rate Per Mile (RPM): $0.00

How Are Trucking Rates Calculated?

Calculating freight rates is a critical process for both shippers and motor carriers. It isn't just a single number; rather, it is a compilation of several variables that reflect market conditions, operating costs, and service requirements.

1. Linehaul Rate

The linehaul is the primary cost of moving freight from point A to point B. This is typically quoted as a "Rate Per Mile" (RPM) or a flat "Spot Rate." It covers the basic equipment use, driver wages, and insurance. Linehaul rates fluctuate based on regional supply and demand, often referred to as "capacity."

2. Fuel Surcharge (FSC)

Because diesel prices are volatile, carriers use a Fuel Surcharge to protect their margins. It is usually calculated based on the National Average Diesel Price. For example, if the FSC is $0.50 per mile and the trip is 1,000 miles, the shipper pays an additional $500 to cover fuel volatility.

3. Accessorial Charges

These are fees for additional services or delays beyond standard dock-to-dock transport. Common accessorials include:

  • Lumper Fees: Payments made to third-party workers to load or unload the trailer.
  • Detention: A fee charged if the driver is held at a shipper or receiver for longer than the standard "free time" (usually 2 hours).
  • Stop-Off Charges: Fees for additional pick-up or delivery points along the route.
  • TONU (Truck Order Not Used): Paid if a load is cancelled after the driver has already been dispatched.

Example Calculation

Imagine a load going from Chicago to Dallas (approx. 925 miles). If the agreed linehaul is $2.10/mile, the FSC is $0.45/mile, and there is one extra stop for $100, the math looks like this:

  • Linehaul: 925 miles × $2.10 = $1,942.50
  • Fuel: 925 miles × $0.45 = $416.25
  • Accessorials: $100.00
  • Total Rate: $2,458.75
function calculateTruckingRate() { var miles = parseFloat(document.getElementById('totalMiles').value); var base = parseFloat(document.getElementById('baseRate').value); var fuel = parseFloat(document.getElementById('fuelSurcharge').value); var stops = parseFloat(document.getElementById('stopCharge').value); var lumper = parseFloat(document.getElementById('lumperFee').value); var detention = parseFloat(document.getElementById('detentionFee').value); // Validation if (isNaN(miles) || miles <= 0) { alert("Please enter a valid mileage."); return; } if (isNaN(base)) base = 0; if (isNaN(fuel)) fuel = 0; if (isNaN(stops)) stops = 0; if (isNaN(lumper)) lumper = 0; if (isNaN(detention)) detention = 0; // Math Logic var totalLinehaul = miles * base; var totalFuel = miles * fuel; var totalAccessorials = stops + lumper + detention; var grandTotal = totalLinehaul + totalFuel + totalAccessorials; var effectiveRPM = grandTotal / miles; // Display Results document.getElementById('resLinehaul').innerText = '$' + totalLinehaul.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resFuel').innerText = '$' + totalFuel.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resAccessorial').innerText = '$' + totalAccessorials.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resTotal').innerText = '$' + grandTotal.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resRPM').innerText = '$' + effectiveRPM.toFixed(2); document.getElementById('resultDisplay').style.display = 'block'; }

Leave a Comment