Case Study

The Year Everyone Bought a Truck

What happened

Truckload freight was cheap in 2020, with the price index shippers pay averaging 137.0. Prices then jumped 19.9% in 2021 and another 23.6% in 2022, peaking 48% above 2020, and everyone who could see the return bought a truck. Prices fell 8.3% in 2023, and costs did not follow: the cost of running a mile hit a record $2.270, with insurance up 12.5%. Prices fell another 5.8% in 2024, leaving the sector at an average operating margin of minus 2.3%.

Anonymized composite: one company driver who took their own operating authority in 2022, set inside a documented, industry-wide cycle. Every market figure is fetched and cited: the US Bureau of Labor Statistics producer price index for general freight trucking, long-distance truckload (PCU484121484121), BLS payroll employment for the same industry, and the American Transportation Research Institute's annual cost-per-mile series. The driver is illustrative; the cycle is not.

  • Illustrative composite — not a real company
  • Freight and logistics
  • Owner-operator truckload
  • High risk
  • Failure
  • Beginner

The case, start to finish

Nobody gets a signal that the crowd has arrived. What you get is a very good year, and a lot of company.

The year nobody wanted a truck

This is an anonymized composite: one company driver who took their own operating authority in 2022, set inside a freight cycle that is fully documented and cited. The driver is illustrative. The market around him is not.

Start where the story is least interesting, in 2020. The government price index that tracks what shippers pay for long-haul truckload averaged 137.0 for the year, below 2019's 138.0. Used sleeper cabs were cheap. Almost nobody wanted to buy a truck. That is the most important fact in this case and the easiest to skip past, because nothing was happening.

Then prices moved 19.9% in 2021, to an index average of 164.3, and the American Transportation Research Institute later put the cost of running a mile at about $1.86. Loads paid more than most drivers had ever seen, and the arithmetic was visible at every truck stop in America. The first wave left their company jobs.

What it looked like from the cab

By 2022 the index averaged 203.1, up another 23.6% and 48% above 2020, with a monthly high of 211.1 in March. Costs were climbing almost as fast: ATRI recorded $2.251 a mile, up 21.3% on the year, with fuel up 53.7%. That is the crucial detail about how this felt from inside. The price of a mile was still running just ahead of the cost of one, so a driver checking the numbers honestly still got an answer that said go.

The composite driver bought a used sleeper in mid-2022 on a five-year note. Every figure in that spreadsheet was true on the day it was typed. Two of them, the rate per mile and the price of the truck, were at levels that existed because of the same surge that was about to end them. He was not the only one: FTR Transportation Intelligence later counted nearly 86,000 more for-hire trucking firms than before the pandemic, a 33% increase in the carrier population.

This is the uncomfortable shape of the case. The barrier to entry was a down payment and a license, and nothing about the observation was wrong. The problem was that it was available to everybody at once, and acting on it was the mechanism that closed it.

The note does not reset

Prices fell 8.3% in 2023. Costs did not follow: ATRI recorded $2.270 a mile, a record at the time, with insurance up 12.5% to $0.099 a mile and truck and trailer payments up 8.8% to $0.360. In 2024 prices fell another 5.8%, to 175.4, which is 13.7% below the 2022 average, and ATRI put the truckload sector's average operating margin at negative 2.3%.

Put that margin through a year of driving. At ATRI's 2024 average of $2.260 a mile, 100,000 miles costs $226,000 to run. A negative 2.3% margin implies about $221,000 of revenue against it, roughly $5,000 short of covering the truck's own costs. And ATRI's cost per mile already includes a driver's wages at industry averages, so this is not the cost before you pay yourself. On that average the truck did not cover itself, and the wage was already inside the cost.

Nothing on the operating side had failed. The driver ran safely and kept the truck moving. The loss was decided at the moment of entry, by the price paid for the asset and the rate assumed in the model, and a five-year note struck against a six-month price cannot be driven out of. By 2025 carriers were selling trucks, ATRI recorded truck counts down a further 2.4%, and payroll employment in long-distance truckload averaged 506,200, below the 507,000 of 2020. The capacity that arrived had left, and it took its owners' savings with it.

What the reader can actually control

In a business with low barriers to entry, a visible return is a recruiting poster rather than a moat. Visibility is not a feature of the trade; it ends it. If you can see the arithmetic from the truck stop, so can the person at the next pump, and their entry is a cost that lands on you.

