VWTVWT
← All insights

What Transport Really Costs You Per Unit

Published August 19, 2026 · 11 min read

The transport report arrives on the first Monday of the month. One line has moved: cost per pallet delivered, 2,850 baht, against 2,400 the month before.

Someone will be asked to explain it, and the explanation offered will be about carriers, or diesel, or the rate review that was supposed to happen in March.

Usually none of those is the answer. The number is a fraction, and the bottom half moved.

This is about which fraction to use, what each of the common ones hides, and the two arithmetic steps that have to happen before any unit cost is allowed to mean anything.

The most quoted logistics figure in Thailand improved for the wrong reason

Start with the national number, because it makes the point at a scale nobody can argue with.

Thailand's logistics costs in 2024 came to 2,509.4 billion baht, or 13.5% of GDP, down from 14.2% the year before. Written that way it reads as a country getting better at moving things.

Now the two halves separately. Total logistics costs fell 1.3%, from 2,542.0 billion baht. Road freight costs specifically fell from 647.4 billion baht to 616.8 billion. And GDP at current prices grew 3.5%.

So the ratio improved from both directions at once, and neither direction was efficiency. NESDC says plainly what shrank the top half: agriculture contracted 1.0%, manufacturing fell 0.5%, private investment fell 1.6% alongside an 18.6% drop in new vehicle registrations, and capacity utilisation slipped to 59.0 from 60.2.

Less was made, so less was moved, so the transport bill was smaller. That is not an improvement in logistics. It is a smaller economy of goods sitting inside a larger economy of money.

If the most carefully constructed logistics ratio in the country can move that way, the one in your monthly pack certainly can.

The top half of the fraction is mostly a day

Before picking a denominator it helps to know what the numerator is made of, because the two are related.

Road freight cost is dominated by things that do not care how far the truck goes. The vehicle, the driver, the insurance, the licence and the interest all run whether the deck is full or empty. Distance adds fuel and tyres. This is why a freight quote is really a price for a vehicle and a day rather than a price for goods.

One consequence matters more than any other for measurement. Where the cost is mostly fixed, a fall in activity raises unit cost on its own. Move 20% less through the same operation and every per-unit number gets worse, without a single person doing a single thing differently.

That holds whether the trucks are on your own balance sheet or on an invoice from a transportation company. A vehicle you reserved and half-filled is a vehicle-day you bought and half-used.

Five units, and what each one hides

Every unit cost is total cost divided by something. Choosing that something is a claim about what causes the cost, and most of the popular choices are claims that are not true.

Unit What else it moves with
Cost per kilometre Distance. Longer trips make it look better. Empty running sits inside the denominator
Cost per tonne Product density and mix. A lighter product line raises it
Cost per case or carton Packaging. A case redesign moves it with nothing in transport changing
Cost per drop Order size. Customers ordering smaller leaves it flat while cost per unit climbs
Cost as a share of sales Price. A price rise improves it, a discount campaign wrecks it

Cost per kilometre is the most quoted and the most treacherous, because it rewards the thing you are trying to reduce. Drive further and it falls. Consolidate two runs into one and the fixed cost is spread over fewer kilometres, so it rises, on a month where you did exactly the right thing.

It has a second problem, which is what is inside the denominator. A Thai study of goods vehicles serving the Free Zone at Suvarnabhumi found that about 41.6% of the distance run was run without goods on board, and that the share depended heavily on vehicle size:

Vehicle Share of distance run empty
Four-wheel 46.26%
Six-wheel 38.45%
Ten-wheel 23.27%

If roughly two of every five kilometres carry nothing, then cost per kilometre run and cost per loaded kilometre are different numbers with different meanings, and only the second one is about your goods. Track both. The gap between them is where the improvement lives.

Cost per tonne breaks whenever the goods fill the deck before they reach the weight limit. That is most manufactured and packaged freight. Load a lighter product mix and cost per tonne climbs, because a tonne of your goods now takes up more truck, which is a fact about the product and not about the transport operation. The reverse trap is worse: a heavier mix flatters the number while nothing improves. Anything you are pricing by weight also deserves a check against what a carrier is actually working out when it quotes.

Cost per case moves whenever packaging moves. Shrink the case so more fit on a pallet and cost per case falls, which is real. Enlarge the case and it rises, which is also real but has nothing to do with transport, and the transport manager will be the one asked about it.

Cost per drop is much closer to being honest, because drops are what fill a working day. Its blind spot is drop size. If your customers order the same number of times but take less each time, cost per drop sits perfectly still while cost per unit shipped climbs.

Cost as a share of sales is the one boards like and the one that measures the least. It is a transport number divided by a commercial number. Raise prices 5% and transport looks 5% more efficient.

None of these is useless. Each of them is a specific question, and the mistake is not choosing them, it is choosing one, calling it "our transport cost", and then reading a movement in it as a verdict on the transport team.

The denominator that does not move on its own

There is one that behaves. The vehicle-day.

It behaves because it is a real, countable, legally bounded resource. Thai law caps how long the day can be. Under Ministerial Regulation No. 12, issued under the Labour Protection Act, normal working hours in land transport work are set at not more than eight hours a day, overtime is capped at not more than two hours a day with written consent and only three exceptions, and a driver may not start the next day's work until ten hours have passed since the previous day's work ended.

