# How do you benchmark freight and 3PL rates?

> Freight and 3PL rate benchmarking compared to what, against what baseline, and using which inputs. A method you can run with your own carrier data.

Source: https://valuexpa.com/insights/how-do-you-benchmark-freight-and-3pl-rates
Publisher: ValueXPA (https://valuexpa.com)
Updated: 2026-09-04

---

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. In freight, benchmarking is one of the harder places to apply that idea, because the reference point moves. A rate card signed eighteen months ago is being tested against a market that has already shifted.

Benchmarking freight and 3PL rates means comparing what you are billed against three separate baselines at once: your own contract terms, the lane's current market rate, and the fuel and cost indices your surcharges are supposed to track. Skipping any one of the three leaves drift room to hide.

## Executive Summary

Freight rate benchmarking gets treated as a single question, "are we paying too much," when it is really three questions stacked on top of each other. The first is a contract question: does the invoiced rate match the rate card, the tier the shipment actually qualifies for, and the accessorial schedule attached to the agreement. The second is a market question: has the lane's going rate moved since the contract was signed, and by how much. The third is an index question: do fuel surcharges and general rate increases track a published input, or a number the carrier chose.

Each question needs a different reference. Contract compliance needs the signed rate card and its accessorial and minimum-charge tables. Market movement needs a lane rate index. Surcharge validation needs a fuel price series, because a surcharge that references diesel has to move with diesel, not with the carrier's preference.

None of the three baselines is optional, and none substitutes for the others. A rate can be correct against a market index and still wrong against your own contract, and a rate can match your contract exactly while your contract itself has fallen behind the market. Benchmarking without all three tells you the invoice is internally consistent, not that it is right.

## 1. What is the difference between a contract check and a market benchmark?

**A contract check tests whether the invoice matches what you signed: the rate card, the tier, the accessorial table, the fuel surcharge formula. A market benchmark tests whether what you signed is still competitive against the lane's current rate. An invoice can pass one and fail the other. Both checks are necessary because a carrier can bill correctly against a stale contract and still overcharge relative to the market, or bill incorrectly against a fair contract.**

The contract check is a matching exercise. Pull the rate card for the lane and equipment type, apply the volume tier the shipment actually earned, and compare that number to the invoiced line. Any accessorial charge gets checked against its own table entry, not estimated.

The market check is a different exercise entirely: it asks whether the negotiated rate itself has drifted from what the lane costs today. A contract signed during a tight capacity market can sit well above where the lane prices a year later, and nothing in a contract-compliance check will surface that, because the invoice matches the contract perfectly.

Running only the contract check is straightforward, because it is the one your AP system already supports through three-way matching. The market check requires an outside reference and a decision about when a rate is stale enough to renegotiate. Both checks answer different questions, and a page limited to only one of them, described in more detail in how you audit freight and 3PL invoices, will still leave the market side unexamined.

## 2. Which index actually tracks a freight rate?

**Two US Bureau of Labor Statistics Producer Price Index series price trucking directly: the Truck transportation of freight series (WPU3012), at 170.984 in July 2026, up 10.9% year over year, and the General freight trucking, long-distance TL series (PCU484121484121), at 195.575, up 8.1% year over year, both read from BLS on 2026-09-04. Neither substitutes for a lane-specific quote, but both show the direction line-haul pricing has moved.**

These two series measure different things and a benchmark should not mix them up. WPU3012 is a commodity index for truck transportation services broadly. PCU484121484121 is an industry index specific to long-distance truckload trucking. When a contract or an RFP references a general freight cost trend, the industry series is the closer match for a truckload lane.

Neither index tells you what your specific lane costs. A national index moving 8% to 11% year over year is a direction, not a lane rate, and a single lane can move differently from the national average depending on lane density and equipment availability. What the index supports is a sanity check: if your invoiced rate on a stable lane has moved 25% against a national index reading 8% to 11%, that gap is worth a rate card review, not a shrug.

Use the index to flag lanes for review, then confirm the actual number against your own contract and, where available, a lane-level rate source.

## 3. How do you validate a fuel surcharge against its own formula?

**A fuel surcharge is supposed to move with a published fuel price, on a schedule the contract defines. The US Energy Information Administration weekly diesel price is the standard reference for that formula. Validating the surcharge means recomputing it from the contract's stated formula and the fuel price for the invoice date, then comparing that recomputed figure to what was billed, line by line.**

The contract, not the invoice, defines the formula: a base fuel price, a percentage adjustment per cent of movement, and an effective date for when the new surcharge applies. Two invoices dated a week apart can legitimately carry different surcharge percentages if diesel moved between the update dates, and that is not drift, it is the formula working.

Drift shows up when the surcharge lags a fuel price drop that already happened, or when it carries a percentage the current fuel price does not support under the contract's own formula. The Producer Price Index for gasoline (series WPU0571) read 302.759 in July 2026, up 37.1% year over year, per BLS, read 2026-09-04, a reminder that fuel-linked charges have moved substantially and are worth checking against the contract formula rather than assumed correct.

This check is mechanical once the formula is in hand: recompute, compare, flag the difference. It does not require a market view, only the contract text and the correct fuel price for the invoice date.

## 4. What inputs does a lane-level freight benchmark need?

**A lane-level benchmark needs the origin and destination pair, equipment type, shipment frequency and volume on that lane, the accessorial charges routinely triggered, and the contract's rate card and tier structure for that lane. Missing any one of these produces a benchmark that looks precise but compares the wrong thing, because freight rates are lane-specific and small changes in equipment or accessorial mix change what a fair rate is.**

Each input narrows the comparison to the actual shipment rather than a network-wide average, which is what makes the benchmark meaningful instead of decorative.

### A. Lane and equipment detail

Origin, destination, and equipment type (dry van, reefer, flatbed) each price separately. A benchmark run at the network level, averaging across lanes and equipment, hides the specific lane where the rate has actually drifted.

### B. Volume and tier

Rate cards commonly step down at volume thresholds. A benchmark has to apply the tier the shipment actually earned, not the top tier the contract lists, because billing at a lower-volume tier for a higher-volume shipment is itself a form of drift, distinct from a market mismatch.

### C. Accessorial mix

Detention, liftgate, residential delivery and similar charges sit outside the base line-haul rate and need their own table entries checked separately, a topic covered in accessorial charge audit: the surcharges nobody validates.

## 5. Should the benchmark run on every shipment or a sample?

**The contract check, rate card against invoice, can run on every shipment, because it is a mechanical comparison against fixed reference tables. The market check, lane rate against index, is more useful run periodically by lane, since market movement is gradual and a per-shipment market comparison adds cost without adding much signal. Reserve full-population checking for the contract math; reserve sampling for the market trend.**

Three-way matching in a freight audit workflow checks the invoice against the PO or bill of lading and the accessorial table on every line. That coverage is cheap once the reference tables are built, so there is no reason to sample it: run it on 100% of invoices.

Market benchmarking is a different cost structure. Pulling a lane rate comparison for every shipment on a stable, high-frequency lane produces the same answer repeatedly. A quarterly or semi-annual review by lane, checked against the index movement described above, catches the case that matters: a lane where the contracted rate has drifted meaningfully from where the market has moved, without re-running the same comparison for every truckload.

The fuel surcharge check sits between the two. Because the formula and the fuel price both change on a defined schedule, checking on that same cadence, applied to every invoice within the period, is the right frequency: less often and a lagging surcharge accumulates unnoticed for months.

## 6. What should you do when the benchmark finds a gap?

**A confirmed gap between invoiced and contracted rate is a recovery conversation with the carrier, supported by the specific line items and the rate card section they violate. A confirmed gap between the contracted rate and current market pricing is a renegotiation conversation, not a recovery one, because the carrier billed correctly against a contract that has simply gone stale. Treating the two the same way wastes the advantage each one actually has.**

For a contract-compliance gap, the case is straightforward: cite the rate card line, the tier that applied, and the invoiced amount, and request a credit memo. This is the mechanical work described in how you audit freight and 3PL invoices, and it does not require a market argument, only the signed terms.

For a market gap, there is nothing to recover, because the carrier billed what the contract says. The action is to bring the index movement and any lane-rate data to the next contract renewal and negotiate the rate card itself. Framing a market gap as an overbilling dispute damages the carrier relationship without producing a credit, since there was no breach of contract to cite.

A surcharge-formula gap sits with the contract-compliance case: if the fuel surcharge does not match what the contract's own formula produces for the invoice date, that is a billing error against the signed terms, not a market question, and it is recoverable the same way a rate card violation is.

For the wider pattern this sits inside, start with the margin drift guide.

For the wider pattern this sits inside, start with the [margin drift](/guides/indirect-spend-audit-categories) guide. See also [accessorial charge audit: the surcharges nobody validates](/guides/accessorial-charge-audit-the-surcharges-nobody-validates) and [rate card enforcement: why approved timesheets still produce wrong invoices](/guides/rate-card-enforcement-why-approved-timesheets-still-produce).

## 7. Frequently Asked Questions (People Also Ask)

### What is the difference between a lane rate and a rate card rate?

A rate card rate is the number your contract sets for a lane and equipment type at a given volume tier. A lane rate, from a market index or spot quote, is what that lane costs right now in the open market. The two can diverge for months without either party violating anything, which is why both need checking separately.

### Does a fuel surcharge always move with diesel prices?

It moves according to whatever formula the contract specifies, which usually references a published diesel price and an update schedule. If the invoiced surcharge does not match what that formula produces for the fuel price on the invoice date, the gap is a billing error against the signed terms, not a market question.

### Can a carrier bill correctly and still be overpriced?

Yes. If the invoice matches the signed rate card exactly, the contract check passes. But if the lane's market rate has moved below the contracted rate since signing, the shipper is still paying more than the lane currently costs. That is a renegotiation issue, not a billing dispute.

### What documents do you need before benchmarking a freight contract?

The signed rate card with its tier structure, the accessorial charge table, the fuel surcharge formula and its effective dates, and the invoice detail for the shipments being reviewed. Without the accessorial table and surcharge formula in hand, a benchmark can only check the base line-haul rate.

### How do accessorial charges factor into a rate benchmark?

Accessorial charges such as detention, liftgate and residential delivery sit outside the base line-haul rate and are billed against their own table entries in the contract. A benchmark that only compares base rates misses drift sitting in the accessorial line items, which need to be checked against their own reference table.

### Is a national freight index enough to prove a rate is wrong?

No. A national index shows direction, not what a specific lane costs. Use it to flag a lane where the invoiced rate has moved out of line with the index trend, then confirm the actual figure against your own contract and a lane-specific rate source before treating it as a finding.

### Who should own freight rate benchmarking, procurement or AP?

The contract-compliance check fits naturally with AP, since it is a mechanical match against reference tables already used for three-way matching. The market and renegotiation side fits procurement, since it feeds the next contract conversation rather than a credit memo request. Both need to see the same underlying data.

### What counts as evidence when disputing a freight overcharge?

The rate card line the shipment should have been billed against, the tier it actually earned based on volume, and the invoiced amount, laid out side by side. For a surcharge dispute, add the contract's surcharge formula and the fuel price for the invoice date, so the recomputed figure is traceable.

### How often does a diesel-linked surcharge formula actually change the billed percentage?

It changes whenever the referenced fuel price crosses a threshold defined in the contract's own formula, on whatever update schedule the contract sets. The trigger is the formula and the fuel price series, not a fixed calendar; checking the formula against the actual fuel price for the invoice date is the only way to confirm the percentage billed was correct.

### Is contract complexity quietly draining your operating margin?

A small systematic drift between your negotiated contracts and your actual vendor billing compounds quietly across a year of invoices. Stop guessing at your exposure and run a targeted audit.

**[Take the Free Screener → https://valuexpa.com/margin-drift-screener](https://valuexpa.com/margin-drift-screener)**

## Executive Summary

Freight rate benchmarking gets treated as a single question, "are we paying too much," when it is really three questions stacked on top of each other. The first is a contract question: does the invoiced rate match the rate card, the tier the shipment actually qualifies for, and the accessorial schedule attached to the agreement. The second is a market question: has the lane's going rate moved since the contract was signed, and by how much. The third is an index question: do fuel surcharges and general rate increases track a published input, or a number the carrier chose. Each question needs a different reference. Contract compliance needs the signed rate card and its accessorial and minimum-charge tables. Market movement needs a lane rate index. Surcharge validation needs a fuel price series, because a surcharge that references diesel has to move with diesel, not with the carrier's preference. None of the three baselines is optional, and none substitutes for the others. A rate can be correct against a market index and still wrong against your own contract, and a rate can match your contract exactly while your contract itself has fallen behind the market. Benchmarking without all three tells you the invoice is internally consistent, not that it is right.

## 1. What is the difference between a contract check and a market benchmark?

A contract check tests whether the invoice matches what you signed: the rate card, the tier, the accessorial table, the fuel surcharge formula. A market benchmark tests whether what you signed is still competitive against the lane's current rate. An invoice can pass one and fail the other. Both checks are necessary because a carrier can bill correctly against a stale contract and still overcharge relative to the market, or bill incorrectly against a fair contract. The contract check is a matching exercise. Pull the rate card for the lane and equipment type, apply the volume tier the shipment actually earned, and compare that number to the invoiced line. Any accessorial charge gets checked against its own table entry, not estimated. The market check is a different exercise entirely: it asks whether the negotiated rate itself has drifted from what the lane costs today. A contract signed during a tight capacity market can sit well above where the lane prices a year later, and nothing in a contract-compliance check will surface that, because the invoice matches the contract perfectly. Running only the contract check is straightforward, because it is the one your AP system already supports through three-way matching. The market check requires an outside reference and a decision about when a rate is stale enough to renegotiate. Both checks answer different questions, and a page limited to only one of them, described in more detail in how you audit freight and 3PL invoices, will still leave the market side unexamined.

## 2. Which index actually tracks a freight rate?

Two US Bureau of Labor Statistics Producer Price Index series price trucking directly: the Truck transportation of freight series (WPU3012), at 170.984 in July 2026, up 10.9% year over year, and the General freight trucking, long-distance TL series (PCU484121484121), at 195.575, up 8.1% year over year, both read from BLS on 2026-09-04. Neither substitutes for a lane-specific quote, but both show the direction line-haul pricing has moved. These two series measure different things and a benchmark should not mix them up. WPU3012 is a commodity index for truck transportation services broadly. PCU484121484121 is an industry index specific to long-distance truckload trucking. When a contract or an RFP references a general freight cost trend, the industry series is the closer match for a truckload lane. Neither index tells you what your specific lane costs. A national index moving 8% to 11% year over year is a direction, not a lane rate, and a single lane can move differently from the national average depending on lane density and equipment availability. What the index supports is a sanity check: if your invoiced rate on a stable lane has moved 25% against a national index reading 8% to 11%, that gap is worth a rate card review, not a shrug. Use the index to flag lanes for review, then confirm the actual number against your own contract and, where available, a lane-level rate source.

## 3. How do you validate a fuel surcharge against its own formula?

A fuel surcharge is supposed to move with a published fuel price, on a schedule the contract defines. The US Energy Information Administration weekly diesel price is the standard reference for that formula. Validating the surcharge means recomputing it from the contract's stated formula and the fuel price for the invoice date, then comparing that recomputed figure to what was billed, line by line. The contract, not the invoice, defines the formula: a base fuel price, a percentage adjustment per cent of movement, and an effective date for when the new surcharge applies. Two invoices dated a week apart can legitimately carry different surcharge percentages if diesel moved between the update dates, and that is not drift, it is the formula working. Drift shows up when the surcharge lags a fuel price drop that already happened, or when it carries a percentage the current fuel price does not support under the contract's own formula. The Producer Price Index for gasoline (series WPU0571) read 302.759 in July 2026, up 37.1% year over year, per BLS, read 2026-09-04, a reminder that fuel-linked charges have moved substantially and are worth checking against the contract formula rather than assumed correct. This check is mechanical once the formula is in hand: recompute, compare, flag the difference. It does not require a market view, only the contract text and the correct fuel price for the invoice date.

## 4. What inputs does a lane-level freight benchmark need?

A lane-level benchmark needs the origin and destination pair, equipment type, shipment frequency and volume on that lane, the accessorial charges routinely triggered, and the contract's rate card and tier structure for that lane. Missing any one of these produces a benchmark that looks precise but compares the wrong thing, because freight rates are lane-specific and small changes in equipment or accessorial mix change what a fair rate is. Each input narrows the comparison to the actual shipment rather than a network-wide average, which is what makes the benchmark meaningful instead of decorative. ### A. Lane and equipment detail Origin, destination, and equipment type (dry van, reefer, flatbed) each price separately. A benchmark run at the network level, averaging across lanes and equipment, hides the specific lane where the rate has actually drifted. ### B. Volume and tier Rate cards commonly step down at volume thresholds. A benchmark has to apply the tier the shipment actually earned, not the top tier the contract lists, because billing at a lower-volume tier for a higher-volume shipment is itself a form of drift, distinct from a market mismatch. ### C. Accessorial mix Detention, liftgate, residential delivery and similar charges sit outside the base line-haul rate and need their own table entries checked separately, a topic covered in accessorial charge audit: the surcharges nobody validates.

## 5. Should the benchmark run on every shipment or a sample?

The contract check, rate card against invoice, can run on every shipment, because it is a mechanical comparison against fixed reference tables. The market check, lane rate against index, is more useful run periodically by lane, since market movement is gradual and a per-shipment market comparison adds cost without adding much signal. Reserve full-population checking for the contract math; reserve sampling for the market trend. Three-way matching in a freight audit workflow checks the invoice against the PO or bill of lading and the accessorial table on every line. That coverage is cheap once the reference tables are built, so there is no reason to sample it: run it on 100% of invoices. Market benchmarking is a different cost structure. Pulling a lane rate comparison for every shipment on a stable, high-frequency lane produces the same answer repeatedly. A quarterly or semi-annual review by lane, checked against the index movement described above, catches the case that matters: a lane where the contracted rate has drifted meaningfully from where the market has moved, without re-running the same comparison for every truckload. The fuel surcharge check sits between the two. Because the formula and the fuel price both change on a defined schedule, checking on that same cadence, applied to every invoice within the period, is the right frequency: less often and a lagging surcharge accumulates unnoticed for months.

## 6. What should you do when the benchmark finds a gap?

A confirmed gap between invoiced and contracted rate is a recovery conversation with the carrier, supported by the specific line items and the rate card section they violate. A confirmed gap between the contracted rate and current market pricing is a renegotiation conversation, not a recovery one, because the carrier billed correctly against a contract that has simply gone stale. Treating the two the same way wastes the advantage each one actually has. For a contract-compliance gap, the case is straightforward: cite the rate card line, the tier that applied, and the invoiced amount, and request a credit memo. This is the mechanical work described in how you audit freight and 3PL invoices, and it does not require a market argument, only the signed terms. For a market gap, there is nothing to recover, because the carrier billed what the contract says. The action is to bring the index movement and any lane-rate data to the next contract renewal and negotiate the rate card itself. Framing a market gap as an overbilling dispute damages the carrier relationship without producing a credit, since there was no breach of contract to cite. A surcharge-formula gap sits with the contract-compliance case: if the fuel surcharge does not match what the contract's own formula produces for the invoice date, that is a billing error against the signed terms, not a market question, and it is recoverable the same way a rate card violation is. For the wider pattern this sits inside, start with the margin drift guide. For the wider pattern this sits inside, start with the [margin drift](/guides/indirect-spend-audit-categories) guide. See also [accessorial charge audit: the surcharges nobody validates](/guides/accessorial-charge-audit-the-surcharges-nobody-validates) and [rate card enforcement: why approved timesheets still produce wrong invoices](/guides/rate-card-enforcement-why-approved-timesheets-still-produce).

## Common questions

### What is the difference between a lane rate and a rate card rate?

A rate card rate is the number your contract sets for a lane and equipment type at a given volume tier. A lane rate, from a market index or spot quote, is what that lane costs right now in the open market. The two can diverge for months without either party violating anything, which is why both need checking separately.

### Does a fuel surcharge always move with diesel prices?

It moves according to whatever formula the contract specifies, which usually references a published diesel price and an update schedule. If the invoiced surcharge does not match what that formula produces for the fuel price on the invoice date, the gap is a billing error against the signed terms, not a market question.

### Can a carrier bill correctly and still be overpriced?

Yes. If the invoice matches the signed rate card exactly, the contract check passes. But if the lane's market rate has moved below the contracted rate since signing, the shipper is still paying more than the lane currently costs. That is a renegotiation issue, not a billing dispute.

### What documents do you need before benchmarking a freight contract?

The signed rate card with its tier structure, the accessorial charge table, the fuel surcharge formula and its effective dates, and the invoice detail for the shipments being reviewed. Without the accessorial table and surcharge formula in hand, a benchmark can only check the base line-haul rate.

### How do accessorial charges factor into a rate benchmark?

Accessorial charges such as detention, liftgate and residential delivery sit outside the base line-haul rate and are billed against their own table entries in the contract. A benchmark that only compares base rates misses drift sitting in the accessorial line items, which need to be checked against their own reference table.

---

ValueXPA runs a fixed-scope Margin Drift Diagnostic that validates every service vendor invoice against contract terms, for $100M+ US industrial manufacturers and distributors. Two to four weeks. The client retains 100% of recoveries. https://valuexpa.com/contact-us
