VWTVWT
← All insights

Writing a Delivery SLA a Thai Carrier Can Meet

Published October 2, 2026 Β· 10 min read

Most delivery targets are written the way a wish is written. Somebody picks a round number, 95% or 98%, because it sounds firm. The carrier signs because refusing looks bad. Then one of three things happens. The target is ignored. It is quietly priced in. Or it is missed so often that nobody believes in it any more, and the penalty clause becomes something to negotiate instead of something to enforce.

A target a carrier can meet is a different object. It is a prediction of what a normal month looks like on that lane, with room for bad luck, and with the shipper's own part written in. This is how to build one.

The carrier only owns part of the number

A late delivery has two kinds of cause. Some belong to the transportation company: a truck that left late, a breakdown, a bad route choice. Some belong to you: goods not ready at the agreed hour, a dock that did not open, paperwork that was incomplete, a booking that arrived after the cut-off.

A Thai case study of a cable distributor shows how mixed the causes are. Its delays came from procurement planning, incomplete import documents, no real-time tracking, unavailable vehicles, and traffic and weather. Most of those start before a truck is loaded or sit outside anyone's control. The study's own recommendation was to write clear service level agreements between the company's own planning, warehouse and transport teams, not only with outsiders.

So the first rule is that the SLA has two columns. The carrier's column is what the carrier must do. Your column is what you must do before the carrier's clock can start:

  • Goods ready and loading started inside an agreed time of the booked slot
  • Dock open and unloading started inside an agreed time of arrival
  • Complete documents in the driver's hand at pickup
  • Orders and changes in before the agreed cut-off

A late delivery that follows a miss in your column is excluded and logged. It is not argued. Keep the list of exclusions short and closed: your column, announced road closures and announced truck bans, and genuine force majeure. Every exclusion you leave out becomes an argument later. Every one you add without telling the carrier moves the number without anyone noticing.

The Thai index already scores against the agreement

The Ministry of Industry's logistics index has a transportation version of the delivery measure, delivered in full and on time. It is built from what the transportation department delivered complete and what it delivered on time, each as a share of what it delivered to its main customers, multiplied. The handbook describes it as measuring delivery in the agreed condition, quantity and time.

The useful word is agreed. The Thai benchmark scores transport against the date in the agreement, not against a date the customer thought of afterwards. If your SLA does not carry a written date or window for each type of job, there is nothing for the measure to be measured against, and the argument moves to what was promised. The definition of on time, with its six hidden choices, is in the article on measuring on-time delivery honestly. Settle those six before you set a number, and write them into the SLA.

Set the floor from the lane's record

The number you write has to come from the lane, not from a feeling.

  1. Take eight to twelve weeks of actual trips on the lane or group of lanes. How to read them, and why one lane runs slower in some weeks than in others, is in the article on trips that take longer some weeks.
  2. Score them by the definition you wrote, with your own column's misses removed and logged.
  3. Take the result as the carrier's baseline, not as the target.
  4. Set the floor below the baseline by an amount the arithmetic below tells you, and write a stretch figure above it as the level at which a bonus starts.

The reason for step 4 is the next section, and it is the part most SLAs get wrong.

A percentage on a small number of trips punishes good carriers

Take a carrier that truly arrives on time 97% of the time, which is a good carrier. You write a 95% floor. At 20 trips a month, 95% allows one late trip. The second late trip breaches the SLA. A 97% carrier has two or more late trips in a month of 20 in 12.0% of months, about once in eight. That is a breach or so every year, from a good carrier, by chance alone.

The same floor against different volumes and different true performance, as the share of months that breach it:

True on-time rate 20 trips a month 80 trips a month 240 trips a month
99% 1.7% 0.1% 0.0%
98% 6.0% 2.2% 0.1%
97% 12.0% 9.3% 3.0%
96% 19.0% 21.6% 16.8%
95% 26.4% 37.1% 42.4%

Read the bottom row. A carrier who performs at exactly the level you wrote fails the SLA in 26% to 42% of months. A floor set at the carrier's true average is a floor it will breach month after month while doing nothing wrong. The only way out is a floor set below the true average.

This calculation assumes each trip is an independent event. In real operations, lateness comes in clumps: a bad week, a flooded road, a dock that is short of staff. Clumping makes the swings larger, not smaller, so these figures are the kinder case.

How much below the baseline

