The Surface Problem: My Parts Got Cheaper and My Bill Got Bigger
In January 2025, I pulled our 2024 fleet maintenance summary. I run fleet procurement for a regional LTL carrier with about 300 people on payroll — seven years in the seat, roughly $1.2 million a year in maintenance and parts budget.
Parts spend per unit was down 9% year over year. Total maintenance spend was up 14%.
I stared at the two lines for a solid twenty minutes and assumed my pivot table was misconfigured. It wasn't. On a $1.2 million base, that gap between those two lines is roughly $276,000 — and it didn't evaporate. It went somewhere. It just went somewhere my purchasing cycle couldn't see.
If you're wondering how we got the 9%, it wasn't fancy. We moved rear brake rotors to a lower-cost supplier. We consolidated brake pads onto one SKU. We bulk-bought spark plugs. We went remanufactured on catalytic converters for the older trucks. And we stopped replacing alternators on a schedule and started replacing them when they failed.
Every one of those decisions was defensible on its own. That's the trap. Each decision was defensible on its own and wrong in aggregate.
The Answer I Wanted, and Why It Wasn't True
My first theory was that we'd been screwed on the last contract round. I pulled 40 invoices and went line by line. Unit pricing matched the contracts. Freight matched the quotes. The shop's labor hours were within reason.
So no. Nobody was cheating us. We were doing exactly what we'd agreed to do, and the result was still wrong, which meant the agreement itself was the problem.
That's an uncomfortable place to land when you're the person who wrote the agreement.
What Was Actually Happening
I spent about six weeks unwinding this with our shop foreman and a spreadsheet that got ugly fast. Three things surfaced, and only the first one was obvious in hindsight.
1. I had the causation backwards
The assumption I'd been running on, without ever saying it out loud, was something like: the expensive vendors are expensive because they're expensive. Prestige pricing. Brand markup. Sales reps with nicer cars.
The reality runs the other way. Vendors can charge more because their parts don't come back. The price premium isn't the cause of the quality — the quality is what lets them hold the price. I'd been reading the direction of the arrow wrong for years.
Concrete example. We switched rear rotors to save $31 a corner. The cheap ones had a thin zinc wash instead of a proper coated finish. In our climate — and we run trucks through road salt four months a year — those rotors were rust-welded to the hub by the second brake job. That's not a rotor cost. That's a torch, a chisel, an extra 40 minutes of shop time, a brake drag condition that quietly eats fuel, and sometimes a hub you replace because you couldn't get the rotor off without damaging it.
I'm not going to pretend there's a single right answer on coated versus uncoated rotors for every fleet. But I had been comparing them on sticker price, which is not a comparison. Something like a Raybestos Element3 rear brake rotor is priced higher at the counter specifically because of the coating and the corrosion resistance — and if your trucks live in salt, that higher counter price is buying you out of a labor event later. If your trucks live in Arizona, maybe it isn't. The point is that I never asked the question. I just compared the number on the invoice.
2. My cost system only counts what it can see
Every invoice we pay goes into the system. Every hour a truck sits in the yard waiting for a part does not.
That asymmetry isn't a paperwork problem. It's an incentive problem. Our purchasing scorecard measured unit price, PO compliance, and supplier on-time rate. Nowhere on that scorecard was there a line for "what this part cost us in downtime." So the person optimizing against that scorecard — me — optimized for the thing that was measured. Not because I was lazy. Because the invisible thing doesn't push back.
Downtime on a Class 8 tractor runs somewhere in the range of $400 to $900 a day in lost revenue depending on lane and load, plus driver pay you're eating either way. I have not done a clean study on our own number — take that range as an industry ballpark, not as a figure I can defend to an auditor. But even at the low end, a truck sitting two extra days because a supplier shipped the wrong catalytic converter is a $800 conversation that never appeared on any invoice.
And the truck catalytic converter decision is a good illustration of how layered this gets. Remanufactured units are legitimate and legal when they're done right, and the core charge system works fine when you plan ahead. When you don't plan ahead — when the converter fails, the CEL comes on, and the truck is due for a state inspection in ten days — you're paying for expedited freight and you're probably paying the core charge on top because nobody returned the old one in time. The reman unit was cheaper. The reman event was not.
3. Cheap parts don't fail proportionally. They fail early.
This one took a while to see because it's a shape problem, not a price problem.
A brake pad at 8mm is not 80% of a brake pad at 10mm, in terms of heat capacity and fade resistance. It's closer to a cliff than a slope — the friction material is thinner, so it runs hotter, so it wears faster, so it gets thinner faster. The curve steepens near the end. If your PM interval assumes a linear wear rate because that's what you saw on the premium pad, you're going to be pulling trucks out of service on the shoulder instead of in the bay.
Same story with pads in the Akebono versus Raybestos conversation — and yes, I've had to make this call. Akebono's ceramic compounds are known for low dust and low rotor wear; Raybestos runs a wider range of formulations, including semi-metallic options that hold up better under heavier loads. Which one is cheaper for your fleet depends entirely on whether you're paying for rotors, dust cleanup, or repeat pad changes. We have a mix, because linehaul trucks and yard trucks aren't the same application and I stopped pretending they were.
And this is the one nobody talks about in purchasing meetings: NGK CR9E spark plugs cost less than the labor to get to them. On the units where those go, the plug is maybe a fifth of the cost of the job. So when I buy plugs on price I'm saving single-digit dollars per cylinder against a service interval that I am potentially shortening. That's not a savings. That's a bet against my own labor rate.
Where the $276,000 Actually Went
When we finally reconstructed the year, it broke down roughly like this — and I'll flag that these are internal estimates from our own shop records, not audited figures:
- Rework and re-repair: the biggest single bucket. Same component, second time through the shop, often within 18 months.
- Downtime and substitute equipment: rental trucks and brokered loads we wouldn't have booked otherwise.
- Comeback labor and roadside: the cost of finding out on the road instead of in the bay.
- Adjusted PM intervals: more frequent inspection because we no longer trusted the parts to make the interval.
Notice what's missing from that list. Not one of those lines is a purchase price. Every one of them is a consequence of a purchase price.
I should also say plainly: this is a small fleet. Our maintenance sample is 140 tractors and roughly 210 trailers. My numbers are not going to transfer cleanly to a 3,000-unit operation with its own analytics team. Scale changes where the costs land. It doesn't change the structure of the mistake.
The Time the Numbers Pointed One Way and My Gut Pointed Another
In Q3 2024, the spreadsheet said switch brake pad suppliers. Fifteen percent cheaper per set, comparable friction rating on paper, decent delivery record. It was, by every metric I had built, the right call.
Something felt off. Their rep took two days to answer a question about friction coefficient stability across temperature ranges. Not wrong answers — slow answers. And I'd been burned once before by a supplier whose responsiveness was a preview of their delivery behavior.
I went with my gut and kept the incumbent at the higher price. Nine months later I found out that the cheaper supplier had changed their friction formulation mid-year to cut costs. Two other carriers I know had pad fade complaints on loaded descents.
I want to be honest about what that story is and isn't. It doesn't mean ignore data. It means data can only analyze the variables you put in the model, and "will this supplier quietly change their compound when their margins get squeezed" was not a variable I had a column for.
How I Evaluate a Quote Now
I built a four-line sheet. It takes about 20 minutes per part category and it caught roughly 80% of what I'd been missing.
- Landed unit price — including freight, core charges, and any setup or minimum-order fees.
- Labor to install — book hours at our shop rate, plus any rework probability I can estimate from the supplier's history.
- Expected downtime — this is a guess, and I mark it as a guess. Days in the bay times an internal cost-per-day figure. Rough, but nonzero, which is infinitely better than what I had before.
- Failure risk — what happens if it goes early. Roadside, substitute equipment, come-back labor.
Then I compare the totals, not the first lines. On brake rotors in our climate the coated part wins by a wide margin two years out. On brake pads in warm climates it's closer to a wash and I buy on service. On alternators, "replace on failure" turned out to be the expensive policy, because the failure almost never happens in the yard — it happens 40 miles from the terminal with a trailer full of freight. Generators commonly run 100,000–150,000 miles before failure, but the range is wide and load-dependent, so a planned swap at a depot beats a road failure nearly every time. I've stopped treating that as a coin flip.
NGK CR9E spark plugs are the easy case now — the plug cost is small relative to access, so I buy to the OEM interval and don't shop on the few dollars.
What Still Isn't Fixed
Two honest gaps.
First, my downtime estimate is still a guess dressed up in a number. I haven't built a clean per-truck cost-per-day figure, and until I do, that line in the sheet is doing less work than it looks like it's doing.
Second, none of this is a criticism of cheap parts as a category. Some cheap parts are fine. Some expensive parts are overpriced. The whole point is that "cheap" and "expensive" are labels on a piece of paper, and the number that actually matters is the one you can only calculate after you've decided how long you expect the part to last and what it costs to find out you were wrong.
I got to a 14% increase while cutting unit prices 9%. That's a 23-point spread, and I built it one defensible decision at a time. If your scorecard rewards the invoice and ignores the bay, you'll do the same thing. Not because you're bad at this — because the scorecard doesn't know the bay exists.
Pricing and specification figures referenced here are drawn from our own 2024 shop and purchasing records and from manufacturer-published service data as of January 2025. Parts availability, pricing, and OEM intervals vary by application and change over time — verify current specifications against your own maintenance schedule and supplier quotes before committing budget.