Logistics Intelligence Series | Module 4 of 6

Empty-run analysis:
The most expensive air on your roads

One in five kilometres your fleet drives is without cargo. That is not just diesel cost - it is lost contribution margin. A clustering model uncovers systematic patterns no dispatcher can see manually - and shows where consolidation genuinely pays off.

Model scenario - fictional data

This module is part of a six-part worked example about a fictional mid-sized logistics company (150 trucks, 43 regular customers). All figures, datasets, model metrics and euro amounts are fully simulated - they illustrate the methodology and the order of magnitude of the achievable effect. They are not results of real clients and not a performance promise. What values are achievable on your real data is established only in a pilot project.

01 The problem - empty kilometres as a systemic fault

Why traditional freight exchanges do not solve the problem

Empty runs are not random. They arise from structural imbalances in your route patterns: customers in region A are served, but there is no matching return freight to region B. The dispatcher knows this - but only ever sees a single day. What they don't see: that this empty run occurs every Tuesday and Thursday on the same relation.

Freight exchanges help in individual cases but don't address the structural problem. What is missing: an analysis that identifies recurring empty-run patterns, quantifies their costs and reveals concrete consolidation opportunities - based on your own historical data.

20% empty km = €3.24m variable cost per year

Valued at €0.90/km variable cost (an assumption - below the full cost of €1.45/km). Eurostat 2024: EU average 21.6%, Germany international 20.2%. Every avoided percentage point relieves the budget by around €162,000.

Route history
Relation analysis
Pattern clustering
Bundling scoring
Dispatch recommendation

02 Data foundation - 42,000 routes, 12 months

What your TMS knows about your empty kilometres

We simulate the route history of a 150-truck fleet with 43 regular customers across 28 regions (postal code areas). Each route has an origin, a destination, cargo (yes/no) and timestamps. From these raw records we extract the empty-run relations.

▸ Example values - method illustration, not a performed analysis
Touren: 42.000
Leerfahrtquote: 20.0%
Leerkilometer gesamt: 3.600.000 km
20,0 %
Empty-run rate
3,6 Mio
Empty kilometres / year
42.000
Routes analysed
28
Relation zones

03 Relation analysis - where the problem arises

Not all empty kilometres are equal - some are avoidable, others are not

Empty-run rate by destination region - top 12
↳ The East Problem

Routes to Warsaw, Prague and Dresden generate empty-run rates of 35-42%. The reason: freight flows significantly more from west to east than in the reverse direction. An empty return leg from Warsaw costs around €390 in variable cost (430 km × €0.90).

Empty-run rate by weekday
↳ The Friday Effect

On Fridays the empty-run rate rises to 24.8% - almost 8 percentage points above Monday. The reason: shippers place fewer orders on Fridays, but your trucks still need to return to base. This is a planning problem, not a market problem.

04 Clustering - identifying recurring empty-run patterns

DBSCAN finds structures no dispatcher can see

We apply DBSCAN clustering to the relation pairs, weighted by frequency, weekday and seasonality. The goal: find groups of empty runs that are regular, predictable and therefore avoidable.

▸ Example values - method illustration, not a performed analysis
Cluster gefunden: 14
Noise-Punkte (einmalige Muster): 87
Systematische Leerfahrten: 246 Muster
14
Empty-run clusters
246
Systematic patterns
12%
of empty km in the top 5 clusters
87
Random (noise)
Top 5 empty-run clusters - cost share
↳ The Power of Patterns

The top 5 clusters cover 449,000 empty km (12%) - but they are the easiest to consolidate, because they are regular and predictable. So you do not need to optimise 42,000 routes, but first 5 recurring patterns. Cluster 1 alone (eastbound returns Tue+Thu) accounts for 142,000 empty km and €127,800 in variable cost per year.

05 The 5 most costly clusters - concrete patterns

What your dispatcher sees every day but has never quantified

Cluster 1: FRA/MAN WAR/PRA
Empty km: 142.000
Frequency: Tue + Thu
Cost: €127.800/J
💡 Solution: Partner with a Polish carrier for backhaul contracts. Alternative: approach automotive suppliers in Wrocław/Poznań as backhaul source.
Cluster 2: KOL/DUS KIE/BRE
Leer-km: 98.000
Frequenz: Mon-Fri
Kosten: €88.200/J
💡 Solution: Bundle port backhauls from Hamburg/Bremerhaven. Use container inland transport as backhaul.
Cluster 3: MUC/STR MAI/LYO
Leer-km: 87.000
Frequenz: Wed + Fri
Kosten: €78.300/J
💡 Solution: Triangle route via Lyon → Geneva → Stuttgart with Swiss transit freight. Seasonal agricultural loads from northern Italy.
Cluster 4: BER/LEI DRE
Leer-km: 64.000
Frequenz: daily
Kosten: €57.600/J
💡 Solution: Internal route bundling: combine early-shift Dresden delivery with late-shift Berlin backhaul. Feasible with just 2 trucks.
Cluster 5: Friday return runs (all routes)
Leer-km: 58.000
Frequenz: every Fri
Kosten: €52.200/J
💡 Solution: Move Friday routes to Thursday + plan Monday return. Weekend location optimisation (truck stays at customer site).

06 Consolidation scoring - which measures work

Not every empty run is avoidable - but more than you think

Savings potential by measure type
Empty-run rate: current state vs. optimised scenario
↳ Realistic Target Rate

In this model calculation the empty-run rate of 20.0% is reducible to 18.5% - a reduction of 1.5 percentage points through internal measures alone, without additional customers. That is a deliberate assumption well below vendor case studies (Uber Freight cites 10-15% fewer empty runs). The rest is structural (market imbalances) and only reachable through strategic partnerships or changes to the customer mix.

07 Business impact - the variable-cost calculation

What every saved empty kilometre is really worth

€243.000
Total savings / year
18,5 %
New empty-run rate (from 20.0%)
Savings by measure
MeasureSaving/yearImplementationTimeline
Internal route bundling€86.400Dispatch tool with bundling suggestions2-4 Wochen
Backhaul partnerships€64.800Partner contracts with 3-4 carriers2-3 Monate
Triangular routes€43.200New route templates in TMS4-6 Wochen
Weekday optimization€36.000Adjust route planning Fri→Thu+MonSofort
Overnight stays€12.600Agree truck parking at customer sites1-2 Monate
↳ Quick Wins First

The weekday optimisation (€36,000) and internal consolidation (€86,400) are immediately implementable - without external partners, without new systems. Together €122,400 - immediate impact without complex integration. That is the quickest lever to implement in the entire Logistics Intelligence Series.

08 Next steps against empty runs

From pattern to automated recommendation

The empty-run analysis becomes a living system when it runs alongside daily dispatch operations:

① Route export

CSV export of the last 12 months from your TMS: origin, destination, date, loaded/empty, km. No effort required - the data already exists.

② Pattern dashboard

Weekly report: which clusters are active, which consolidations have been implemented, how is the rate developing?

③ Dispatch integration

Automatic consolidation suggestions during route planning. "LKW-042 is running empty from Dresden tomorrow - LKW-089 has return freight on the same relation."

All 6 modules: AI in logistics