Negotiate Freight Rates: Prepare Counter-Offers With AI and Data

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Negotiate Freight Rates: Prepare Counter-Offers With AI and Data.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Negotiate Freight Rates: Prepare Counter-Offers With AI and Data.

Work out your cost per loaded mile first. That number is your floor. Then compare the posted rate with that floor and with your own history on the lane, and counter with a figure and a reason. Have a walk-away number written down before you pick up the phone, and let AI do the arithmetic and draft the script.

Most owner-operators negotiate from feel, which means they negotiate from the last load, the last conversation or a bad week. A short sheet of numbers changes the call. You are no longer asking for more; you are saying what the load costs you to run. An assistant can build the sheet and the script, but it cannot see live market rates unless you give them to it.

Follow me on Instagram@sagnikteaches

Start with the floor: your cost per loaded mile

The floor is the lowest rate per loaded mile at which a load does not cost you money, including your own pay. Build it from monthly figures. Here is an illustrative owner-operator running about 9,000 miles a month in total.

Connect on LinkedInSagnik Bhattacharya
CostHow worked out (illustrative)Per monthPer mile driven
Fuel6.5 miles per gallon at $3.80 a gallon, rounded to $0.585 a mile$5,265$0.585
Repairs and maintenanceAverage of last 12 months$1,260$0.14
TyresSet cost divided by expected miles$450$0.05
Tolls and small costsFrom statements$225$0.025
Fixed: truck, trailer, insurance, permits, devicesFrom statements$4,200$0.467
Your pay targetWhat you need to take home$5,400$0.60
Total$16,800$1.867

The per-mile column adds up: 0.585 + 0.14 + 0.05 + 0.025 + 0.467 + 0.60 = 1.867. Now allow for empty miles. If 15 per cent of what you drive is deadhead (empty), then you are paid for 7,650 of the 9,000 miles. Divide the monthly total by the paid miles: 16,800 divided by 7,650 is $2.196, or about $2.20 per loaded mile. That is your all-in floor.

Subscribe on YouTube@sagnikteaches

Two cautions. First, the numbers must come from your own statements and receipts; the guide to working out cost per mile from your own statements shows how. Second, treat the floor as an average. A mountain run with a long empty return costs more than a flat out-and-back load. The next section handles that.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Price the actual load, not the average

A broker posts a load of 500 loaded miles for $1,000, with a pickup 80 miles from where you are empty. The posted rate looks like $2.00 a mile. The real figure is lower because you also drive 80 empty miles to get there.

Cost of the trip: (80 + 500) miles at $1.867 is $1,083. The posted $1,000 is $83 under cost, before you count where the load leaves you. Per paid mile, the cost is 1,083 divided by 500, or $2.17. That is the number to hold in your head: not the posted $2.00 against your average $1.87, but $2.00 against $2.17.

Now the destination. If the load ends in a place where outbound freight is thin, you will deadhead again, perhaps 150 miles to the next pickup, and that cost belongs to this load. A strong destination lowers the floor; a weak one raises it. This is where lane data matters.

Use lane data you can actually see

An assistant working from memory will quote a rate for a lane with no source, and it can be badly out. Do not ask it for the market. Ask it to compare numbers you have in front of you. Three sources are worth gathering.

  • Your own history. Every load you have hauled on that lane or a similar one, with the rate and date, from your settlements or invoices.
  • Your load board's rate tool. Many boards show an average or range for a lane. Check what your plan includes, note the date and the equipment type, and remember it is an average of posted or paid rates, depending on the product.
  • Outbound posts at the destination. How many loads are posted from there, and at what rates, tells you what the next leg will pay.

Put them in a small table for the lane. Illustrative figures follow.

SourceRate per loaded mileNote
Posted rate$2.00$1,000 for 500 miles
Your last four loads, same lane$2.25, $2.30, $2.18, $2.40Average $2.28
Load board lane average (as seen today)$2.20Equipment type matches
Outbound posts from the destinationFew, around $1.90Likely a long empty leg
Your floor on this load$2.17From the sum above

