3PL quote win rate is quotes won divided by quotes decided, times 100. The word that matters is decided: quotes still waiting on an answer belong in neither the numerator nor the denominator. Get that right, then split the number by lane, service, customer type and response time, and it starts telling you where you actually win.

What is the formula for quote win rate?

Win rate (by count) = quotes won ÷ (quotes won + quotes lost) × 100

A quote is decided when you know the outcome: the shipper accepted it, picked someone else, cancelled the move, or let it expire without booking. Decide upfront how you treat expired and no-response quotes and stick to it. Our suggestion: once the validity date passes with no booking, mark it lost with the reason "no response" or "expired." That keeps the open pile honest.

A quote is open while it is still valid and you are waiting. Open quotes are excluded. Counting them as losses is the most common way win rate gets understated, and it's worst at the end of a month, when the newest quotes haven't had time to close.

Win rate by count vs. by revenue

Win rate (by revenue) = value of quotes won ÷ value of quotes decided × 100

The count version tells you how often you win. The revenue version tells you whether you win the work that matters. If your count win rate is healthy but your revenue win rate is much lower, you're winning the small jobs and losing the big ones, which usually points to pricing on large or multi-container moves, or to a capacity limit the shipper noticed. Track both. Use the quoted amount at the time of the decision, not a later revised figure, unless you re-quoted and logged it as a new quote.

Quote-to-job conversion

Quote-to-job conversion = jobs completed from won quotes ÷ quotes won × 100

A "won" quote isn't revenue until the container arrives and the job runs. Shippers cancel, freight gets rerouted, a PO slips a quarter. This second ratio catches that leak. Some teams also track jobs completed ÷ quotes sent, an end-to-end conversion that rolls together win rate and fall-through.

A worked example you can check by hand

Illustrative example

Assume a warehouse sent 120 quotes in a quarter. At quarter end, 18 are still open (valid, no answer yet). Of the other 102: 34 won and 68 lost (including expired). These numbers are invented for the example.

  • Correct win rate: 34 ÷ 102 × 100 = 33.3%
  • Wrong win rate, counting open quotes as losses: 34 ÷ 120 × 100 = 28.3%
  • Revenue view: decided quotes were worth $510,000; won quotes were worth $142,800. Revenue win rate: 142,800 ÷ 510,000 × 100 = 28.0%, below the count rate, so the larger quotes are being lost more often.
  • Quote-to-job: 31 of the 34 won quotes became completed jobs (3 cancelled). 31 ÷ 34 × 100 = 91.2%. End-to-end: 31 ÷ 120 × 100 = 25.8%.

How do you segment win rate by lane, service and customer?

A single blended number hides almost everything. Split it by the dimension you can act on. Continuing the same illustrative quarter:

ServiceDecidedWonWin rate
Container devanning502040.0%
Transloading to 53' trailers30930.0%
Storage and handling22522.7%
Total1023433.3%

Useful cuts for a 3PL or freight team:

  • Service: devanning, transload, cross-dock, storage, pick and pack, drayage.
  • Lane or origin: port, rail ramp or origin region, and destination region for outbound.
  • Load profile: palletized vs. floor-loaded, 20' vs. 40' vs. 40' HC, single vs. mixed SKU.
  • Customer type: existing customer vs. new shipper, and direct shipper vs. forwarder or broker.
  • Lead source: inbound web enquiry, referral, outbound prospecting, load board.

Be careful with small segments. Three wins out of five is 60%, and one more loss would make it 50%. Until a segment has a meaningful number of decided quotes, report the counts alongside the percentage.

Does response time change win rate?

Measure it in your own data rather than assuming. Record when each request arrived and when the quote went out, then split decided quotes into response-time bands.

Win rate within band = quotes won in band ÷ quotes decided in band × 100

Illustrative example

Same quarter, split at two hours from request to quote:

  • Sent within 2 hours: 48 decided, 21 won. 21 ÷ 48 × 100 = 43.8%
  • Sent after 2 hours: 54 decided, 13 won. 13 ÷ 54 × 100 = 24.1%

