I run 3PL RFPs for a living. This report draws on an archive of 308 RFPs from 2023 to 2026, with 306 RFPs and 2,100 quote entries retained under the historical screening rules. Individual fee medians changed modestly between the two periods. But within an RFP, the highest modeled cost was a median 22% above the lowest across the 298 RFPs eligible for that comparison.
By Ryan Bennett · Updated October 23, 2026 · Methodology and corrections
Tariffs, strikes, rate wars and an M&A wave. Against that backdrop, the median fees in my RFP sample moved surprisingly little.
Comparing USD quotes from 2023–24 with those from 2025–26, the largest increase among 12 fee types was the B2C order fee, up 3.6%. Additional picks rose 2.9%, pallet storage 1.4%, and account management fell 4.4%.
These are different pools of brands and providers, not the same rate cards tracked over time. Read the changes as differences between sample medians. A particular 3PL or brand may have had a very different experience.
The useful question is what those individual fees add up to for the work a brand actually needs.
Median quoted rate, 2023–24 pool vs 2025–26 pool
Eligible positive USD fees · different pools of brands and providers · one retained provider/RFP entry · hover for fee-specific n
The archived wage benchmark rose 7.4%, from $23.43 to $25.17 an hour. Its exact series population and averaging window have not yet been independently revalidated, so treat that comparison as provisional. The fee results reproduce: median additional-pick fees rose 2.9%, B2C order fees 3.6%, and quoted warehouse labour fees 2.6% between the two sample windows.
That is a possible source of operating pressure. It does not tell us what happened to any provider’s profit margin: productivity, order mix, occupancy, staffing and other charges also matter.
For an operator, the practical check is whether revenue from the full customer account keeps pace with the cost of serving it. A national wage series and a few fee medians cannot answer that on their own.
What moved, 2023–24 pool → 2025–26 pool: the labour market vs the quoted rates
Orange = archived wage benchmarks (hourly earnings comparison provisional) · blue = reproduced median quoted fees · see methodology
I compared quotes within each RFP using the same simplified cost model. Across 298 RFPs with at least four eligible quotes, the highest modeled cost was a median 22% above the lowest. The middle half of those highest-to-lowest gaps ran from 16% to 27%.
In 48 of the 298 RFPs, or 16.1%, the highest modeled cost was at least 30% above the lowest. Ten had a highest quote more than twice the lowest, and the largest ratio was 2.92 to one.
Those numbers come from a standardized model of B2C order fees, additional picks, quoted shipping estimates, one insert per order and pallet storage where profile inputs were available. Profiles were assigned by order-volume and SKU similarity; some assignments are approximate, and 46 RFPs use a fallback 1.9 units per order.
Receiving, monthly account fees, minimums, setup, returns and B2B work are outside this model. The result shows why bids deserve a line-by-line comparison. It does not mean every brand can save 22%, or that the cheapest modeled bid is the right operational choice.
Highest vs lowest modeled cost within 298 RFPs with 4+ eligible quotes
Simplified cost per order · within-RFP, within-currency ratios · historical approximate profile matching · omitted charges could change the size or ranking of differences
Apply competing quotes to the same workload. Our free calculator compares monthly estimates, cost per order and first-year costs, with optional minimums, receiving, returns and setup fees.
I compared quoted pallet-storage fees by state with asking-rent benchmarks for a main logistics metro in each state. The metro rent benchmarks range from $5.25 to $16.50 per square foot a year, a little over three to one.
Among states with at least 10 eligible pallet-storage observations, the state-level median quoted storage fee ranges from $17.82 to $21.95 per pallet a month, about 1.2 to one.
That is a narrower spread in quoted fees than in the selected rent benchmarks. But a metro asking rent is not a provider’s lease cost, and a state-level quote sample is not a matched sample of facilities in that metro.
For an operator, this is a reason to examine storage economics using their own rent, racking, occupied pallet positions and utilization. It is not a measure of how much margin a particular market leaves on the table.
Labour-linked fees vs archived 2026 wage floors wages vary 2.3x
Eligible facility-level USD fee observations · separate n for each fee · repeat provider observations possible · grey = small sample
| State | Archived wage floor | Unit pick, median | B2C order fee, median |
|---|---|---|---|
| Connecticut | $16.94 | $0.55 | $1.40 |
| California | $16.90 | $0.34 | $1.37 |
| New Jersey | $15.92 | $0.41 | $1.58 |
| Illinois | $15.00 | $0.40 | $1.58 |
| Missouri | $15.00 | $0.34 | $1.44 |
| Nevada | $12.00 | $0.31 | $1.32 |
| Ohio | $11.00 | $0.35 | $1.35 |
| Texas | $7.25 | $0.38 | $1.53 |
| Indiana | $7.25 | $0.42 | $1.56 |
| Pennsylvania | $7.25 | $0.28 | $1.27 |
| Kentucky | $7.25 | $0.29 | $1.48 |
| Kansas | $7.25 | $0.34 | $1.83 |
| Georgia | $7.25* | $0.28 | $1.27 |
* Georgia: $7.25 federal floor for covered employers; state statutory rate $5.15. Limited exceptions apply. Georgia Department of Labor. Other figures retain the report’s January 2026 snapshot.
Pallet storage vs metro asking rent rents 3.1x, quotes 1.2x
Archived June 2026 metro asking-rent proxies, $/sq ft/yr NNN · n = eligible storage observations · grey = fewer than 10 · proxy sources not independently revalidated
| State · metro | Asking rent $/sf/yr | Pallet storage $/mo |
|---|---|---|
| California | $16.50 | $18.77 |
| New Jersey | $15.75 | $20.91 |
| Nevada | $10.00 | $18.38 |
| Pennsylvania | $8.25 | $17.82 |
| Illinois | $7.75 | $21.95 |
| Texas | $7.25 | $21.23 |
| Georgia | $6.90 | $18.13 |
| Ohio | $6.50 | $18.98 |
| Indiana | $5.60 | $18.45 |
| Kansas | $5.25 | $11.50 |
| Kentucky | $5.25 | $18.41 |
| Missouri | $5.25 | $18.75 |
The retained dataset includes 546 CAD quotes across 682 proposed facilities. Among the Canadian cities shown here, Calgary has a median quoted pallet-storage fee of C$38.18, compared with C$23.45 in Toronto, despite a lower asking-rent benchmark.
The GTA also varies: Vaughan and Brampton have medians of C$34.66 and C$32.62, while Toronto is C$23.45. These are observations in this archive, not estimates of every warehouse’s rates in those cities.
Representation matters. The Calgary comparison contains 10 eligible storage observations, and the archived provider-count inputs identify one represented provider there. Repeat observations are not the same as a broad sample of competing operators.
Competitive intensity may help explain these differences, alongside the service mix and the providers represented. This dataset does not isolate the cause. I would use the figures to frame questions for a shortlist, not to declare one city overpriced.
Pallet storage vs metro asking rent, by city CAD
Archived Q1–Q2 2026 net asking-rent proxies, attributed to CBRE / WareCRE · not independently revalidated · n is storage observations · repeat providers possible
| City | Asking rent C$/sf | Pallet storage C$/mo | Labour C$/hr |
|---|---|---|---|
| Delta | $19.51 | $36.19 | $47.00 |
| Richmond | $19.51 | $28.77 | $41.00 |
| Surrey | $19.51 | $37.50 | $48.00 |
| Markham | $17.00 | $31.60 | $44.00 |
| Vaughan | $17.00 | $34.66 | $48.00 |
| Brampton | $16.88 | $32.62 | $47.00 |
| Mississauga | $16.88 | $28.29 | $40.00 |
| Milton | $16.88 | $28.39 | $40.00 |
| Ottawa | $16.35 | $23.46 | $39.00 |
| Toronto | $16.32 | $23.45 | $39.00 |
| Winnipeg | $11.43 | $28.80 | $40.00 |
| Calgary | $11.21 | $38.18 | $48.00 |
Labour-linked fees vs the provincial wage floor CAD
Archived September 2026 wage-floor snapshot, attributed to Workforce.com; not current wage guidance. Ontario and Manitoba changes effective October 1 are outside this snapshot.
| Province | Archived wage floor | Labour /hr | B2C order fee | Unit pick |
|---|---|---|---|---|
| British Columbia | $18.25 | $44.00 | $2.12 | $0.29 |
| Ontario | $17.60 | $40.00 | $2.12 | $0.28 |
| Manitoba | $16.00 | $40.00 | $1.70 | $0.24 |
| Alberta | $15.00 | $48.00 | $2.39 | $0.33 |
I also compared a storage-price/rent index with the number of distinct providers represented in each state’s RFPs. The index divides a year of quoted pallet storage by a metro asking-rent benchmark per square foot.
Across the ten included states, the relationship is negative: r = −0.69. States with more providers represented in my archive tend to have a lower index.
This is an exploratory comparison. The provider count reflects my sourcing network, not every competitor in a market. The index is not a markup or profit margin: it does not account for space per pallet, rack levels, aisle space, occupancy or operating costs.
My working hypothesis is that competitive intensity plays a role. Testing that explanation would require broader provider coverage and facility-level cost data.
Storage-price/rent index vs represented provider count, ten US states r = -0.69
Index = annual quoted pallet storage ÷ metro rent per sq ft (units: sq ft/pallet) · providers represented in this archive, not the whole market · 10+ eligible storage observations · not a profit measure
Here are the median and middle-50% ranges for eligible positive USD rates quoted in 2025–26. Each fee has its own sample size; not every proposal quotes every charge.
For pallet storage, the middle half is $17.69–$21.49 per pallet a month, with a $19.32 median. For additional picks, it is $0.28–$0.44 per unit, with a $0.35 median.
Use these figures to ask better questions about a proposal. A rate outside the band may reflect different handling, volume, service requirements or another charge included in that fee. Compare definitions and the full account economics before deciding a price is high or low.
What 3PLs quoted in 2025–26, USD
Eligible positive numeric USD fees · band = 25th–75th percentile · dot = median · n differs by fee · hover for exact figures
| Fee | 2023-24 | 2025-26 | Change | n (old/new) | Unit |
|---|---|---|---|---|---|
| Receiving, per carton | $1.62 | $1.67 | +3.1% | 291 / 1173 | /carton |
| B2B order fee | $3.92 | $3.98 | +1.5% | 287 / 1159 | /order |
| Storage, per pallet | $19.06 | $19.32 | +1% | 309 / 1182 | /pallet/mo |
| Warehouse labour | $39.00 | $40.00 | +3% | 283 / 1167 | /hour |
| B2C order fee | $1.40 | $1.45 | +3.6% | 320 / 1211 | /order |
| Insert fee | $0.13 | $0.13 | +0.0% | 294 / 1178 | /insert |
| Receiving, per pallet | $9.13 | $9.34 | +2.3% | 300 / 1171 | /pallet |
| Returns processing | $1.60 | $1.61 | +0.6% | 295 / 1181 | /return |
| Additional unit pick | $0.34 | $0.35 | +2.9% | 321 / 1208 | /unit |
| Shipping, per B2C shipment | $6.40 | $6.56 | +2.5% | 316 / 1218 | /shipment |
| Storage, per bin | $2.41 | $2.43 | +1% | 281 / 1163 | /bin/mo |
| Account management | $834 | $797 | -4% | 286 / 1168 | /month |
| Fee | p25 | Median | p75 | n | Unit |
|---|---|---|---|---|---|
| Storage, per pallet | $17.69 | $19.32 | $21.49 | 1182 | per pallet / month |
| Receiving, per pallet | $8.49 | $9.34 | $10.04 | 1171 | per pallet |
| B2C order fee (1st pick incl.) | $1.26 | $1.45 | $1.68 | 1211 | per order |
| Additional unit pick | $0.28 | $0.35 | $0.44 | 1208 | per unit |
| Returns processing | $1.32 | $1.61 | $1.79 | 1181 | per return |
| B2B order fee | $3.50 | $3.98 | $4.46 | 1159 | per order |
| Receiving, per carton | $1.45 | $1.67 | $1.87 | 1173 | per carton |
| Insert fee | $0.12 | $0.13 | $0.14 | 1178 | per insert |
| Warehouse labour | $38.00 | $40.00 | $42.00 | 1167 | per hour |
| Account management | $672 | $797 | $962 | 1168 | per month |
| Ratio band | RFPs | Share |
|---|---|---|
| 1.00–<1.10x | 19 | 6.4% |
| 1.10–<1.20x | 107 | 35.9% |
| 1.20–<1.30x | 124 | 41.6% |
| 1.30–<1.40x | 22 | 7.4% |
| 1.40–<1.50x | 9 | 3.0% |
| 1.50–<1.75x | 6 | 2.0% |
| 1.75–<2.00x | 1 | 0.3% |
| 2.00x+ | 10 | 3.4% |
For 3PLs
This data comes from real RFPs run on 3PL Hub. List your warehouse, get matched to RFPs in your service area, and keep 100% of every deal. No commission.
List Your 3PL →For Brands
Use these sample benchmarks to compare proposals. Get matched with the right 3PL for your volume, category, and service area. Commission-free.
Get Matched →Scope. This version retains 306 RFPs from 2023–26: 227 US and 79 Canadian, with 2,100 quote entries. Counts follow the historical exclusions for RFPs 220 and 241; those exclusions have been reproduced, not independently reconfirmed against every original proposal. Approximately 24,300 fee cells are populated, including a few text or range entries excluded from numeric medians.
Fee medians. Era comparisons and the rate card use USD entries with positive numeric values within field-specific screening limits. Zeros, text and unquoted values are excluded. Samples differ by fee. The two eras contain different brands and providers. The historical provider rule removes a trailing numbered suffix and retains the last entry per provider/RFP. Historical screening caps are $100 receiving/pallet, $25 B2C order, $25 returns, $15 receiving/carton and $60 shipping. The reproduction retains the archived manual corrections to five fee cells; the original proposals have not all been independently checked. A zero may represent a genuinely free service; this study does not resolve that distinction.
Bid-spread model. The historical model uses the B2C order fee, additional picks at the assigned units per order, a quoted shipping estimate, one insert per order, and pallet storage where profile inputs are available. Profiles are matched by order-volume and SKU similarity rather than a shared RFP identifier. Some matches are approximate; 46 modeled RFPs use a fallback 1.9 units per order. Each RFP needs at least four eligible quotes. Highest/lowest ratios are compared within the RFP and currency; threshold counts use unrounded ratios. Only eight RFPs have a unique exact numeric profile match; exact numeric similarity does not verify identity. Stable profile identifiers are needed for a fully linked recalculation. The 22% result is a reproduction of the historical model, not an independently verified all-in invoice comparison.
Excluded charges. Receiving, monthly account management, minimums, setup, returns and B2B work are not included in the historical spread model. Missing optional inputs do not necessarily mean a charge is free. Excluded charges could change the size or ranking of bid differences.
Geography. Medians use proposed-facility fee observations and may include repeat observations from a provider. Sample sizes refer to eligible observations for the stated fee, not independent operators. Calgary’s 10 storage observations represent one provider in the archived provider-count inputs. Rent proxies do not measure each facility’s lease cost. The price/rent index has units of square feet per pallet and does not measure profit or markup. Its correlation uses ten rounded state-level observations and does not establish causation.
Archived external benchmarks. US wage floors retain the January 2026 snapshot attributed to Paylocity, with Georgia corrected to the federal $7.25 floor for covered employers. US rents retain the June 2026 metro asking-rent proxies attributed to WarehousingCosts.com ($/sq ft/year NNN). Canadian rents retain Q1–Q2 2026 net asking-rent proxies attributed to CBRE and WareCRE (C$/sq ft/year); provincial wages retain the September 2026 snapshot attributed to Workforce.com. These external extractions have not been independently revalidated and should not be treated as current operating costs or wage guidance.
Provisional hourly-earnings comparison. The archived calculation attributes $23.43 → $25.17 (+7.4%) to BLS CES series CES4349300008 for Warehousing and Storage, using 2023–24 and 2025–26 windows through July 2026. The exact employee population, monthly coverage and averaging have not yet been independently verified. The figure is retained as a provisional archived benchmark, with no claim that it establishes provider margins.
Corrections: October 23, 2026. Revised the framing to distinguish quoted fees from profit margins; disclosed approximate profile matching and omitted charges; corrected histogram bins using unrounded ratios (48/298 at or above 1.30); separated state fee sample sizes; corrected Georgia’s covered-employer wage floor; and qualified geographic and causal interpretations. The 22% median remains unchanged at published precision. Brand and provider identities are not disclosed in this public report.
Benchmark references: BLS Current Employment Statistics · Georgia Department of Labor. Contact 3PL Hub for methodology questions.
Ryan Bennett, 3PL Hub. “What 2,100 3PL quotes reveal: 2025–26 3PL Pricing Report.” Updated October 23, 2026. www.3plhub.co/resources/reports/3pl-pricing-report. Scope: quoted fees from 3PL Hub’s RFP archive, with modeled bid comparisons under the assumptions above; not a census of the 3PL market.
Ryan Bennett · 3plhub.co · from Taking Inventory, the industry letter for 3PL operators and the people who sell to them
Free for brands. No commissions. Your details go only to the 3PLs you match with.
Get matched to 3PLs
The commission-free 3PL directory and matchmaking platform. 5,000+ 3PLs, 200+ verified members, and 3PLs never pay us to be recommended.
3PL, fulfillment, M&A, eCommerce and trade, written by a human. Read by 3,000+ operators and the logistics ecosystem.
Subscribe to Taking Inventory Free. Every two weeks. Unsubscribe any time.