Check the average: (2.25 + 2.30 + 2.18 + 2.40) divided by 4 is 9.13 divided by 4, which is $2.2825, so $2.28. Read the table as a story. The posted rate is below the floor, below your own history and below the board average. Your destination is weak, so a counter above the average is justified. This is the evidence you carry into the call.

The counter-offer prompt

Give the assistant your figures and ask for a counter with a reason and a walk-away number. Tell it to use only the data you supply.

I am an owner-operator. Prepare a counter-offer for this load using ONLY the figures below. Show every calculation.

Load: 500 loaded miles, pickup is 80 empty miles from me.
Posted rate: $1,000.
My all-in cost per mile driven: $1.867 (includes my own pay).
My last four loads on this lane, per loaded mile: 2.25, 2.30, 2.18, 2.40.
Load board lane average today (equipment matches): $2.20.
Outbound loads from the destination look thin, with rates around $1.90.

Tasks:
1. Work out my cost for this trip and my cost per loaded mile.
2. Suggest three numbers: an opening ask, a target, and a walk-away (the lowest I should accept). Give a one-line reason for each, using only the data above.
3. Say what is NOT in my data that would change the answer (for example detention terms, lumper fees, tolls, weather or fuel-price changes).
4. Do not state any market rate that I did not give you.

A realistic output (illustrative): trip cost $1,083 (2.17 per loaded mile); opening ask $1,250 ($2.50 a mile) because the destination is weak and the lane history supports a higher figure; target $1,150 ($2.30); walk-away $1,100 ($2.20), about $17 above cost. The reasons use your own figures, which is the point. What you would fix: the walk-away sits barely above cost, so decide whether you want a margin on top of your pay target. Many owners add a small buffer, such as $50 or 5 per cent, for the risk that a load runs long.

The phone script

A negotiation call is two minutes. Write the script before you call so that you do not improvise a number. Ask the assistant for a short version, then edit it into your own voice.

Write a 60-second phone script for me to counter a broker's posted rate. Tone: calm and professional, no pressure tactics. Include: the load details check, my counter with one reason, a question about detention and lumper terms, and a polite way to end if we do not agree. Use [your name] and [company] as placeholders. Give me my opening ask as $1,250 and my target as $1,150.

An edited version might run: "Hi, this is [your name] with [company], calling about the 500-mile load. Is it still open? I can take it. Posted at $1,000, it comes in under what I need for the empty miles to pickup and the thin outbound from there. I'd need $1,250 to cover it. Is there room? ... If $1,250 is not possible, what is the best you can do? ... And what is the detention policy after two hours, and is there any lumper at the receiver? ... Thanks. If the rate stays at $1,000 I'll have to pass, but I'd like to haul for you when the numbers work."

Notice the structure: confirm the load, state a number with one reason, ask about the extras, accept or decline kindly. Do not argue about the market. If the broker quotes a number, write it down, and check it against your table afterwards. If they come to $1,150, you are at your target. If they stop at $1,100, you take it, because it is your walk-away. If they stop at $1,050, you decline, and the table is why.

The walk-away rule, written down

A rule you wrote on a quiet day beats a decision made at a loading dock when you are tired and the truck is empty. Keep it on one card.

  1. Never accept below your all-in cost for the trip, including deadhead to pickup, unless the load repositions you to a lane that pays well and you can name the next load.
  2. Add a buffer for risk on long or awkward runs. Pick the figure with the assistant, then fix it.
  3. If the destination is weak, add the expected empty miles to the trip cost, as if they were part of it.
  4. Count unpaid time: waiting at a shipper for three hours has a cost. Ask about detention before you agree, and if it is not paid, price the wait in.
  5. If you decline, say so politely and move on. The next call is the same set of numbers.