So a working day has a ceiling of ten hours, and the ten-hour gap decides when tomorrow can begin. That is why waiting time at your dock is rent on a finite day rather than an inconvenience charge.

The practical version is to stop reporting one number and start reporting two:

  • Cost per vehicle-day. What the resource costs. Moves with wages, diesel, maintenance, insurance and the rate you agreed
  • Work per vehicle-day. Drops, pallets, cases, tonnes, whichever unit your business runs on. Moves with planning, routing, dock speed and order size

Multiply the first by the reciprocal of the second and you get cost per unit. Report the two separately and every movement in cost per unit arrives already explained, because you can see which half caused it.

Flex for volume before you call it a saving

Here is the month from the opening, filled in.

March June Change
Pallets delivered 1,000 800 −20%
Drops 400 380 −5%
Vehicle-days used 200 190 −5%
Total cost, baht 2,400,000 2,280,000 −5%
Cost per pallet 2,400 2,850 +18.8%
Cost per drop 6,000 6,000 0%
Cost per vehicle-day 12,000 12,000 0%

Cost per pallet rose almost a fifth. Cost per drop and cost per vehicle-day did not move at all. Nothing in the operation changed. Customers ordered the same number of times and took less each time, so pallets per drop fell from 2.5 to 2.1.

The correcting step is one line of arithmetic. Flex the plan to the volume that actually happened, then compare. At March's cost per drop, 380 drops should have cost 380 × 6,000 = 2,280,000 baht. They cost 2,280,000 baht. The variance is zero.

That single line changes what happens next. Without it, transport is asked to find 450 baht a pallet that does not exist. With it, the finding is that average order size fell, which is a question for whoever sets minimum order quantities and delivery frequency, and no amount of route planning will touch it.

Run the same arithmetic on a month that went the other way and it works just as well. Suppose June had come in at 2,470,000 baht on the same 380 drops. The flexed figure is still 2,280,000, so 190,000 baht is a genuine variance, and it splits in two: cost per vehicle-day went from 12,000 to 13,000, which is a price change, while vehicle-days per drop stayed at 0.5, which means performance held. Now you know it is a rate and cost conversation, not a planning one.

Two numbers, two subtractions, and the month is diagnosed instead of debated.

Net out the market before you call it a rate win

A price change is only good or bad against what everyone else paid. Thailand publishes the benchmark, and very few shippers use it.

The Trade Policy and Strategy Office at the Ministry of Commerce measures a quarterly index of road freight service charges. In the second quarter of 2026 it stood at 124.1, up 11.1% against the same quarter of 2025. The office attributes the rise mainly to the diesel price moving with world energy markets, with support from seasonal agricultural freight demand, higher maintenance, spare parts and administration costs, and a shortage of skilled truck drivers pushing wages up.

Against that, the 8.3% rise in cost per vehicle-day from the example above is not a loss. It is a result.

Three cautions before using it, and they are the same cautions as the rest of this article.

Pick the window deliberately. The same index in the same quarter was up 11.1% year on year, up 10.4% on the previous quarter, and up 5.7% for the first half against the first half of 2025. Three true numbers, one index, three different stories. Choose the window that matches the period your own figure covers, and choose it before you look.

Use the sub-index that matches your freight, not the headline. By production activity, agricultural and fishery freight rose 15.5% while mining rose 4.3%. By vehicle type, the spread was wider still: dangerous-materials trucks up 13.2% and box trucks up 12.5% at one end, long-material semi-trailers up 4.8% at the other.

Remember the headline is itself a weighted average. Industrial products carry 84.94% of the weight in the production-activity structure, so the overall figure is close to being the industrial figure. If you ship agricultural goods, the headline is not your market.

Different chairs need different units

The last mistake is handing one number to everybody.

A board wants total baht and share of sales, because it is deciding whether transport is a big enough problem to spend attention on. A transport manager cannot act on share of sales at all, and will be tempted to act on it in ways that make no sense.

A workable split:

  • Board and CEO: total transport cost in baht, cost as a share of sales, cost per unit of the thing you sell. Reviewed quarterly, always alongside volume
  • Supply chain or logistics manager: cost per vehicle-day, drops per vehicle-day, loaded share of distance, cost per drop. Reviewed monthly, flexed for volume
  • Whoever runs the daily plan: vehicle fill against capacity, hours used against the ten-hour ceiling, waiting time by site. Reviewed weekly, and not in baht at all

The rule underneath is that a measure should only reach someone who can change it. Everything else is a report that generates meetings.

What to change on Monday

  1. Take last month's transport cost and write out the fraction. Numerator, denominator, and what else the denominator moved with
  2. Add cost per vehicle-day next to whatever you report now. If nobody counts vehicle-days, count reserved truck-days on the invoices instead. It is close enough to start
  3. Flex before you compare. Last period's cost per drop times this period's drops. Anything inside that is volume, not performance
  4. Split what is left into price and performance. Cost per vehicle-day is price. Vehicle-days per drop is performance
  5. Check the price half against the published index, using the sub-index for your commodity or vehicle type and the window that matches your period
  6. Track loaded kilometres separately from kilometres run, and watch the gap rather than the total
  7. Give each level of the business the one unit it can act on, and stop circulating the others

The aim is not a better number. It is that when a unit cost moves, nobody has to guess why.