Road dashboard

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.

Observed
Europe contract indexobserved
135.54+5.7% over 12 months
As of July 2026
Fuel share of the last stepobserved
+3.3 ptsheadline over ex-fuel, April 2026
As of March 2026 to April 2026
Poland to Germany premiumobserved
+23.3%over Germany to Poland
As of July 2026
Award windowobserved
Mid-Jan–Febaward window
As of Troughs: February in DE, FR, IT and PL; January in ES and the aggregate
Observed road lanesobserved
33captured lanes, EUR per FTL
As of 26 July 2026

Captured road lanes across Europe

Lower per kmHigher per km
Antwerp → Birmingham: EUR 1,358.95 per FTL, EUR 2.56 per kmAntwerp → Paris: EUR 624.03 per FTL, EUR 1.78 per kmBerlin → Prague: EUR 498.13 per FTL, EUR 1.39 per kmBirmingham → Paris: EUR 593.48 per FTL, EUR 0.97 per kmBucharest → Cluj-Napoca: EUR 341.90 per FTL, EUR 0.75 per kmCologne → Munich: EUR 740.52 per FTL, EUR 1.28 per kmDuisburg → Antwerp: EUR 340.63 per FTL, EUR 1.89 per kmDuisburg → Berlin: EUR 821.98 per FTL, EUR 1.48 per kmDuisburg → Lyon: EUR 1,221.08 per FTL, EUR 1.52 per kmDuisburg → Rotterdam: EUR 369.64 per FTL, EUR 1.76 per kmDuisburg → Warsaw: EUR 886.25 per FTL, EUR 0.81 per kmHamburg → Copenhagen: EUR 703.35 per FTL, EUR 1.49 per kmHamburg → Gothenburg: EUR 1,283.06 per FTL, EUR 1.65 per kmHamburg → Milan: EUR 1,398.08 per FTL, EUR 1.26 per kmHamburg → Munich: EUR 766.79 per FTL, EUR 0.98 per kmHamburg → Rotterdam: EUR 573.76 per FTL, EUR 1.14 per kmLondon → Manchester: EUR 605.11 per FTL, EUR 1.85 per kmLyon → Madrid: EUR 992.15 per FTL, EUR 0.80 per kmMadrid → Barcelona: EUR 430.36 per FTL, EUR 0.69 per kmMadrid → Paris: EUR 1,155.90 per FTL, EUR 0.91 per kmMilan → Rome: EUR 919.52 per FTL, EUR 1.58 per kmMunich → Budapest: EUR 586.19 per FTL, EUR 0.88 per kmMunich → Milan: EUR 614.66 per FTL, EUR 1.24 per kmMunich → Vienna: EUR 598.03 per FTL, EUR 1.47 per kmMunich → Zurich: EUR 643.68 per FTL, EUR 2.01 per kmParis → Antwerp: EUR 314.28 per FTL, EUR 0.91 per kmParis → Birmingham: EUR 1,147.39 per FTL, EUR 1.91 per kmParis → London: EUR 869.19 per FTL, EUR 2.18 per kmParis → Lyon: EUR 506.34 per FTL, EUR 1.08 per kmParis → Madrid: EUR 1,031.28 per FTL, EUR 0.81 per kmRotterdam → Duisburg: EUR 352.99 per FTL, EUR 1.67 per kmWarsaw → Duisburg: EUR 1,076.02 per FTL, EUR 0.99 per kmWarsaw → Poznan: EUR 219.80 per FTL, EUR 0.69 per km

Every arc is one captured lane benchmark; the same figures are in the lanes panel below.

Scopes the corridor table belowIndex through July 2026

Corridor and market index register