For detention, the guide to tracking wait times and invoicing detention covers how to record it so a claim is accepted. If you screen many posts a day, the load board screening tutorial ranks offers by profit per day so that you only phone the ones worth calling.

Other asks beyond the headline rate

The rate is not the only lever. Several terms change what a load pays you, and brokers often agree to them more easily than a higher rate.

  • Detention terms. Free time before it begins and the hourly rate after it.
  • Fuel and tolls. Whether the rate includes them or they are paid on top.
  • Lumper and unloading fees. Who pays and how it is reimbursed.
  • Payment speed. Quick-pay options usually cost a fee. Work out whether the fee is worth the cash, as a percentage of the load.
  • Layover and cancellation. What happens if the load is cancelled after you arrive.

Quick-pay arithmetic is simple. A $1,150 load with a 3 per cent quick-pay fee costs you $34.50 to be paid in a day or two rather than waiting thirty days. Compare that with what thirty days of waiting costs you in fuel cards and bills. Ask the assistant to show the sum for your own situation and to list the terms in a rate confirmation that differ from what was agreed on the call.

Checking the rate confirmation before you sign

The agreement is the rate confirmation, not the phone call. Paste the text of the confirmation (remove anything private) into the assistant and ask it to compare it with your notes.

Here are my notes from the call and the text of the rate confirmation. List every difference in rate, miles, pickup and delivery windows, detention terms, lumper, fuel or tolls, payment terms and cancellation. Do not tell me whether to sign. Quote the lines from each document side by side.

A common finding is a payment term that differs from the call, such as 45 days where you were told 30, or detention that starts after four hours rather than two. Those cost real money and are far easier to fix before you sign. Ask the broker to correct it in writing, and keep the corrected copy.

A second lane: when the destination helps you

The same sums can say yes. Take a 320-mile load posted at $800, with pickup 20 empty miles away and a destination where outbound loads are plentiful and paying about $2.40 a mile. The trip costs (20 + 320) × 1.867 = $634.78, or $1.98 per loaded mile. The posted rate is $2.50 a mile, well above the floor, and your own history on the lane averages $2.45.

Here a hard counter is less useful than a quick yes. A small request is still worth making: "Can you do $850?" costs nothing, and the answer tells you how much room that broker has. If the answer is no, take the load at $800, because the strong destination means the empty leg at the end is short. The assistant's contribution is the second line of the prompt: ask it to say whether the posted rate already beats the floor, and if so by how much, so you do not spend ten minutes arguing a load that is already good.

Adjusting the floor when fuel or season changes

The floor moves. Diesel is the biggest variable cost, and a floor calculated at $3.80 a gallon is wrong when the pump says $4.30. Recalculate fuel each month, or at least when the price moves by more than about 10 per cent. At 6.5 miles per gallon, each ten cents on the gallon adds about 1.5 cents to every mile driven; on 9,000 miles that is about $138 a month.

Check the arithmetic: 0.10 divided by 6.5 is $0.0154 a mile, and 9,000 times 0.0154 is $138.46. Put the fuel price in one cell of your sheet and let every other number follow it. Ask the assistant to rebuild the floor table from your inputs after each change, and to flag any cost line that has gone more than 15 per cent in either direction since the last version, which is usually a sign of a data-entry error or a real change worth knowing about.

Seasonal swings matter for the other side of the equation. Produce seasons, holiday peaks and winter weather move rates on particular lanes. Your own history shows this better than any article: ask the assistant to sort your last year's loads on the lane by month and show the average per loaded mile, with the number of loads behind each figure, so you do not read a pattern into one load.

Dealing with repeat brokers and direct shippers

Relationships change the maths. A broker who calls you first with a fair rate saves you the time of searching a board, and that time has a value. If you are paid $2.30 a mile by a broker who sends three loads a week with no haggling, that may beat $2.45 from a one-off post that needs ten calls.

