Taking Inventory · Issue #4
I run 3PL RFPs for a living. 308 of them so far. For the last three years, every RFP goes through the same standardized pricing model, and this month I finished consolidating the whole archive into one dataset: 2,100 quotes from real 3PLs, roughly 24,000 line-item rates, 2023 through 2026, across 227 US and 79 Canadian RFPs.
I went in expecting the data to confirm the chaos everyone talks about. It did the opposite. This post is that report, plus a properly busy fortnight of news: Descartes dropped $220 million in a week, Ottawa's new tariffs landed September 8, and the WMS world had a round of musical chairs.
Let's dig in.
Part 1: Where the margin went
Ground rules so you can judge the data for yourself. 306 RFPs, 2023 through 2026. Era medians use USD quotes only, one quote per 3PL per RFP. The 2023-24 and 2025-26 pools contain different brands and 3PLs, so read changes as directional. The quote-spread analysis runs every quote through one uniform cost model against each brand's recorded order profile; the 298 RFPs with 4+ complete quotes qualify. All 3PLs and client brands are anonymized.
Finding 1: Three years of chaos. Four percent of movement.
Between the 2023-24 pool and the 2025-26 pool, at the median:
- B2C order fee: $1.40 to $1.45 (+3.6%)
- Receiving, per carton: $1.62 to $1.67 (+3.1%)
- Additional unit pick: $0.34 to $0.35 (+2.9%)
- Storage, per pallet: $19.06 to $19.32 (+1.4%)
- Shipping, per B2C shipment: $6.40 to $6.56 (+2.5%)
- Returns, insert fees, bin storage: within a penny or two of flat
- Account management: $834 to $797 a month (-4.4%, the only line that moved more than 4 cents on the dollar)

Sit with that. Tariffs, a national postal strike, courier rate wars, record M&A, and the market price of fulfillment work drifted like a commodity. Nobody repriced the industry. Which tells you the interesting question was never "what does fulfillment cost?" The interesting question is where anyone makes or loses money when the median is this sticky. Two answers below.
Here is what makes that four percent stranger still. Over the same window, the actual hourly wage warehouses pay rose +7.4%: BLS average hourly earnings in US Warehousing & Storage (NAICS 493) went from $23.43 across 2023-24 to $25.17 across 2025-26. California's minimum wage climbed 9.0%, from $15.50 to $16.90, while the federal floor sat still at $7.25. Against that, picks moved +2.9%, B2C order fees +3.6%, and the quoted warehouse labour rate just +2.6%. Actual wages grew two to three times faster than the fees that fund them, and 3PLs absorbed the difference. The sticky median is not free; the operator pays for it, one payroll at a time.

Finding 2: The rent map says 3x. The quotes say 1.2x.
I mapped every proposed facility to its state and set the quoted rates against 2026 state minimum wages (Paylocity) and metro industrial asking rents (WarehousingCosts.com).
Rents vary about 3x between the Inland Empire ($16.50/sq ft) and Kansas City ($5.25). Wage floors vary 2.3x. The quotes? Median pallet storage lands between $17.82 and $21.95 in every state with a real sample, and the 35-cent pick is the 35-cent pick from California to Kentucky.


3PLs price to the national market, not to their own cost base. If you operate on Louisville rent and quote national-median storage, that spread is structural margin you're already collecting, or should be. If you operate on Inland Empire rent and quote national-median storage, you're absorbing a cost your competitors don't have, and the data says the market won't pay you extra just because your landlord charges more.
The Canada file: it is not the rent here either
Canadian readers, 546 of the quotes are yours, across 682 proposed facilities, all in CAD. The pattern is stranger than the US one. Metro Vancouver rent runs $19.51 a foot against Calgary's $11.21 (CBRE, Q1 2026), yet Calgary quotes the priciest storage in the country at $38.18 a pallet while Toronto, on 45% more rent, quotes $23.45. Inside the GTA, Vaughan and Brampton quote $32 to $35 while Toronto proper sits at $23.45. Labour is the same picture: Alberta has the lowest wage floor at $15.00 and the highest quoted labour rate at $48 an hour.


Whatever sets Canadian 3PL pricing, it is not the landlord and it is not the wage board. My working theory is competitive density: the corridors with the most 3PLs to call (Toronto core, Ottawa, Mississauga, Richmond) quote the tightest rates, and thin markets quote what the room allows. If you operate in one of the dense corridors, your rate card is being set by your neighbours. If you operate in Calgary, apparently you set it yourself.
The pattern under all of it: prices follow the competition, not the costs
Take the annual storage bill for one pallet and divide it by a square foot of that market's rent. A pallet takes similar space everywhere, so the ratio shows how much of the quote is cost and how much is market. Kentucky quotes 42x its rent. Indiana 40x. California 14x, New Jersey 16x. Labour is the same shape: Georgia quotes warehouse labour at 7.8x its wage floor, California at 2.2x. Calgary and Winnipeg are the Canadian version.