Observed · sorted by 12-month change
GeographyScopeLatest3-month12-monthTrend
Cross-border154.98+0.4%+18.5%
Cross-border155.26+3.5%+18.4%
Cross-border140.22+2.3%+17.7%
Cross-border128.54+4.1%+17.3%
Cross-border120.72-2.7%+15.0%
Cross-border158.18+1.9%+12.3%
Domestic128.16-2.5%+9.2%
Cross-border115.84-0.8%+8.0%
Domestic149.30+2.9%+6.9%
Domestic158.46+1.7%+6.4%
Aggregate135.54+0.4%+5.7%
Domestic130.01-0.6%+5.0%
Cross-border133.51-0.2%+5.0%
Cross-border141.70+1.4%+5.0%
Cross-border132.15+1.3%+4.9%
Domestic115.60+2.4%+4.3%
Cross-border132.62-0.5%+3.9%
Cross-border128.24-2.9%+3.4%
Cross-border128.75+2.8%+3.4%
Domestic118.26+2.7%+3.2%
Cross-border140.45-1.9%+3.0%
Cross-border157.49+0.8%+2.6%
Aggregate126.85+3.5%+2.4%
Cross-border135.57-0.0%+1.8%
Cross-border137.81+1.7%+1.3%
Cross-border140.69-2.1%-2.3%
Domestic138.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

Observed · 9 bidirectional pairs
Poland → Germany+23.3%Poland → Germany: leading leg 158.18, reverse 128.24Poland → France+16.3%Poland → France: leading leg 140.45, reverse 120.72Italy → France+14.1%Italy → France: leading leg 132.15, reverse 115.84Belgium → France+12.3%Belgium → France: leading leg 157.49, reverse 140.22France → Germany+10.4%France → Germany: leading leg 155.26, reverse 140.69Spain → Germany+9.4%Spain → Germany: leading leg 154.98, reverse 141.70France → Spain+5.3%France → Spain: leading leg 135.57, reverse 128.75Great Britain → France+3.9%Great Britain → France: leading leg 137.81, reverse 132.62Netherlands → France+3.9%Netherlands → France: leading leg 133.51, reverse 128.54115.8 index158.2 index

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

Observed
  • 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

Observed index levels · one value axis
100115131147163indexMarJunSepDecMarJunSepDecMarJunSepDecMarJunSepDecMarJul2022 to 2026

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

Faceted rather than given a seventh hue
126.4133.5140.6147.6154.7indexFebAprJunAugOctDecFebAprJunAugOctDecFebAprJul2024 to 2026Great Britain domestic 13…

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

Faceted rather than given a seventh hue
106.6110.4114.1117.8121.5indexFebAprJunAugOctDecFebAprJunAugOctDecFebAprJul2024 to 2026Romania domestic 118.26

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.

Scopes the lane benchmarks below33 observed lanes · captured 26 July 2026

Observed lane benchmarks against the German walk-away

Observed · EUR per km · walk-away 1.55
German walk-away 1.55 EUR/kmAntwerp → Birmingham2.56Paris → London2.18Munich → Zurich2.01Paris → Birmingham1.91Duisburg → Antwerp1.89London → Manchester1.85Antwerp → Paris1.78Duisburg → Rotterdam1.76Rotterdam → Duisburg1.67Hamburg → Gothenburg1.65Milan → Rome1.58Duisburg → Lyon1.52Hamburg → Copenhagen1.49Duisburg → Berlin1.48Munich → Vienna1.47Berlin → Prague1.39Cologne → Munich1.28Hamburg → Milan1.26Munich → Milan1.24Hamburg → Rotterdam1.14Paris → Lyon1.08Warsaw → Duisburg0.99Hamburg → Munich0.98Birmingham → Paris0.97Paris → Antwerp0.91Madrid → Paris0.91Munich → Budapest0.88Duisburg → Warsaw0.81Paris → Madrid0.81Lyon → Madrid0.80Bucharest → Cluj-Napoca0.75Warsaw → Poznan0.69Madrid → Barcelona0.690.000.641.281.922.56EUR/km

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

Observed
  • 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

Observed · road only · one index axis, one base
120.8125.0129.1133.2137.4indexMayJunJulAugSepOctNovDecFebMarAprMayJul2025 to 2026Headline 135.54Ex-fuel 126.85

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

Observed

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

Observed · EUR per litre · last 24 months
1.261.571.882.192.50EUR/LSepNovJan 25MarMayJulSepNovJan 26MarMayJul2024 to 2026DE 2.07ES 1.61FR 2.01IT 2.01NL 2.23PL 1.64

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

Same engine as Rate position · benchmark EUR
road AntwerpBirmingham

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.

Built by Parag KhareGlobal Pricing and Tender Manager, twelve years in logistics and freight forwarding.Contacthttps://rfq.ch/Sources
Rate data: licensed transaction data, used with permission. Contract rates only; spot is excluded by design. Lane capture as of 26 July 2026.