The part you control is not the rate. It is the price you pay for the asset, and that price is lowest exactly when the story is worst. Buying in 2020 at an index of 137.0, when nobody wanted a truck, was not clever. It was just unpleasant, which is a different thing and usually more useful. If you are looking at an asset business right now, the question is not whether the current return is real. It is whether you are buying capacity into a crowd, and how many payments are left on the note when the crowd leaves.

Timeline

  • 2020 Truckload freight is cheap. The government price index that tracks what shippers pay for long-haul truckload averages 137.0 for the year, below 2019’s 138.0. Used sleeper cabs are cheap too. Almost nobody wants to buy a truck, which is the single most important fact in this case and the easiest one to miss.
  • 2021 Prices jump 19.9%, to an index average of 164.3. ATRI later puts the cost of running a mile at about $1.86. Spot loads pay more than most drivers have ever seen, the arithmetic is visible at every truck stop in America, and the first wave leaves company jobs to run under their own authority.
  • 2022 The peak. The index averages 203.1, up another 23.6% and 48% above 2020, with a monthly high of 211.1 in March. Costs are climbing just as fast: ATRI records $2.251 a mile, up 21.3% on the year, with fuel up 53.7%. Entry accelerates anyway. FTR Transportation Intelligence later counts nearly 86,000 more for-hire trucking firms than before the pandemic, a 33% increase in the carrier population.
  • 2023 Prices fall 8.3%. Costs do not follow them down: ATRI records $2.270 a mile, a record at the time, with insurance up 12.5% to $0.099 a mile and truck and trailer payments up 8.8% to $0.360. The 2022 entrants are now servicing notes written at record equipment prices against rates that no longer exist.
  • 2024 Prices fall another 5.8%, to 175.4, which is 13.7% below the 2022 average. ATRI puts the truckload sector’s average operating margin at −2.3% and non-fuel cost at a record $1.779 a mile. Carriers begin selling trucks; ATRI records truck counts down 2.2% and non-driver staff down 6.8%.
  • 2025 Prices rise 2.3%. Costs rise 3.4%, to $2.336 a mile, and truckload margins improve but stay below 1.0%. Payroll employment in long-distance truckload averages 506,200, below the 507,000 of 2020, before any of it started. The capacity that arrived has left, and it took its owners’ savings with it.

You're in the owner's chair

Mid-2022. Spot rates are the highest you have ever seen, a used sleeper costs more than it ever has, and three drivers at your terminal have already left to run their own authority. You have $60,000 saved. What do you do?

  • Buy the truck but lock a year of contract freight with a shipper instead of running spot
  • Buy the truck now — the payback works at today’s rates
  • Wait. Buy the truck when rates and used-truck prices are both on the floor

Cost and price, both measured against 2021

  • Cost to run a mile, by 2022 (ATRI): 21.3 % change vs 2021
  • Price of a truckload mile, by 2022 (BLS): 23.6 % change vs 2021
  • Cost to run a mile, by 2025 (ATRI): 25.9 % change vs 2021
  • Price of a truckload mile, by 2025 (BLS): 9.2 % change vs 2021

In 2022 the price of a mile was still running just ahead of the cost of one, which is exactly what the trade looked like from inside it, and why so many people entered. Four years on, cost had run to +26% while price fell back to +9%. ATRI’s 2021 base of about $1.86 a mile is the figure implied by the 21.3% rise it reported for 2022.

Business model

Buy one asset, operate it yourself, sell its time by the mile. An owner-operator with their own authority is the whole business: driver, dispatcher, salesperson, and the balance sheet. It is one of the few businesses an ordinary employee can start with a down payment and a license, which is precisely why it fills up when it looks good.

Revenue model

Loaded miles at whatever a load pays. On the spot market the rate is quoted all-in, so the operator carries the fuel, and the price of a mile is reset by the market every single day: there is no contract, no backlog, and no notice period between a good year and a bad one.

Cost structure

ATRI measures this line directly, which is why the case can be checked rather than asserted: the total cost of running one truck-mile went from about $1.86 in 2021 to $2.251 in 2022, $2.270 in 2023, $2.260 in 2024 and $2.336 in 2025. That number already includes a driver’s wages and benefits at industry averages, so for an owner-operator it is not the cost before you pay yourself. It is the cost including a market wage for the person in the seat.

