EOQCalculator.com
Wilson EOQ, with the math
Scenario

EOQ ecommerce calculator: D2C on a 3PL

Direct answer

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

Worked example
D2C SKU, 9,600 units/year, 96 units per pallet
Inputs
Annual demand D9,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
Result
Optimal order quantity
710 units
Annual holding$3,108
Annual ordering$3,108
Annual total (ex. purchase)$6,216
Takeaway: Q* about 725 units (~7.5 pallets). Round up to 8 pallets (768 units) to avoid the part-pallet storage penalty most 3PLs charge.

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.