The study of the Thai cable distributor reported 77 deliveries on time out of 80, or 96.25%. Suppose that is your carrier's baseline. How many late trips should the SLA tolerate, so that a carrier who goes on performing at 96.25% breaches in no more than one month in twenty?

Trips in the period Late trips tolerated Floor to write
20 2 90.00%
80 6 92.50%
240 14 94.17%

The more trips in the period, the nearer the floor can sit to the baseline. At 20 trips a month, a floor of 95% would be wrong for a carrier whose real rate is 96.25%. The honest floor is 90%, which sounds loose and is not. It tolerates two late trips in 20 and breaches at three.

Treat the baseline with care too. Three or fewer late trips in 80 is what a carrier whose true rate is 95% produces in about 43 runs of 80 in 100, and what a carrier at 99% produces in 99 in 100. A single run of 80 trips cannot tell those two carriers apart. It is a start. Re-baseline when you have a quarter.

Three ways to make the SLA fair when volume is low:

  • Measure over a quarter, not a month. Your 20 trips a month become 60, and for the same 96.25% carrier the floor moves from 90.00% to 91.67% (five late trips tolerated).
  • Count, do not percentage, on very small lanes. Write the SLA as "no more than two late trips in any month" with an explicit rule for what happens in a month with five trips and one late.
  • Set a minimum number of trips below which no percentage is calculated for the period, and the late trips are simply reviewed one by one.

Three measures, one of them the headline

Each measure in an SLA is an argument you will have. The Handbook's guidance is to link the supplier's payment to performance against the measures. That makes each extra measure another way to dispute an invoice. Three is enough:

  • On-time delivery to the agreed window, which is the headline and the one with the floor.
  • On-time arrival at the pickup, because a late pickup carries straight into a late delivery, and it is a measure of your dock as well as the carrier's truck. Report it in both columns.
  • Complete, clean paperwork at handover, meaning the proof of delivery returned on time and with exceptions recorded.

Damage and waiting time belong in the contract's own clauses on claims and on waiting. They are better off as a rule with a price than as a percentage. How the penalty wording for lateness has to be written to survive a dispute is in the article on what a road freight contract should say.

What happens when the floor is missed

An SLA with no consequence is a report. One with only a penalty teaches the carrier to argue. The Handbook's list of what an SLA contains names compensation for service level failure and the provision for a performance review, and describes incentive and penalty programmes tied to the fee. A workable ladder is:

  1. First miss: a written account of the late trips within an agreed number of days, with your column's misses already removed.
  2. Second miss in a row: a service credit on the lane, set as a fixed sum per late trip tied to a real cost to you, not a percentage of the invoice that nobody can verify.
  3. Third miss in a row: a review meeting with a corrective plan, and the right to move volume.
  4. A bonus at the stretch level, because the cost of a service level rises steeply as it approaches 100%. The Handbook's own example is that going from 95 to 97% costs far more than going from 70 to 72%. If you want the top, you pay for it, and the carrier who is above the stretch figure for a quarter should see it in the rate.

Review it on a calendar

The Handbook suggests weekly operating meetings between supervisors and quarterly strategic meetings, and treats the SLA as something reset as the business changes. In practice:

  • Weekly: look at every late trip, one at a time, and mark whose column it falls in. This is a conversation about trips, not about percentages.
  • Quarterly: recompute the baseline, move the floor if the evidence says to, and review the exclusion list.
  • Always: keep the SLA in an appendix to the contract, so a change of target does not reopen the liability terms. The Handbook notes that operational schedules are usually kept as appendices because they can be amended more quickly.

Do not change the definition of on time between quarterly reviews. A better score that comes from a redefinition is worth nothing.

The one-page version

  1. Both columns written: the carrier's duties and yours, with the time limits on each.
  2. Definition: the six choices behind on time, with the clock source.
  3. Closed exclusion list, logged trip by trip.
  4. Baseline from eight to twelve weeks on that lane.
  5. Floor from the table above, using the trips in the period, not a round number.
  6. A rule for low volume: a quarterly period, a count, or a minimum number of trips.
  7. Three measures and no more.
  8. A ladder: account, credit, review, move volume, with a bonus at the stretch figure.
  9. A calendar: weekly trips, quarterly floor.

The sign that it is written well is dull. A good carrier meets it in almost every month and misses it in one now and then, and the miss produces a conversation about a particular truck on a particular day. The sign that it is written badly is a floor that a good carrier fails in a month in four.