Export a month of telematics data as a spreadsheet, replace driver names with codes, upload it to Claude and ask two questions: which drivers sat on duty, not driving, in your yard beyond a threshold you set, and who paid more tolls than colleagues on the same lane. Then check every flag against the raw rows.
The idea comes from a trucking company reported by FreightWaves on 23 September 2026. The owner pays drivers by the hour, fed her Samsara fleet data into Claude and asked it to flag anyone on duty but not driving at the terminal for more than 30 minutes. One driver averaged over 110 minutes a shift. She put the cost of that paid yard time at $53,000, and a toll comparison found a $50-a-load gap between two drivers running the same lane in opposite directions. The analysis took about three minutes.
What the Polyak Trucking story proves and what it leaves open
It is worth reading the report carefully before copying it, because the details tell you how to run your own version. The data came from the company's telematics system, the device-and-software combination that records engine hours, location, duty status and trips. The question was narrow and numeric: on duty, not driving, at the terminal, over 30 minutes. A person decided the threshold; Claude did the sorting.
Three limits are worth holding onto. The headline calls the $53,000 annual, but the report itself describes it as the cumulative cost of the behaviour before the flag, so you cannot tell whether it covers one year or several. It does not explain how the figure was calculated. And the reason the driver spent that long in the yard is the owner's interpretation, not something the data shows. A telematics row can say a truck was parked with the driver on duty. It cannot say whether the driver was waiting for a trailer swap, doing paperwork, or sitting in the cab.
So treat the story as a pattern for a first question, not as proof of what you will find. Your audit might turn up nothing, or it might turn up a dispatching problem that has nothing to do with any driver. Both outcomes are worth knowing. If you want the same approach applied to customer docks rather than your own yard, the detention pay tutorial covers waiting time you can invoice.

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 nowDecide what you are measuring before you export anything
Telematics systems record dozens of fields. Claude does best when it is given the few that answer the question, plus a definition of each term. Write these down first, in a short note you will paste in with the data.
- Yard time: minutes where the driver status is on duty, not driving, and the location is inside one of your own yards or terminals. Define the geofence, which is the virtual boundary drawn around a site in the system. If you have two yards, name them.
- Threshold: the number of minutes that triggers a flag. The report used 30. Pre-trip and post-trip inspections, fuelling and a trailer hook-up all take real time, so a threshold of 30 to 45 minutes per shift is a reasonable starting point. Set it from your own median, not from the report.
- Toll cost per trip: the toll charges attached to a single trip, plus the lane, which means origin and destination pair.
- Shift: one driver, one working day, so that a split shift is not counted twice.
A second reason to write definitions down: Claude will otherwise invent its own. Ask it to "find yard time" without saying what a yard is and it may count every stop under 200 metres from your depot, including the fuel island across the road.
Trim and rename the export so drivers are codes, not people
This step is where the driver-data care sits, and it is easy to skip. A raw telematics export often carries driver names, home-area locations from overnight parking, phone identifiers and exact GPS traces. Your audit needs none of it. Remove the columns you do not need before the file leaves your system, and replace names with codes.
| Keep | Remove or replace |
|---|---|
| Driver code (D01, D02…) | Driver name, licence number, phone |
| Date, shift start and end | Overnight parking coordinates away from your sites |
| Duty status and minutes | Raw GPS breadcrumb trails |
| Location type: own yard, customer, fuel, other | Street addresses of customers you do not need |
| Truck number, trip number, lane name | Personal notes or messages |
| Toll amount and toll point name | Payment card or account numbers |
Keep a separate key sheet, stored with your normal business records, that says D07 is a named person. You will need it when a flag turns into a conversation, and Claude does not.
Then check the plan you are using. On the free and paid individual Claude plans, a privacy setting controls whether chats may be used to improve the models; business plans do not train on business content by default. Look at the setting in your own account rather than assuming. Employee data is also covered by data-protection and employment rules that vary by place, so if you have drivers in the EU, or a works council, ask an adviser whether the audit needs to be mentioned in your staff policy. The AI usage policy tutorial has wording for the staff-facing part.
The main example: a 14-truck fleet, one month, two questions
Everything in this section is illustrative. Picture a regional fleet of 14 tractors with 14 hourly-paid drivers, one yard and a single high-volume lane to a regular terminal. The owner exports April: 14 drivers, 22 working days, 308 shifts, and a toll log of 214 trips on that main lane. The file is 308 rows of duty data and a second sheet of 214 trips.
The first prompt, pasted with the definitions note above it:
I run a trucking company and I'm attaching one month of telematics data
(sheet "Shifts": one row per driver per day).
Definitions:
- Yard time = minutes with duty_status "on duty, not driving" while
location_type = "own yard".
- A flag = a shift where yard time is over 30 minutes.
- Driver codes (D01-D14) are anonymised.
Tasks:
1. Calculate each driver's average yard minutes per shift, the number of
flagged shifts, and the total yard minutes over 30 per shift.
2. Show the fleet median average so I can compare.
3. List the row numbers of the five longest individual shifts so I can
check them against the source.
4. Do not guess causes. If a row has a note or odd value, list it
separately under "Needs checking".
Return a table, then a three-line summary.
A realistic reply, labelled as illustrative output:
Fleet median average yard time: 27 minutes per shift.
Driver | Avg yard min | Flagged shifts | Minutes over 30 (total)
D07 | 96 | 21 of 22 | 1,464
D03 | 41 | 12 of 22 | 270
D11 | 33 | 7 of 22 | 74
(other 11 drivers all between 19 and 31 minutes)
Longest single shifts: rows 118, 119, 120, 121, 122 (all D07, 112-131 min).
Needs checking: rows 203-205 (D03) show 0 minutes of driving but
"on duty" for 6 hours; rows 41 and 42 have no location_type.
The arithmetic is simple and worth doing yourself. D07's average of 96 minutes sits 66 minutes above the 30-minute line, and 1,464 total excess minutes over 21 shifts is about 70 minutes per flagged shift. Divide by 60 for 24.4 hours. At an illustrative wage of $26 an hour that is $634.40 of paid time for the month, or about $7,613 over twelve months if it repeated. That is a real number, though nothing like the one in the report, because this fleet is smaller and the example is invented.
What the fix list looked like
The owner checked rows 118 to 122 in the raw system before doing anything. All five were genuine yard stops with the driver on duty and the truck stationary. D03's rows 203 to 205 turned out to be a day the truck was in the workshop, with the driver logged on duty by mistake. That is a dispatch error, not a driver problem, and it would have been unfair to flag it. Rows 41 and 42 were a geofence gap at a second gate. Three fixes to the data, none to a person, and only then a conversation with D07.
The toll question on the same lane
Tolls are the second half of the story and they need a different prompt, because the unit is the trip, not the shift. Say the owner's 214 trips on the main lane include a toll amount from the toll statement. Ask for a lane comparison, not a driver ranking.
Sheet "Trips" has one row per trip: trip_id, date, truck, driver code,
lane (Depot to Terminal, or Terminal to Depot), toll_total (USD),
toll_points (count).
For each lane:
1. Median toll_total and the range.
2. Any driver whose average toll_total is more than $15 above the lane
median, with the number of trips behind that average.
3. For each of those drivers, the three trips with the biggest gap and
their trip_id.
Do not explain the gap. Say only what the numbers show, and flag any
lane with fewer than 8 trips as too small to compare.
Illustrative reply: the Depot to Terminal lane has 112 trips with a median of $41.60. Driver D11 averages $91.60 across 9 trips, a gap of $50.00 per trip, and the three largest gaps are trips 77, 91 and 140. The owner's own arithmetic: 9 trips times $50 is $450 for the month.
The gap is a lead, not a verdict. Real causes seen in fleets include a transponder that was not scanned so the trip was billed by plate with an admin charge, a different route with more toll points, a trailer type in a higher class, or a stretch where the driver took the toll road to make up time on a late load. Each one has a different fix. The first is a hardware problem, the second a dispatch rule, the third a data error, and only the fourth is a driver conversation. Check toll_points before anything else: if D11's trips show four points against the lane's usual two, the route changed.
If your tolls come as monthly invoices rather than a telematics field, match them on date and truck number as described in the FAQ. The cost per mile tutorial shows where tolls sit in a full cost-per-mile figure, which tells you whether a $450 monthly gap is worth chasing.
Check Claude's answer against the source, every time
Large language models are good at sorting and summarising tables and occasionally wrong about a number. A short checking routine catches nearly all of it, and it takes about 15 minutes.
- Open the five rows it named in the original system and confirm the minutes and the location type. If one is wrong, assume the whole table needs a second look.
- Recompute one driver by hand in a spreadsheet. A pivot table on driver code and average of yard minutes takes a minute and gives you an independent check. If you use Excel, the Claude for Excel add-in tutorial shows how to run Claude's analysis and your own pivot check in the same workbook.
- Count rows. Ask Claude how many rows it read. If you uploaded 308 and it says 296, a section of the file was not read.
- Run the same prompt again in a fresh chat. The order of the table may change, but the flagged drivers and the totals should not.
- Read the "Needs checking" list. Anything Claude refused to guess about is often the most useful output.
When a telematics number misleads: the fuel island case
A fleet owner runs the same audit the following month and sees a new driver, D09, with 58 minutes of average yard time. It looks bad. Looking at the longest stays shows a pattern: every flagged shift begins at 05:40 and the minutes run on after 06:00, when the shift is supposed to have started.
Two things were happening. The geofence around the yard included the fuel island, so every fill-up was counted as yard time. And D09 was the only driver who fuelled at the start of the shift rather than the end, because the night driver before had left the tank low. The audit measured the geofence, not the driver. The fix was to split the geofence into "yard" and "fuel", re-run the prompt, and watch D09 fall to 24 minutes. If the owner had spoken to D09 first, trust would have been spent for nothing.
The lesson: the cleaner the location types, the less you will argue with the output. Spend an hour on geofences once and the monthly audit gets faster.
Reading a flag in context: your yard against a customer's gate
The same duty status means different things in different places. Time on duty and not driving at your own yard is a cost you control. The same minutes at a customer's dock are usually waiting, which you may be able to bill, and at a fuel stop they are a normal part of the day. If the location types in your export are coarse, the audit blends all three and the headline number looks worse than it is.
A quick before and after shows the effect, using another driver from a fleet whose export has no location types. Before: a single "on duty, not driving" column, total 41 hours in the month across 22 shifts, 12 of them flagged. After splitting by location type: 9 hours at the own yard, 24 hours at customer sites, 8 hours at fuel stops. The yard time that belongs in this audit is 9 hours, about 25 minutes a shift on average, and the 24 customer hours are a separate conversation with the customer about detention. Ask Claude for the split in a follow-up message: "Re-run the table with yard, customer and fuel as separate columns and tell me which rows had no location type."
Check the opposite error as well. A driver who parks outside the gate because the yard is full is recorded as "other" and disappears from the yard figure. If a driver's yard minutes look implausibly low, ask for their "other" minutes within 300 metres of the yard. That question is easy to put to Claude, and it protects you from rewarding the wrong behaviour.
Talking to the driver without turning the audit into a trial
When a flag survives the checks, the first conversation is a question about the day, not a charge. Something like this works:
"I was looking at April's yard times for the whole fleet. Most of us
run about 25 to 30 minutes between clocking on and leaving the gate.
Your average is 96. Can you walk me through what a normal
morning looks like for you? Is something holding you up, such as the
trailer being late, the dock queue, or paperwork?"
Often there is a reason you can fix: a trailer that is regularly not ready, a gate that opens late, a loading bay that is shared with a second company. If there is no good reason, you have the facts to say so calmly and agree a target. Any pay deduction or formal warning is a different matter, covered by employment rules that vary by place, so take advice first. A fleet that treats the audit as a punishment tool will find drivers learn to leave the cab and hide in a lounge, which the data cannot see.
It also helps to say in advance that you review fleet data monthly. Drivers already know their trucks report location. Knowing the owner reads a summary is far better than finding out through a surprise.
Three more questions the same export can answer
Once the file is trimmed and the definitions are written, the same upload answers other questions at almost no extra cost. Pick one a month rather than all at once, so you can act on what you find.
- Idling by truck, not driver. Ask which trucks idle most on cold mornings and compare against truck age. A single truck with a faulty block heater looks like a driver problem until you rank by truck number.
- Empty miles on the main lane. If your data shows loaded versus empty trips, ask for the share of empty return trips by week. A swing from 18% to 30% in one week is a dispatch issue worth a phone call to your brokers.
- Late starts. Compare scheduled start with the first movement of the truck, then list the days the gap was over 20 minutes. This is the same yard-time idea turned around, and it often points to a trailer that was not hooked the night before.
The wider list of small-fleet uses shows where a monthly data check fits alongside paperwork and quoting, and the driver qualification file tutorial covers a very different but equally repeatable task for the same office.
A one-page routine you can repeat on the first Monday of each month
| Step | Time | Who |
|---|---|---|
| Export last month's shifts and trips; delete personal columns; swap names for codes | 15 min | Office |
| Paste definitions and run the yard-time prompt | 5 min | Office |
| Run the toll prompt on the main two or three lanes | 5 min | Office |
| Check five rows and one recomputed driver | 15 min | Owner or manager |
| Decide: data fix, dispatch change, or conversation | 10 min | Owner |
| Save the prompt and the result with the month's records | 5 min | Office |
About an hour, once the geofences are right. A Claude Project, a saved workspace that keeps your instructions and definitions across chats, holds the definitions note so you paste only the new data. Projects are available on Free, Pro and Team plans, with Free limited to five. Claude Pro lists at $17 a month billed annually or $20 billed monthly as of November 2026, which is the only direct cost.
The savings are harder to promise. The reported $53,000 is one owner's account, with no stated period. A better target for your own fleet is smaller and measurable: pick the excess minutes you can document, multiply by the hourly rate, and compare with last month. If the number falls, the audit is working; if it does not, the system was already tight and you have saved yourself a worry.
Questions fleet owners ask before running the audit
Does Claude need a direct link to my telematics system?
No. A CSV or spreadsheet export uploaded to a Claude chat is enough for a monthly audit. Some vendors offer a direct link: Samsara documents a read-only MCP server that an organisation owner can add to Claude as a custom connector. The export route works on any system and lets you remove driver fields first.
Can I discipline a driver because Claude flagged them?
Treat a flag as a question, not a finding. Check the raw rows, ask the driver what happened, and look at the site, the dock queue and the geofence before anyone is paid less or warned. Employment rules differ by place, so ask a qualified adviser before any disciplinary step.
How much data can I upload in one go?
Keep one chat to one month and one question. Very long exports tempt the assistant to summarise from a sample instead of reading every row. If a file is large, split it by week or by depot and ask the same question of each piece.
What if my telematics export has no toll column?
Match toll invoices to trips instead. Export the toll statement, add the trip date and truck number from your telematics data, and ask Claude to join them on those two fields. Anything it cannot match goes into a separate list for you to read by hand.
Further reads
- DOT Audit Checklist for a Small Fleet: Organise Records With AI — Records to have ready before an inspection.
- Trucking Accounting Software: Do the AI Features Earn Their Price? — Checks whether your accounts package already flags cost gaps.
- AI Dispatcher or Dispatch Service? An Owner-Operator Cost Check — Compares AI dispatch help with a paid dispatch service.
- How to Use AI in a Trucking Company: Load Paperwork Without Retyping — Stops load paperwork being typed in twice.
- AI for a Trucking Business: Can It Chase Late Invoices and Missing PODs? — Chases late invoices and missing proof of delivery.
- Trucking Company Safety Plan: AI-Drafted Policies and Toolbox Talks — Turns audit findings into weekly safety talks.
- AI in Fleet Management: Auditing Yard Time and Tolls From Telematics — Use AI on a telematics export to find drivers idling in the yard on the clock and tolls that never reached an invoice.
- Load Boards for Owner-Operators: Rank Offers by Profit per Day With AI — Paste three load offers and your costs, get net profit per day for each, and pick the one that pays for the days it uses.
- Owner-Operator Expenses: AI Sorts Receipts and Fuel Statements — A monthly routine: photograph receipts, sort fuel and card lines into categories, check totals and hand the accountant a clean summary.
- Owner-Operator Settlement Statement: Check Deductions With AI — Turn a lease and a settlement statement into two tables, compare them line by line, and send a dispute email with the evidence.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: FreightWaves, AI Saves Trucking Company $53,000 Annually (23 September 2026); claude.com/pricing; Samsara developer docs on its MCP server (all checked 5 November 2026).