The cheap-cost markets are not underpricing. They quote the national rate card on a local cost base and keep the difference. And the reason they can shows up when you plot the gap against how many 3PLs compete in each market: correlation of -0.69 across my archive. More competitors, thinner markup. Demand and competitive density set the price. Rent and wages just decide who keeps the difference.
Finding 3: Same brand, same boxes, quotes 22% apart. Sometimes double.
Here's where the money actually moves. I ran every RFP in the archive with four or more complete quotes, 298 of them, through the same cost model: each 3PL's quoted fees applied to that brand's order profile, rolled up to an annual cost per order, indexed to the cheapest quote in that RFP. In the median RFP the priciest quote lands 22% above the cheapest. The middle half of RFPs runs 16 to 27%. One RFP in six tops 30%, and ten RFPs saw the priciest quote at more than double the cheapest (the record: 2.9x, bulky goods). And these are floors, because the model can't see the B2B fees, minimums and courier rate cards that widen real bills.

A stable median plus a 20 to 30% spread in nearly every deal means fulfillment pricing works like an index with enormous tracking error: the market agrees on the price of the work, and then individual quotes miss it based on how each 3PL's fee structure lands on that brand's specific order profile. In an industry running single-digit net margins, that spread is the entire game. Brands see all of it in one spreadsheet. Know where you sit before they do.
The 2025-26 rate card
From 2,100 quotes, the middle 50% of USD quotes in 2025-26 (25th to 75th percentile):
| Fee | p25 | Median | p75 |
|---|---|---|---|
| Storage, per pallet/month | $17.69 | $19.32 | $21.49 |
| Receiving, per pallet | $8.49 | $9.34 | $10.03 |
| B2C order fee (1st pick incl.) | $1.26 | $1.45 | $1.68 |
| Additional unit pick | $0.28 | $0.35 | $0.44 |
| Returns processing | $1.32 | $1.61 | $1.79 |
| B2B order fee | $3.50 | $3.98 | $4.46 |
| Receiving, per carton | $1.45 | $1.67 | $1.87 |
| Insert fee | $0.12 | $0.13 | $0.14 |
| Warehouse labour, per hour | $38.00 | $40.00 | $42.00 |
| Account management, per month | $672 | $797 | $963 |
Half the market quotes storage within $2 of $19 and picks within 8 cents of $0.35. When the bands are this tight, sitting outside them is a statement. Make sure it's one you intend.
Explore the full interactive report →
Partner Spotlight

Your merchants' traffic is already global, but their revenue may not be.
Join leaders from FlavorCloud, ShipBob and Linnworks on September 22 to explore how Commerce Intelligence helps brands identify untapped international demand and turn it into profitable growth. The session will examine how pricing, compliance, inventory and fulfillment work together to improve global conversion without increasing ad spend.
Register for the webinar →Part 2: Descartes bought Extensiv, and what I'd ask my rep

On September 1, Descartes announced it's acquiring Extensiv for $120 million in cash (FreightWaves). If the name doesn't ring a bell, the old one will: 3PL Central. It's one of the most widely deployed WMS platforms in the small and mid-size 3PL world, plus the old Skubana order management layer. And the week before, Descartes paid $100 million for Tai, a TMS. That's $220 million in seven days spent buying the software your operation probably runs on.
Descartes' pitch is the full stack: transportation, visibility, last mile, and now the WMS, "a single technology provider versus a patchwork of vendors." Fair enough. Consolidation was coming to 3PL software the same way it came to 3PLs themselves (48 deals YTD as of the Issue 3 M&A Tracker, and counting).
What do I think? Three things, as an operator rather than an analyst:
- Nothing changes tomorrow. Migrations of thousands of 3PL tenants are slow, and Descartes has historically kept acquired products alive.
- Watch the renewal, not the press release. Companies that buy with cash buy cash flow, and cash flow comes from pricing power over customers with high switching costs. That's you. If your Extensiv contract renews in the next 18 months, start the conversation early and get multi-year pricing in writing.
- The challenger WMS market just got validated and squeezed at the same time. A $120M exit tells founders the category is real. It also tells every mid-size 3PL that the safe choice now has a Fortune-adjacent balance sheet behind it, which makes the challengers' sales cycle harder. Which brings me to the Quick Hits below.
Want the full deal history? Every deal since 2019 is in the M&A Tracker.
Part 3: CUSMA Watch, Update 3: September 8 was a real date

