EOQ ecommerce calculator: D2C on a 3PL
For a D2C brand on a 3PL, S is the per-pallet receiving fee plus PO admin, and H rolls per-pallet-per-month storage into the holding cost percent. ShipBob’s published schedule is around $35 to $65 per pallet received and $40 to $60 per pallet per month stored[1]; convert to per-unit by dividing by units-per-pallet for that SKU.
The worked example
| Annual demand D | 9,600 units |
| Order cost S (PO admin + receiving) | $230 / PO |
| Unit cost C | $25 |
| Carrying cost i (capital + storage + risk) | 35% |
| Holding H = i*C | $8.75 / unit / year |
| Annual holding | $3,108 |
| Annual ordering | $3,108 |
| Annual total (ex. purchase) | $6,216 |
Folding 3PL fees into the model
Storage fee per pallet per month, annualised, divided by units per pallet, gives a per-unit storage cost. Add to the capital cost (cost of money) and risk loaders to get i. For ShipBob-equivalent pricing, storage of $50/pallet/month on a 96-unit pallet is roughly $6.25/unit/year, or about 25 percent of a $25 unit cost - dominating most other components of i for low-cost SKUs.
Where 3PL tier pricing distorts the answer
Most 3PLs price storage in discrete bands (per-pallet, per-bin, per-cubic-foot). Wilson assumes continuous variation. The practical fix is to round Q* upward to the nearest full-pallet quantity and quantify the rounding penalty as a small Taylor approximation; the cost loss is usually well under 1 percent of total annual variable cost.