rate_benchmark
Benchmark your paid ocean freight rate against the market. See where your rate falls in the corridor's price band, calculate overpayment, and learn whether to renegotiate, tender, or hold.
Instructions
Benchmark a rate you ALREADY PAY against the market — the 'am I being clamped?' check every shipper wants. Give the lane + the rate you pay (paid_rate_usd) and it places that rate in the MARKET BAND of the corridor (percentile against p20 / median / p80), built from the cross-validated index mid (Drewry WCI + Freightos FBX) and the corridor's modeled rate dispersion. It returns where you sit (p20 = a strong price, median = fair, p80 = over-paying), how much you OVER- or UNDER-pay vs the market mid in $/container and per YEAR at your volume, and the LEVER to correct it — renegotiate to the median, tender the lane, switch carrier/alliance, or lock a good price. A contract rate sitting above the median in a soft/falling market is flagged for renegotiation, not just labelled expensive. Proves: a rate at the p80 → 'you over-pay $X/ctr; renegotiate toward the median to save $X×volume/yr'; a rate at the p20 → 'good price, hold it'. The SAME rate is placed differently as the live band moves. Honest (regla 7): the band is a MODELED dispersion around the index mid, NOT a panel of real quotes — a true benchmark needs a rate panel (Xeneta/SeaRates). PREMIUM: pay per call with x402 (USDC on Base) or a prepaid key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| origin_port | Yes | Origin port (city name, UN/LOCODE, or 'City, Country'). | |
| dest_port | Yes | Destination port. | |
| paid_rate_usd | Yes | The rate you currently PAY for this lane (USD per container). REQUIRED — this is what gets benchmarked. | |
| container_type | No | Container '20ft'/'40ft'/'40HC'. Optional; default '40ft'. | |
| ship_date | No | Ship date (YYYY-MM-DD) for the market read. Optional; default today. | |
| basis | No | 'spot' (default — bare ocean freight) or 'all-in' (base + surcharges) — match it to what your paid rate INCLUDES. Optional. | |
| annual_containers | No | Annual containers on this lane — to annualise the over/under-payment & savings. Optional. | |
| is_contract | No | Is the paid rate a CONTRACT rate? Flags a high contract in a soft/falling market. Optional. |