How freight forwarders compare spot rates without losing margin

Spot rates move daily. Margin discipline does not. Here is how forwarders compare spot benchmarks without giving away the floor on every quote.

Author
Adam Yaron· Co-founder, Freightools
Updated
Updated
Reading time
5 min read

The thesis

Spot rates move daily. Margin discipline does not. Here is how forwarders compare spot benchmarks without giving away the floor on every quote.

The real problem with spot rates

Spot rates change daily. Most forwarders compare them in the most lossy way possible: a sales rep eyeballs a number from a third-party index, mentally compares it to a contract rate they remember from last quarter, and replies to the customer in their own words. By the time finance sees the quote, margin discipline is already gone.

The fix is not to stop using spot data. The fix is to make spot data a structured input to your quoting flow instead of a vibe.

Three ways spot leakage actually happens

  1. Invisible benchmarking. A customer says “the market is at 1,800”. The rep cannot verify that quickly, so they shave the contract price to “stay competitive”. Multiply by every reply that day.
  2. Stale comparison. The rep is comparing today's spot offer against a contract rate that already had a GRI applied. The numbers are not actually comparable.
  3. One-off discounts that stick. A "just for this booking" discount becomes the new floor for that customer. Nobody intended it; nobody wrote the rule down.

What a disciplined comparison looks like

A forwarder that compares spot vs contract correctly does four things on every quote:

  • The reference contract is the current valid version, not what the rep remembers.
  • The spot benchmark is timestamped and source-attributed, not a number from a chat.
  • The customer's own historical behavior is on the screen: have they paid above or below market in the past?
  • The quote tool enforces the margin floor automatically. Sales cannot accidentally quote below the rule.

The first three are data problems. The fourth is a workflow problem.

How Freightools.ai handles this

Inside Freightools.ai, Tari keeps the contract library structured and queryable so the current valid rate is one click away, and Miles enforces lane- and customer-specific margin floors on every quote it generates. Spot benchmarks slot in as a side-by-side reference next to the contract number — the rep sees both, the system protects the floor.

You do not need to buy software to fix this. But if your team is comparing spot to contract by memory and Slack, the leakage is not a "people problem" — it is a tooling gap.

A short checklist for sales managers

  • Are reps quoting from the current valid tariff version, or the one in their head?
  • Is every spot benchmark you cite dated and sourced, so finance can audit it later?
  • Is your floor margin a rule the system enforces, or an instruction the rep is meant to remember?
  • When a customer says "the market is X", can your rep answer with a number in the same minute?

If the answer to any of these is "not really", spot rates are leaking margin out of your business — and the answer is structure, not discipline.

What the numbers look like over a quarter

Margin leakage on spot rarely shows up in a single quote. It compounds. A desk quoting forty spot moves a week, leaking an average of forty dollars of forgotten surcharge on one in five, is bleeding low five figures a quarter — quietly, with no single quote looking wrong. That is why "we are basically fine" is the most expensive sentence on a forwarding floor: nobody owns the aggregate.

The fix is not heroic discipline. It is making the surcharge, the validity, and the floor render automatically on every quote so the leak cannot start in the first place.

Building the comparison into the quote, not beside it

Most teams treat spot comparison as a separate step: pull the benchmark, eyeball it, then quote. The separation is where errors enter. A better pattern folds the comparison into the quoting view itself:

  • The current valid contract or buying rate for the lane is already on screen, surcharges itemized.
  • The spot benchmark sits next to it, timestamped and sourced.
  • The customer markup rule and floor are applied before the rep ever types a number.

When the comparison and the quote are the same screen, "which is cheaper" stops being a judgment call made under time pressure and becomes a number the system already reconciled.

The three lanes where leakage hides most

Not every lane leaks equally. In practice, margin quietly disappears in three specific places, and knowing them tells a sales manager where to look first.

The first is high-frequency, low-value lanes — the bread-and-butter moves a desk quotes dozens of times a week. Because they are routine, reps stop checking the surcharge detail and quote from memory. A small omission repeated across hundreds of quotes is a larger annual number than a single dramatic mistake on a marquee shipment.

The second is lanes with volatile surcharges — anywhere BAF, peak-season surcharges, or GRIs move frequently. The base rate looks stable, so the rep trusts last week's number, while the surcharge that actually changed gets carried forward stale. The customer pays the old surcharge; the forwarder absorbs the difference and never connects it back to the quote.

The third is multi-leg or transhipment routings, where the all-in price is assembled from several underlying costs. Each handoff is an opportunity to drop a local charge, a documentation fee, or a terminal handling cost. The quote looks complete because it carries a number; it is incomplete because a line was never added.

The defence is the same in all three cases: the surcharge structure has to render automatically from a current, structured rate record, not from the rep's recollection. When every quote rebuilds the full cost from live data, the routine lane, the volatile surcharge, and the multi-leg routing all stop being special — they are just records the system totals correctly every time.

A useful exercise for any sales manager: pull last month's quotes on your top five lanes and re-price them from your current tariff. The gap between what you quoted and what you should have quoted is your real leakage rate. Most teams are surprised, and rarely in a good way — but it is the fastest way to turn an abstract worry into a number worth fixing.

Talk to us

If you want to see how Tari + Miles handle spot vs contract on real lanes, book a demo. We will walk through your actual lane mix, not a generic deck.

Summarize this article with AI

Open your favorite assistant and paste the prompt below. Or copy it.

Summarize the article "How freight forwarders compare spot rates without losing margin" in 5 plain bullet points for a freight forwarding leader, then list 3 questions I should ask when evaluating freight rate management software. Keep it neutral.

Powered by Freightools.

Frequently asked

Questions freight forwarders ask about AI-native operations

  • Does this require replacing my TMS?

    No. Tari and Miles sit alongside your TMS. Quotes can be exported, emailed, or pushed into your existing booking flow.

  • What spot data sources do you support?

    Common public ocean and air indices, carrier-fed spot APIs where available, and manual entry for niche lanes. Spot is treated as a benchmark, not the source of truth.

  • Will my reps lose flexibility?

    Reps keep full flexibility above the margin floor. The system stops below-floor quotes from going out without a manager override — it does not cap the upside.

  • How do we keep the spot benchmark current?

    Benchmarks are pulled from your connected sources or entered manually for niche lanes, and every quote stores the benchmark it used with a timestamp. A number from last week is visibly stale, not silently wrong.

See it on your data

Send us one supplier tariff before the call.

We'll show how Tari would structure it and how Miles would quote from it.