Parag's European Road Freight Contract Benchmark
Built on licensed transaction data. A complete road contract picture on one page: every observed European contract index in the capture, the directional premium between paired corridors, the captured lane benchmarks in EUR per km against the German walk-away, the fuel decomposition, diesel by country and a live rate check. Contract rates only; spot is excluded by design.
Captured road lanes across Europe
Every arc is one captured lane benchmark; the same figures are in the lanes panel below.
Corridor and market index register
| Geography | Scope | Latest | 3-month | 12-month | Trend |
|---|---|---|---|---|---|
| Cross-border | 154.98 | +0.4% | +18.5% | ||
| Cross-border | 155.26 | +3.5% | +18.4% | ||
| Cross-border | 140.22 | +2.3% | +17.7% | ||
| Cross-border | 128.54 | +4.1% | +17.3% | ||
| Cross-border | 120.72 | -2.7% | +15.0% | ||
| Cross-border | 158.18 | +1.9% | +12.3% | ||
| Domestic | 128.16 | -2.5% | +9.2% | ||
| Cross-border | 115.84 | -0.8% | +8.0% | ||
| Domestic | 149.30 | +2.9% | +6.9% | ||
| Domestic | 158.46 | +1.7% | +6.4% | ||
| Aggregate | 135.54 | +0.4% | +5.7% | ||
| Domestic | 130.01 | -0.6% | +5.0% | ||
| Cross-border | 133.51 | -0.2% | +5.0% | ||
| Cross-border | 141.70 | +1.4% | +5.0% | ||
| Cross-border | 132.15 | +1.3% | +4.9% | ||
| Domestic | 115.60 | +2.4% | +4.3% | ||
| Cross-border | 132.62 | -0.5% | +3.9% | ||
| Cross-border | 128.24 | -2.9% | +3.4% | ||
| Cross-border | 128.75 | +2.8% | +3.4% | ||
| Domestic | 118.26 | +2.7% | +3.2% | ||
| Cross-border | 140.45 | -1.9% | +3.0% | ||
| Cross-border | 157.49 | +0.8% | +2.6% | ||
| Aggregate | 126.85 | +3.5% | +2.4% | ||
| Cross-border | 135.57 | -0.0% | +1.8% | ||
| Cross-border | 137.81 | +1.7% | +1.3% | ||
| Cross-border | 140.69 | -2.1% | -2.3% | ||
| Domestic | 138.61 | +3.6% | -2.7% |
Cross-border road coverage is a Germany-and-France star: every published corridor has one of those two countries at one end. A lane between two non-anchor countries — Italy to Spain, for instance — has no corridor index behind it, and none is invented for it. The cross-border series start later than the domestic ones, so their sparklines are shorter by design.
Directional pairs — inbound against outbound on the same corridor
Filled dot is the leg that prices above; open dot is its reverse. Both legs sit on one index axis at the same month, so the premium is a like-for-like reading and never a converted price.
What the direction says
- Inbound to the anchor prices above outbound on 8 of 9 pairs. The widest is Poland to Germany at +23.3% over its reverse. Country-level indices average this away completely.
- The exception: France to Spain runs 5.3% above Spain to France. It is the one European pair in the set where the outbound leg from the anchor prices above the inbound one. That is a finding, not noise: it says the imbalance on this corridor points the other way, and a tender priced on the general rule will be wrong on it.
- Anchor split. 3 of 3 Germany-anchored premiums widened between January and July 2026, while 5 of 6 France-anchored premiums compressed. German inbound scarcity is getting dearer; the French corridors are converging.
Domestic contract index by market
The aggregate is drawn alongside its members deliberately, on the same index basis and the same single axis. Repaired Poland months carry a green diamond and keep their note; the table twin labels them too.
The Poland gap is closed. The 8 months from Dec 25 to Jul 26 were withheld while the original extraction was suspected of duplicating France. They were re-pulled from the source system on 30 July 2026 and now draw in full, each carrying a green diamond and the repair note on hover — flagged in place, never smoothed away.
Great Britain domestic — own panel
Shown as a small multiple so the shared chart keeps to six categorical hues. Same index basis and units, so levels remain comparable by reading the axis.
Romania domestic — own panel
Shown as a small multiple so the shared chart keeps to six categorical hues. Same index basis and units, so levels remain comparable by reading the axis.
Observed lane benchmarks against the German walk-away
The rule on every row is the published German walk-away threshold of 1.55 EUR/km, as of 1 July 2026. It is a cost reading, not an observed rate, so it is drawn as a rule rather than as a mark.
Reading the benchmarks
- One figure per lane. The dearest lane in the capture is Antwerp → Birmingham at 2.56 EUR/km; the cheapest is Madrid → Barcelona at 0.69 EUR/km. Distance, direction and the cost base behind each lane explain the spread.
- 22 lanes sit at or below the German walk-away. Those are not bargains for a German carrier; they are lanes that only work on an eastern cost base or as backhaul. The should-cost page builds the floor input by input.
Fuel decomposition — headline against ex-fuel
Both series are published on the same index base and drawn on one axis; there is no second scale. This decomposition exists for road only, because road is the only mode where a published index separates fuel from the base.
What the last step was made of
Between March 2026 and April 2026 the headline European contract index rose +3.9 pts (+3.0%), while the same index excluding fuel moved +0.6 pts (+0.5%). Almost the whole move is fuel, so a carrier asking for that increase as a base-rate uplift is asking to be paid twice once a floater is in the contract.
The month before tells the same story from the other side: between February 2026 and March 2026 the headline moved +0.6 pts while ex-fuel moved -2.3 pts. The escalation designer builds and back-tests the floater that isolates it.
Diesel pump price by country, with tax
Full fuel history, gross-versus-net decomposition and the cost input register.
With-tax pump prices, the input a road carrier actually pays. Six countries are drawn so the categorical hue set is never exceeded; the full history from 2005, the ex-tax split and the driver register live on Cost drivers.
Road rate check
Rate is per FTL. Any of the 30 ECB currencies is accepted and converted at the reference rates of 31 July 2026. The lane benchmark is observed and captured 26 July 2026.
Enter a rate to place it against the benchmark for this lane.
Scoring a tender file rather than one lane? Rate position takes a paste or CSV of any size and exports the result.