Work out, for each offer, revenue minus fuel, tolls and per-mile running costs, including the empty miles to the pickup and out of the delivery area, then divide by the days the load will use. Rank offers on that net profit per day. AI does the arithmetic and flags gaps; you check the broker and book.
The reason is simple: a board lists rate and loaded miles, and the number most owners look at first is dollars per loaded mile. That figure ignores deadhead (miles with no load), ignores waiting, and ignores that a short, well-paid load that reloads quickly can beat a long one at a higher total. Profit per day is the number the truck actually lives on.
Why the board's headline number misleads
A listing shows a pickup, a drop, a distance, equipment type and an offered rate or a "call for rate". Some boards also display average market rates for the lane. DAT One, for example, lists its Standard, Enhanced and Pro carrier plans at $59, $149 and $169 a month, with average lane rates over 15 days, over 7 days and "best available" respectively, and dearer Select and Office tiers above them; check the current page before relying on any price. Whatever board you use, the information in front of you is the same, and so is the gap it leaves.
What a board does not tell you is what happens before and after. The miles to reach the pickup cost fuel and time. The miles from the delivery to the next good load, or home, cost the same. A delivery into a quiet area may mean a day or two waiting for a reload, which is time with no revenue but with all the daily costs: insurance, truck payment, a driver's day. A comparison made only on rate per loaded mile will pick the wrong load a fair share of the time.
The five numbers every offer needs
Before involving AI, get your own figures. These come from your statements and logbook, not from a template.
- Fuel cost per mile. Your real miles per gallon over the last three months, divided into the price per gallon you actually pay after any card discount. Use your own average, not the manufacturer's figure.
- Other cost per mile. Maintenance, tyres, oil and repairs divided by miles. The example below uses $0.22 a mile purely as an illustration; yours is a number from your own records, and the tutorial on cost per mile from your statements shows how to find it.
- Daily fixed cost. Truck payment, insurance, permits, trailer lease, phone and software, divided by the days you plan to work each month. This is what each day costs before you turn a wheel.
- Miles per day. A realistic average for your driving, including stops. Use what your logs show over a typical month rather than an ideal day.
- Handling time. The example below assumes half a day in total to load and unload, though your shippers may keep you far longer. Track real times for a month and use the average.
Variable costs belong to the load. Fixed daily costs belong to the day. Keep them apart so you can see two numbers: the contribution per day (what the load adds), and what is left after the fixed daily costs (what you actually keep).

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 nowTurn each offer into a row
For each load, capture these fields. If any are missing, mark them as unknown, never guess.
- Total pay: linehaul plus fuel surcharge, plus any pay promised for stops, layover or detention.
- Loaded miles as the board states them (check against your own routing, because board miles can differ from practical miles).
- Deadhead miles to the pickup from where the truck will be.
- Estimated empty miles after delivery to the next sensible pickup area or to home.
- Tolls on the route, in dollars.
- Pickup and delivery windows.
- Equipment, weight and any special requirements (tarps, team, hazmat, appointments).
- Broker or shipper name, payment terms and how long they take to pay.
The after-delivery deadhead is the weakest number because it is a guess. State it as an assumption (a range if you can), and see how the result changes at the high end.
The prompt that does the maths without wandering
You are helping an owner-operator rank load offers. Do not book, contact or recommend any broker. Only calculate.
My inputs:
- Fuel: 6.5 miles per gallon, $4.00 per gallon
- Other variable cost: $0.22 per mile (maintenance, tyres)
- Daily fixed cost: $260 per day
- Average driving: 500 miles per day
- Handling time: 0.5 day per load (loading and unloading)
For each offer below calculate and show your working:
1. Total miles = loaded + deadhead in + deadhead out
2. Fuel cost = total miles / mpg x price
3. Other variable cost = total miles x rate
4. Net after variable costs = pay - fuel - other variable - tolls
5. Days used = total miles / 500 + 0.5 (keep 2 decimals)
6. Net per day = row 4 / row 5
7. Net per day after fixed cost = row 6 - 260
If any input is missing for an offer, say "MISSING: [field]" and do not estimate it.
Finish with a ranked table, and list the assumptions most likely to change the ranking.
OFFERS:
[paste the three listings]
Notice what the prompt forbids. It cannot assume numbers, and it cannot take any action. Ask it for the working because you are going to check it.
Main example: three offers for the same Tuesday
An illustrative owner-operator is empty after a delivery and has three offers. Figures are invented for the example, using the inputs in the prompt above.
| Item | Load A | Load B | Load C |
|---|---|---|---|
| Pay (all in) | $2,700 | $1,350 | $3,300 |
| Loaded miles | 1,000 | 400 | 1,500 |
| Rate per loaded mile | $2.70 | $3.38 | $2.20 |
| Deadhead to pickup | 60 | 30 | 120 |
| Deadhead after delivery (estimate) | 250 | 20 | 50 |
| Total miles | 1,310 | 450 | 1,670 |
| Fuel | $806 | $277 | $1,028 |
| Other variable cost | $288 | $99 | $367 |
| Tolls | $40 | $60 | $0 |
| Net after variable costs | $1,566 | $914 | $1,905 |
| Days used | 3.1 | 1.4 | 3.8 |
| Net per day | $502 | $653 | $496 |
| Net per day after $260 fixed cost | $242 | $393 | $236 |
Look at how the order moves. By total money, load C wins with $1,905. By rate per loaded mile, load B wins. By profit per day, B wins again, but for a reason the rate figure did not show: it uses only 1.4 days and the truck is free to take another load afterwards. A and C are close to each other per day, which tells you the long haul at $2.20 and the medium haul at $2.70 are about the same business once deadhead is counted. If the owner prefers to be home on Friday, C ends the week with the highest cash, so the ranking is a guide to the decision rather than a command.
Stress-testing the winner
Load B looks best, so ask what would have to go wrong for it to lose. Suppose the receiver keeps the truck waiting a full extra day unpaid. Days used rise from 1.4 to 2.4 and net per day falls from $653 to about $381, which drops below both A ($502) and C ($496). After the $260 fixed cost it is about $121 against $242 and $236. So B wins only if the receiver keeps to the window. That is the sort of sensitivity the AI can show quickly: "What happens to the ranking if load B takes one extra day? If deadhead after load A is 100 miles instead of 250?" Ask for it explicitly, then decide whether you trust the delivery window and the shipper's habits.
Check the arithmetic yourself, once
Assistants make occasional slips in long calculations, so run one load by hand or in a sheet before trusting the rest. For load A, 1,310 miles divided by 6.5 mpg is 201.5 gallons, times $4.00 is $806. Other cost is 1,310 times $0.22, which is $288.20. Net is 2,700 minus 806, minus 288, minus 40, which is $1,566. Days are 1,310 divided by 500, which is 2.62, plus 0.5, which is 3.12. Net per day is $502. If your own sums disagree by more than a dollar or two, find out why before going on.
Better still, move it into a spreadsheet. Put your inputs in a block to the right (say mpg in N1 and fuel price in N2), one row per offer from row 2 with pay in column B, and write the formulas once: total miles =C2+D2+E2, fuel =F2/$N$1*$N$2, net per day =(B2-G2-H2-I2)/J2, where G is fuel, H other variable cost, I tolls and J days used. Paste new offers in each morning. Use the chat assistant for the parts the sheet cannot do: reading a messy listing, extracting the numbers and pointing out missing ones. Our tutorial on eight jobs an owner-operator can hand to ChatGPT shows other tasks like this.
Reading messy listings into clean rows
Offers arrive as board screens, broker emails and text messages. A second prompt converts them into rows:
Extract these load offers into a table with the columns: Origin, Destination, Pickup window, Delivery window, Loaded miles, Pay, Fuel surcharge included (yes/no/unknown), Tolls mentioned, Equipment, Special requirements, Broker name, Payment terms. Write "unknown" for anything not stated. Do not infer. Then list any questions I should ask the broker before I can calculate.
TEXT:
[paste]
An illustrative result for a lazy text offer such as "Dry van, Tues pickup, 400 mi, 1350 flat, Wed AM drop, quick pay" would be: pickup Tuesday (time unknown), delivery Wednesday morning, pay $1,350, fuel surcharge unknown, tolls unknown, payment terms "quick pay" with no fee stated. The questions list would include whether fuel is included, what the quick-pay fee is, and the exact appointment times. Those are the three things that would have changed load B above, and you would never have noticed them in a skim.
Setting a walk-away number
A ranking only tells you which offer is best of the bad ones if none of them is good. Before you start screening, decide the lowest net per day after fixed cost that you will accept for a normal working day. Work it backwards from what you need to earn. If the truck must clear $6,000 a month after all costs and you work 22 days, the target is about $273 a day after fixed cost, which is roughly $533 a day before the $260 fixed cost in the earlier example. Write that number at the top of the sheet. In the main example, loads A and C come in below it at $502 and $496, and only B clears it. A visible walk-away number turns "this is okay, I suppose" into a yes or no, and it protects you on slow days when any load looks attractive.
Use a second threshold for the broker side: the lowest payment terms you will take. Thirty-day terms with a slow-paying broker cost you the interest on your fuel advance, even before you consider the risk of non-payment. Add the cost of waiting for payment to the load's other costs if the terms are longer than you usually accept.
What the ranked answer looks like
This is an illustrative reply to the calculation prompt, trimmed. It shows the format you want back and the kind of caution to look for.
RANKING (net per day after $260 fixed cost)
1. Load B: $393 (1.4 days, 450 total miles)
2. Load A: $242 (3.1 days, 1,310 total miles)
3. Load C: $236 (3.8 days, 1,670 total miles)
Assumptions most likely to change the ranking:
- Load B: if the receiver delays you by a full day, B falls to about $121 and ranks last.
- Load A: after-delivery deadhead of 250 miles is an estimate. At 100 miles, A rises to about $307 per day after fixed cost.
- Load C: deadhead to pickup is 120 miles; if the broker will pay for part of it, C improves.
MISSING: fuel surcharge status for Load B (not stated).
What you would fix in that reply: the Load A line is wrong. At 100 miles after delivery, A's total is 1,160 miles, fuel $714, other cost $255, tolls $40, net $1,691, days 2.82, which gives about $600 a day and $340 after fixed cost, not $307. The assistant estimated the figure instead of recalculating it. This is exactly why you ask for working and check any "what if" yourself. Treat each sensitivity the assistant volunteers as a question to re-run, not as an answer.
Estimate against actual: the Friday log
The only way to improve your guesses is to compare them with what happened. Keep a small table, one row per load, filled in once the load has delivered and paid.
| Load | Estimated days | Actual days | Estimated deadhead after | Actual deadhead after | Paid | Net per day, actual |
|---|---|---|---|---|---|---|
| B (Tuesday) | 1.4 | 2.1 | 20 | 85 | $1,350 less $27 quick-pay fee | $397 |
| Next load | 2.2 | 2.2 | 60 | 60 | As quoted | As estimated |
In this illustrative log, load B took 2.1 days because of a half-day wait at the receiver and 65 more empty miles than expected to the reload. Its real net per day was about $397 before fixed cost, not $653, which is below the $502 and $496 estimated for A and C. Had the slow receiver been priced in, B would not have won. After a month of rows like this you will see a pattern: perhaps your after-delivery deadhead is always 60 miles higher than you guess, or one shipper always costs you half a day. Put those corrections back into the inputs, and tell the assistant when you paste them: "my average actual delay at pickup is 0.3 days".
The same method on a regional week
Not every week is long haul. Imagine an owner-operator who runs short regional loads and is home most nights. The comparison shifts. Days used is dominated by handling time, so a load that delivers by noon and reloads before dark beats one that sits at a dock. She can add "loads per week" as a column and use the sheet to compare a plan of five short loads against two long ones for the same five days, entering the sum of days used for each plan. The result often favours the short plan on net per day while losing on total miles, which is only a problem if you also need the miles for some other reason, such as a contract commitment.
Where the numbers fool you
- Stale market signals. A lane that paid well last month can be soft this week. Use the board's current numbers, not memory, and treat any "market rate" as an average rather than a promise.
- Quick-pay fees. A fee of a few per cent turns a good load into an ordinary one. Put it in the pay line as a deduction, once you know it.
- Detention you will not be paid for. If the paperwork does not say when detention starts and what it pays, assume zero and price the risk with an extra half day.
- Unfavourable drop areas. Delivery into a region where few loads start raises the after-delivery deadhead estimate. Be honest with that number.
- Hidden costs. Lumper fees, scales, parking, tarps and washouts. Add them to the other cost column when the load calls for them.
A mistake that looked like a great rate
A pattern worth knowing: a high-rate short haul into a dead-end area. The offer shows $3.80 a loaded mile, far above everything else on the screen, and a quick AI pass that only compares rate per mile ranks it first. The sheet, though, shows 180 estimated empty miles after delivery and an expected two-day wait. Days used triple, and net per day falls below the average load. The way to see it coming is to put a number on the after-delivery deadhead for every offer and to ask the assistant to rank twice: once at your optimistic estimate and once at your pessimistic one. If the rank flips, the load is risky.
What stays with you: no auto-booking
An assistant can rank and explain. It should not book, reply to brokers or accept rate confirmations. The reasons are practical.
- A booking is a legal commitment. A wrong pickup time or an unreviewed accessorial clause is yours to carry.
- Broker checks are a human job: confirm who you are dealing with, look at their payment history and credit, and read the carrier packet and rate confirmation line by line for terms that differ from the listing.
- Freight fraud is real: impostors use another company's registration, act as brokers without being registered, or double-broker loads. Check a broker's phone number against the official registration record rather than the one in the listing, because a chat assistant cannot verify who is on the other end of a call.
- Your own judgement about hours, rest, weather and the truck's condition does not fit in a sheet.
When the rate is short, use the numbers to negotiate. The tutorial on preparing counter-offers with AI and data shows how to turn "net per day is $380 at this rate" into an ask. And to fill the miles after delivery, see backhaul freight and empty miles.
Weekly routine: ten minutes a day
- Update your input block when fuel price moves by more than 10 cents or your mpg changes.
- Paste the morning's offers, at most five or six worth considering.
- Run the extraction prompt, answer the missing-field questions by phone or message.
- Run the calculation prompt or let the sheet do it, and compare the top two with and without a one-day delay.
- Book the winner yourself, after checking the broker.
- On Friday, log the actual days and actual net for each load next to the estimate. After a month you will see whether your deadhead-after guesses are too hopeful, and you can correct them.
That Friday log is what improves everything else. Compare it with your settlement statements, as described in the tutorial on checking deductions on a settlement statement, since a promised rate and a paid rate are not always the same.
If you want a sheet like this set up around your own truck and routes, that is what my AI implementation consultation covers; you can start from the contact page.
Load screening questions from owner-operators
Why is profit per day better than rate per mile?
Rate per mile ignores the empty miles you drive to the pickup and out of the delivery area, and it ignores how many days the truck is tied up. Two loads at the same rate can leave you with very different money by Friday. Net profit per day divides what you keep by the days used.
Should I let AI book loads for me?
No. Let it rank and explain, then you check the broker, read the rate confirmation and book yourself. A wrong assumption in a chat answer, such as a missing toll or a pickup window that does not fit your hours, costs real money once the load is booked.
Where do I get my cost per mile?
Add up a quarter of fuel, maintenance, tyres, insurance, truck payments, permits and other running costs from your own statements, then divide by the miles you drove. Split costs into those that vary with each mile and those that run by the day, as the sheet below does.
Do I need a paid load board to do this?
No. The method works on any listing that shows rate, miles, pickup and delivery. A paid board gives you more offers and sometimes market-rate figures for comparison, but the calculation is the same with a free listing or a broker's email.
Further reads
- AI Dispatcher or Dispatch Service? An Owner-Operator Cost Check — Compare doing this yourself with paying a dispatcher.
- AI in the Trucking Industry: What a Small Fleet Owner Can Use Now — Wider uses of AI once you run more than one truck.
- AI for Freight Brokers: Triage Load Emails and Rate Confirmations — See the broker side of load emails and rate confirmations.
- Trucking Companies Using AI: A Claude Audit of Yard Time and Tolls — Audit yard time and tolls that eat per-day profit.
- Get Direct Shipper Clients for a Trucking Business: AI Outreach — Reduce reliance on boards with direct shipper work.
- Trucking Accounting Software: Do the AI Features Earn Their Price? — Pick bookkeeping software that feeds your cost inputs.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: DAT One load board carrier plan comparison (dat.com) and the regulator's official guidance on broker and carrier fraud and identity theft, checked November 2026. Fuel price, mpg and cost figures in worked examples are illustrative.