Check: 48 + 54 = 102 decided, 21 + 13 = 34 won.

A gap like that is a signal, not proof. Fast quotes are often the simple ones: repeat customers, standard containers, full information upfront. Before concluding that speed wins, compare response-time bands within one service or customer type. The quote response time calculator gives you the median and the share sent within your target from a list of timestamps, and why freight quotes take three days covers where the hours usually go.

What are the most common win rate mistakes?

Counting open quotes as losses

Covered above, and worth repeating because it makes recent periods look worst. If you report monthly, either exclude open quotes or report the month again after its quotes have had time to close.

Mixing RFP bid events with spot quotes

A spot quote is one shipper, one move, a short decision window. An RFP is a procurement event, often many lanes and an award months later. DAT describes shippers traditionally running RFPs on an annual basis, while spot rates are typically negotiated close to the ship date. Put a 40-lane bid into the same pool as single-container quotes and it will swamp the number either way. Track RFPs separately, both as events (did we win any award?) and per lane (lanes awarded ÷ lanes bid).

Not logging lost reasons

A win rate without lost reasons tells you that you lose, not why. Make the lost reason a required pick-list when a quote is closed lost, with a short list: price, transit or timing, scope or capability, capacity, chose incumbent, move cancelled, no response. Asking the shipper directly helps; the "what tipped it?" email in our freight quote follow-up templates is built for that.

Counting re-quotes as new wins or losses

If you revise a quote three times for the same container, that's one opportunity. Either keep revisions on one record, or mark superseded versions so they drop out of the calculation.

Ignoring margin

Win rate rises if you cut prices. Track gross margin on won work alongside it, with the 3PL quote margin calculator or your own job costing, so a better win rate doesn't just mean cheaper quotes.

How do you set up win rate tracking in a CRM?

Any CRM or a well-kept spreadsheet works. Most CRMs already have the core fields. HubSpot's default deal properties, for example, include amount, deal stage, create date, close date, and closed won and closed lost reasons. Add the logistics-specific ones yourself.

FieldTypeWhy you need it
Quote IDTextOne record per opportunity; revisions stay on it
Request received atDate and timeStart of response time
Quote sent atDate and timeEnd of response time
Valid untilDateDefines when an unanswered quote becomes lost / expired
StatusPick-list: open, won, lostSeparates decided from open
Quote typePick-list: spot, RFP lane, contract renewalKeeps RFPs out of spot win rate
ServicePick-listWin rate by service
Lane / origin / destinationText or pick-listWin rate by lane
Equipment and load typePick-list20', 40', 40' HC, 53'; palletized or floor-loaded
Customer typePick-list: new, existingWin rate by relationship
Quoted amountCurrencyRevenue win rate
Estimated marginPercentChecks that wins aren't just discounts
Decision dateDatePuts the outcome in the right period
Lost reasonRequired pick-list when lostExplains the losses
Job ID / job completedLink or checkboxQuote-to-job conversion
Rule of thumb

Report win rate on the period the quote was decided, not the period it was sent, and always show the counts next to the percentage. "34 of 102" is harder to misread than "33%".

If your rates live in a spreadsheet nobody else can read, quotes will be inconsistent and the win rate will reflect who priced the job as much as the price itself. A structured 3PL rate card fixes that upstream.

In Rapid Ai 10x, Adriana logs every quote with its request time, send time, validity date and outcome on the shared customer and job record, and Luis links the won quote to the job it becomes, so win rate and quote-to-job conversion come from the same data your team already works in. A person still approves every quote before it is sent. See how the agents share one record.

Sources

  1. HubSpot's default deal propertiesHubSpot Knowledge Base · accessed 13 October 2026
  2. Spot and Contract Freight: What's the difference and why it mattersDAT Freight & Analytics · accessed 13 October 2026

Figures from these sources are cited where they appear. Anything not cited is labeled as an assumption, a planning range or an illustrative example. How we write and check these guides.

Update log
  • Published.