Record each repeat contact in your log: how often they call, how their rates compare with the board average, how quickly they pay, and how they handle detention. Ask the assistant for a one-page comparison once you have a dozen loads each for two or three brokers. The result might show that one broker pays $0.08 a mile less than another but pays in two days, not thirty, which at your cost of money is worth more. Keep the final choice yours; the assistant only tabulates.

Direct shippers are a different conversation: they ask for a rate per lane per year, not per load, and a quote needs the full cost picture, including empty miles on both ends. That is where your floor sheet is most valuable, and where the quote template tutorial linked at the end of this page helps.

What not to give an assistant

Strip anything that identifies a broker contact, a shipper, or a load by number, and any bank or card details, before pasting a rate confirmation into a chat. Use a plan that does not train on your content by default, and keep the original documents. Do not ask an assistant to recommend a rate without your data, and never act on a rate it gives you with no source.

A mistake: negotiating against an average that did not apply

A hypothetical owner-operator countered at a lane average the assistant had supplied from memory, $2.60 a mile. The broker laughed and the load went to someone else. The real board average that day was $2.15 for the equipment type. The owner had trusted a figure with no source, and had asked for more than the market would bear on a day when the lane was soft.

The fix was a rule in the prompt: "Use only figures I supply." The assistant's role is now to compare and calculate, and the market numbers come from the board, dated and noted. It is also worth recording each negotiation in a short log: posted rate, counter, outcome, and final rate. After thirty calls, the log shows how much counters add on average, and which brokers move.

A negotiation log that teaches you something

DateLanePostedCounterFinalResult
Illustrative 1500 mi, weak destination$1,000$1,250$1,120Taken, above walk-away
Illustrative 2320 mi, strong destination$800$850$850Taken
Illustrative 3650 mi, long deadhead$1,300$1,600$1,300Declined, below floor

Three lines already say something. Two of three counters raised the final rate, and one decline protected the floor. After a month, ask the assistant to total the extra revenue from counters, show the average gain per accepted counter and list brokers who never moved. Those figures decide where to spend your calls. Keep the log in a spreadsheet you own, and strip broker names if you share it.

When you want to go further on rates, the trucking quote template helps if you quote direct to shippers, and the AI dispatcher cost check covers whether handing negotiation to a service makes sense at your size. Check any service's fee against the gain your own log shows before you sign up.

Questions owner-operators ask about rate negotiation

Can AI tell me the market rate for a lane?

Not reliably from memory. An assistant that is not connected to live rate data will produce a confident figure that may be wrong. Give it rates you can see: your own past loads, the rate shown on your load board's lane tool, and the posted price. Then ask it to do the arithmetic and the comparison.

How much above the posted rate should I counter?

There is no fixed percentage. Counter at the figure your own numbers support, which is your cost-per-mile floor plus a margin, adjusted for deadhead and for what the next load out of the destination is likely to pay. Offering a number with a reason is stronger than a round figure picked to sound firm.

What if the broker says the rate is firm?

Take it at face value and apply your walk-away rule. If the posted rate covers your cost and your target, accept. If not, ask once about the pieces that cost you money, such as detention terms, a lumper fee, or a quick-pay option, and then decline politely.

Is it worth negotiating a small difference?

Often, yes. On a 500-mile load, ten cents a mile is $50. Across a hundred loads a year that is $5,000. Time matters though, so use a short script and spend your energy on the loads where the gap between posted rate and your floor is large.

Should I record the call?

Recording rules vary and some require everyone's consent. Take written notes and ask for the final rate in a rate confirmation instead. That document, not the phone call, is what you will rely on when it is time to be paid.

Further reads

Sources: all costs, rates and lanes in the worked example are illustrative; use your own statements and the live rate information on your load board.

Want your rate maths and calls set up properly?

On a 1:1 call we can look at how you track your costs and loads today, build a floor-rate sheet and counter-offer routine that fits your records, and decide where an assistant saves you time.

Book a 1:1 call with me