Spot rates vs contract rates: what freight forwarders need to compare

A simple, practical breakdown of where spot and contract rates differ — and what a forwarder actually needs on screen to quote both correctly.

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

The thesis

A simple, practical breakdown of where spot and contract rates differ — and what a forwarder actually needs on screen to quote both correctly.

Why the comparison is harder than it sounds

"Spot vs contract" sounds like a simple choice: which number is lower today? In reality, the comparison is structural, not numeric — the two rate types are built differently, and they fail differently.

If your sales team is comparing them by the headline rate alone, you are losing margin.

The structural differences that matter

Validity

  • Contract rates have a defined validity window — typically a quarter or longer — during which the rate is committed (subject to specified GRI / surcharge rules).
  • Spot rates are quoted for a specific shipment or a short window (often 7 to 14 days). Outside that window the number is irrelevant.

Volume commitment

  • Contracts usually carry minimum quantity commitments (MQC). Underperformance has consequences.
  • Spot carries no commitment beyond the booking itself.

Surcharges

  • Contracts spell out which surcharges are included, which are passed through, and how GRIs are handled.
  • Spot is often "all-in for this booking" — but the definition of "all-in" varies, which is where comparisons silently break.

Equipment guarantee

  • Contracts typically include some level of equipment / space allocation.
  • Spot is best-effort. Equipment shortage can void the rate before the booking is loaded.

Counterparty risk and audit

  • Contracts are documented; you can re-open them in six months and explain the price.
  • Spot can live as an email or chat — fine until you need to audit it.

What you actually need on screen

For a forwarder rep to make a defensible spot-vs-contract decision in real time, the quoting view needs to show, side by side:

  • The current valid contract rate for the lane and equipment, with surcharges itemized.
  • The spot benchmark with timestamp and source attribution.
  • The customer's contract status: are they on a committed program? Are they below MQC?
  • The margin floor for this customer / lane combination.
  • The transit time for both options (often the real differentiator, not the rate).

If any of those is missing, the rep is comparing two numbers that should not actually be compared.

A common mistake: comparing apples to fruit salad

The most common spot-vs-contract mistake is comparing a "contract base + standard surcharges" total against a "spot all-in" number — and concluding spot is cheaper because it has fewer line items.

The fix is to normalize. Either:

  • Strip the contract down to the same scope as the spot quote (rare; usually impossible), or
  • Build the spot quote up to include the same surcharges the contract enumerates.

A serious quoting tool does the second automatically. Most spreadsheets do neither.

Where Freightools.ai fits

Miles, our quoting engine, does the normalization: when a rep is quoting a lane, the screen shows the current valid contract price (with surcharges), the spot benchmark (timestamped, sourced), the customer's contract context, and the enforced margin floor. The rep picks; the system protects the floor.

This does not replace the rep's judgment. It just stops them from accidentally comparing fruit salad.

The customer relationship sits inside the comparison

Spot-vs-contract is usually framed as a pricing question, but for a forwarder it is also a relationship question. A customer on a committed program who keeps getting quoted spot is being trained to shop around. A price-sensitive one-off who is forced onto contract terms walks. The "right" rate type depends on who is asking, what you have promised them, and where you want the account to be in a year.

That context — commitment status, account tier, history — belongs on the quoting screen next to the numbers. Without it, the rep optimizes a single shipment and quietly damages the account.

When the cheaper rate is the more expensive choice

Spot frequently wins on the headline number and loses on everything that does not appear in the number: equipment that does not materialize, a validity window that expired the day before loading, a surcharge scope that was never "all-in" to begin with. Each of those turns a winning quote into a margin event or a service failure two weeks later.

The discipline is to compare on total landed reliability, not headline rate: what does this option cost if equipment is short, if the validity lapses, if the surcharge definition differs from what you assumed? A contract rate that is twenty dollars higher but guaranteed is often the cheaper decision once those risks are priced.

How the mix should shift with the market

Spot and contract are not a fixed allocation you set once; the right balance moves with the market, and a forwarder who treats it as static leaves money on the table in both directions.

In a soft market with abundant capacity, spot rates fall fast and contract rates look expensive by comparison. The temptation is to push everything to spot — but that is also exactly when carriers are most willing to negotiate favorable contract terms, because they want to lock in volume. A forwarder who reads the market well uses the soft period to secure good contracts for committed customers, while quoting spot opportunistically on price-sensitive one-offs.

In a tight market, the logic inverts. Spot rates spike and equipment becomes the constraint, not price. Now the contract — with its space allocation and committed rate — is the asset, and the forwarder who locked it in during the soft period looks prescient. The one who rode spot the whole way is exposed to both rate spikes and rolled bookings.

The point is that "spot vs contract" is really a portfolio decision made continuously, not a preference. The questions that should drive it are: where is capacity heading, which customers do we most want to protect, and where can we afford to be opportunistic? A desk that can see its committed volume, its spot exposure, and its customer commitments on one screen can answer those questions deliberately. A desk working from scattered spreadsheets answers them by accident.

This is also where good data pays off beyond any single quote. When the rate history, the validity windows, and the customer commitments are structured, a sales manager can look at the whole book and ask "are we over-exposed to spot on our key accounts going into peak season?" — and act before the market forces the answer. That strategic view is impossible when every rate lives in a separate file.

A short checklist before you reply to an RFQ

  • Is the contract price you are referencing the current version, including any GRI in effect?
  • Does your spot number include the same surcharge scope as the contract?
  • Do you know the customer's commitment status on this lane?
  • Are you above the floor margin for this customer?
  • Have you logged the spot source so you can audit it later?

Five items. If your tool cannot answer them in under a minute, that is the gap to close.

Summarize this article with AI

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

Summarize the article "Spot rates vs contract rates: what freight forwarders need to compare" 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

  • When should a forwarder default to spot vs contract?

    There is no universal rule. As a heuristic: defaulted programs and committed customers should ride contracts; one-off and price-sensitive shipments are where spot earns its place. The real answer depends on your customer mix and capacity outlook.

  • How do GRIs change the comparison?

    A GRI on a contract changes the effective contract price during its validity. If you forget to apply it, the contract price you compare against spot is fictional. Tari and Miles apply effective GRIs automatically.

  • Can the customer see both numbers?

    That is a policy decision, not a technical one. Some forwarders show both deliberately; others show only the recommended option. The system supports either.

  • How do we stop reps from comparing mismatched surcharge scopes?

    The reliable fix is to normalize automatically: build the spot quote up to the same surcharge scope the contract enumerates, so both totals are like-for-like before the rep ever sees them. Relying on reps to remember the difference under time pressure is where the comparison breaks.

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.