Where we left off in Issue 3: the CUSMA joint review came and went, the deal survives to 2036, but with annual reviews. The deal is alive, the certainty is dead. Since then, the tit-for-tat got specific.
August 22: US tariffs of 50% took effect on roughly $27.6 billion of Canadian goods under Sections 232 and 338. September 8: Canada's counter-tariffs landed, at 15%, 25%, or 50% depending on the product, mirroring the US rates (Canada Department of Finance). The list reads like a cross-border 3PL's client roster: appliances, electronics, seafood, beauty and personal care, clothing, agricultural equipment, steel, dairy.
Who this actually impacts, in descending order of pain:
- US brands selling into Canada without CUSMA-compliant origin. The counter-tariffs apply to goods marked as US origin under CUSMA rules, and non-compliant goods can stack MFN rates on top. Origin documentation just became the difference between a 0% and a 50% landed cost problem.
- Canadian 3PLs holding US-origin inventory. Expect brands to ask about bonded options, about shifting replenishment timing, and about whether the inventory should be on your side of the border at all.
- Anyone with freight on the water or road right now. Goods in transit on September 8 are exempt, so shipment timing paperwork is suddenly worth real money. Tell your customers' brokers before they ask.
- US 3PLs fulfilling for Canadian brands, who now have their own mirror-image version of this problem going south.
My advice hasn't changed since Issue 2: the winners of this era are the 3PLs that treat customs competence as a product, and cross-border pain has been the best lead generator on our platform all year.
Part 4: Canada Post Watch
An actual good news edition. Q2 pre-tax loss came in at $277 million, which sounds grim until you see it's a $130 million improvement year over year, with parcel volumes up 15.6% and parcel revenue up 20.7% now that the CUPW agreement is ratified through January 2029 (Parcel and Postal Technology International). Costs fell 6.3%. And they're launching weekend parcel delivery in Toronto, Montreal, and Ottawa later this year.
I gave their labour deal an incomplete grade in Issue 3 and said certainty was the whole ballgame. Early returns say the customers who left during the strike years are at least answering the phone again. Weekend delivery is the first proper offensive move they've made in years, and if you're a Canadian 3PL quoting against Purolator and UPS on residential, it's worth re-running your rate cards before peak.
Part 5: People and Quick Hits
- Packiyo changed CEOs and downsized. Founder Tommy Bjørbæk is back in the CEO seat as of September 1, with interim CEO Prem Chand stepping down after a rebrand-and-rebuild stretch (both announced it on LinkedIn). The challenger WMS squeeze described in Part 2, made flesh. Money got expensive, the incumbent just got a $120M parent, and the mid-market only supports so many platforms.
- ShipHero hired Candi Booth from ShipStation/Auctane as Senior Vice President of Carriers (announced on ShipHero's LinkedIn). Booth spent two decades at the commercial heart of parcel software, most recently at the biggest shipping software brand in e-commerce. You don't make that hire to maintain course; you make it to go take share on shipping. Between this and the Descartes deals, WMS/shipping software is where the aggressive moves are happening right now.
- Descartes also bought Tai (TMS, $100 million) the week before Extensiv, for the full "wait, they bought WHAT now" effect.
Ryan's Wrap-up
The thread connecting all of it: the posted price of everything in this industry is stable and public, and the real money moves in the gaps. The spread inside an RFP. The rent difference the market won't price. The renewal after the acquisition. The origin paperwork that decides whether a border costs 0% or 50%. My advice this issue is the same in every section: know exactly where you sit before the other side of the table tells you.
The full interactive report (charts, heat maps, the lot) is here: the 3PL Pricing Report. If you're a 3PL and you want into the RFPs this data comes from, join 3PL Hub. Commission-free, no horse in the race, same as always.
Sources: CBRE Canada Industrial Figures Q1 2026 and WareCRE GTA report (Canadian asking rents), Workforce.com (2026 provincial minimum wages), FreightWaves (Descartes/Extensiv, Sept 1, 2026; Descartes/Tai), Canada Department of Finance and GHY Trade Compliance (counter-tariff list and Sept 8 effective date), Parcel and Postal Technology International (Canada Post Q2 2026 results), Paylocity (2026 state minimum wages), WarehousingCosts.com (2026 industrial asking rents). Pricing data: 3PL Hub RFP archive, 306 RFPs run 2023-2026 through one standardized pricing model, 2,100 quotes, anonymized.

Leave Comment Below