Strategic challenge

The trade that everybody could see. In 2021 and 2022 a truck was visibly, obviously profitable, and the barrier to entry was a down payment. Nothing about that observation was wrong. The problem is that it was available to everyone at once, and the act of acting on it was the thing that removed the return: roughly 86,000 additional firms chasing freight that stopped growing.

Key decision

The composite driver bought a used sleeper in mid-2022, at the top of both the freight market and the used-truck market, on a five-year note. Every number in the spreadsheet was true on the day it was typed. Two of them, the rate per mile and the price of the asset, were at levels that existed because of the same surge that was about to end them.

What worked

Nothing about the operating side failed. The driver ran safely, kept the truck moving, and did the job well. That is the uncomfortable part of this case and the reason it belongs in a contrarian file: the loss had almost nothing to do with execution. It was decided at the moment of entry, by the price paid for the asset and the rate assumed in the model.

What failed

The entry price and the entry rate, together. Illustrative only: at ATRI’s 2024 average of $2.260 a mile, 100,000 miles costs $226,000 to run. The truckload sector’s average 2024 operating margin of −2.3% implies about $221,000 of revenue against that, roughly $5,000 short of covering the truck’s own costs, and those costs already include a driver’s wage. An average operator in 2024 was paying for the privilege of working.

Risk factors

A five-year note struck against a six-month price; an asset bought at a cyclical high, so the exit is a loss even if you quit early; spot exposure with no contract floor; insurance and equipment payments that ratchet up and do not come back down; and the specific trap of a business anyone can enter, where visible profit is a recruiting poster rather than a moat.

Lesson summary

A return you can see is a return everyone can see, and in a business with a low barrier to entry that visibility is the mechanism that removes it. The contrarian move here was never clever: it was to buy the truck in 2020, when the index was at 137.0 and nobody wanted one, and to sell into the crowd in 2022. The part you control is not the rate. It is the price you pay for the asset, and that is cheapest exactly when the story is worst.

Key data

  • +48% (137.0 → 203.1) Truckload price index, 2020 → 2022
  • −13.7% (203.1 → 175.4) Truckload price index, 2022 → 2024
  • ~86,000 more — a 33% increase (FTR) For-hire trucking firms vs pre-pandemic
  • ~$1.86 (2021) → $2.251 (2022) → $2.336 (2025), per ATRI Cost to run one mile
  • −2.3% (ATRI) Truckload average operating margin, 2024
  • 507,000 (2020) → 541,900 (2023) → 506,200 (2025) Long-distance truckload payroll jobs

Sources & basis

The business in this story is a stand-in, not a company you can look up. This case is an illustrative composite: the operator, the people and most of the dollar figures represent a pattern rather than reporting one firm's history. What the list below cites is the other half, the documented industry data and public reporting the composite was assembled from, including any real company whose published figures the case draws on by name. The mechanism and the arithmetic are real even where the business is not.

  1. BLS producer price index, general freight trucking, long-distance truckload (PCU484121484121) — annual averages 2019–2025 and monthly peak of 211.1 in March 2022, BLS public API View source ↗
  2. BLS payroll employment, general freight trucking, long-distance truckload (CEU4348412101) — annual averages 2018–2025 View source ↗
  3. ATRI, An Analysis of the Operational Costs of Trucking (2023 update) — 2022 marginal cost of $2.251 a mile, up 21.3%, with fuel up 53.7% View source ↗
  4. ATRI (2024 update) — 2023 marginal cost of $2.270 a mile; insurance $0.099 (+12.5%); truck and trailer payments $0.360 (+8.8%) View source ↗
  5. ATRI (2025 update) — 2024 marginal cost of $2.260 a mile, non-fuel a record $1.779, truckload average operating margin −2.3%, truck counts down 2.2% View source ↗
  6. ATRI (2026 update) — 2025 marginal cost of $2.336 a mile (+3.4%), non-fuel $1.854, truckload margins below 1.0%, truck counts down a further 2.4% View source ↗
  7. Trucking Dive, reporting FTR Transportation Intelligence — Avery Vise on the carrier population: nearly 86,000 more for-hire trucking firms than before the pandemic, a 33% increase View source ↗