EOQ Formula for Ecommerce: When It Works and When It Doesn't

What Is EOQ?
Economic Order Quantity (EOQ) is the mathematically optimal number of units to order each time you replenish a product: the quantity that minimizes the combined total of your ordering costs and your holding costs over a given period. It is one of the oldest and most widely taught formulas in inventory management, first published by Ford W. Harris in 1913, and it remains a useful starting point for purchase order sizing more than a century later.
The core insight behind EOQ is that ordering costs and holding costs pull in opposite directions. If you order very frequently in small batches, your holding costs stay low but your ordering costs pile up. If you order rarely in massive batches, your ordering costs are low but you pay heavily to store and finance all that stock. EOQ finds the sweet spot where the sum of both cost categories hits its minimum.
The EOQ formula is:
EOQ = √(2DS / H)
Each variable represents a specific input:
- D (Annual Demand), The total number of units you expect to sell in a year. This is not revenue, it is unit volume. If you sell 1,000 units per month, D = 12,000.
- S (Ordering Cost per Order): The fixed cost incurred every time you place a purchase order, regardless of the quantity ordered. This includes supplier setup fees, shipping and freight charges, receiving and inspection labor, purchase order processing time, and any customs or brokerage fees for imported goods. It does not include the per-unit product cost.
- H (Holding Cost per Unit per Year): The annual cost of holding one unit in inventory. This includes warehouse storage rent allocated per unit, insurance and shrinkage, depreciation or obsolescence risk, and the opportunity cost of the capital tied up in that inventory. A common rule of thumb is that holding cost runs 20% to 30% of a product's unit cost per year, but you should calculate yours from actual data.
With those three inputs defined, let us work through a real example.
Step-by-Step EOQ Calculation
Suppose you sell protective phone cases through your Shopify store and on Amazon. Here are the numbers for your best-selling SKU:
- Annual demand (D): 12,000 units (averaging 1,000 per month across both channels)
- Ordering cost (S): $25 per order (includes $15 freight per shipment, $5 receiving labor, $5 PO processing time)
- Holding cost (H): $3 per unit per year (the case costs $10 wholesale, and your total carrying cost is 30% of unit cost, so $10 × 0.30 = $3)
Plugging these into the formula:
EOQ = √(2 × D × S / H) EOQ = √(2 × 12,000 × 25 / 3) EOQ = √(600,000 / 3) EOQ = √200,000 EOQ = 447 units
This means your cost-minimizing order quantity is 447 units per purchase order.
What Does This Mean in Practice?
With annual demand of 12,000 units and an order size of 447 units, you would place approximately:
Number of orders per year = D / EOQ
= 12,000 / 447
= 26.8 → approximately 27 orders per year
That works out to roughly one purchase order every two weeks. Your total annual inventory cost at EOQ breaks down like this:
Annual ordering cost = (D / EOQ) × S = (12,000 / 447) × $25 = $671 Annual holding cost = (EOQ / 2) × H = (447 / 2) × $3 = $671 Total inventory cost = $671 + $671 = $1,342
Notice that at EOQ, ordering cost and holding cost are exactly equal. This is not a coincidence: it is a mathematical property of the formula. The EOQ always lands at the point where these two costs balance. If you ordered 200 units at a time instead, your ordering costs would jump to $1,500 per year while your holding costs would drop to $300, giving a total of $1,800: $458 more per year than ordering at EOQ. If you ordered 1,000 units at a time, holding costs would balloon to $1,500 while ordering costs would shrink to $300, again totaling $1,800.
The EOQ sweet spot saves real money. For a single SKU the savings may look modest, but multiply this across a catalog of 200 or 500 SKUs and the aggregate impact on working capital and warehouse costs becomes substantial.
When EOQ Works Well
The EOQ formula is not always the wrong tool, there are genuine scenarios where it delivers reliable, useful guidance. Knowing when to trust it is just as important as knowing when to question it.
Stable, Predictable Demand
EOQ performs best when a product sells at a fairly consistent rate throughout the year. Think everyday essentials, commodity consumables, or mature products in stable categories. If your phone case sells between 900 and 1,100 units per month with no major spikes or troughs, the annual demand figure you plug into EOQ is a trustworthy representation of reality. The formula's constant-demand assumption holds, and the output is meaningful.
Consistent Ordering Costs
If your supplier's shipping rates, setup fees, and your receiving labor costs stay relatively flat from order to order, the fixed S variable is accurate. This is common when you work with a single domestic supplier on standard freight terms, the cost of placing an order genuinely does not change whether you order 200 units or 500 units.
Single Warehouse, Single Channel
The simplest and most reliable EOQ application is a business with one warehouse and one sales channel. Demand flows from a single source, inventory lives in one location, and there is no complexity around channel allocation or split fulfillment. A DTC brand selling exclusively through its own Shopify store and shipping from one 3PL is the textbook use case.
Standard Products Without Expiration
Products that do not deteriorate, expire, or become obsolete have a holding cost that stays constant over time. A stainless steel water bottle sitting in your warehouse for six months costs the same to hold as one sitting there for two months, there is no escalating risk of spoilage or markdown. EOQ's assumption of a fixed H per unit per year is accurate for these items.
Known, Fixed Holding Costs
When your warehouse lease is a fixed monthly rate, your insurance premiums are predictable, and your capital cost is stable, the H variable in the formula reflects your actual costs. This breaks down when you are on variable storage pricing (like Amazon FBA's aged inventory surcharges) or when your warehouse utilization fluctuates dramatically, changing your effective per-unit storage cost from month to month.
When EOQ Breaks for Ecommerce
Here is where intellectual honesty matters. Many inventory guides present EOQ as a universal solution. It is not. The formula rests on assumptions that modern multi-channel ecommerce routinely violates. Here are the five most common scenarios where EOQ either misleads you or fails outright.
1. Seasonal Demand Spikes
EOQ uses a single annual demand figure, D, and implicitly assumes that demand is spread evenly across the year. For products with significant seasonality, holiday gifts, outdoor gear, back-to-school supplies, anything affected by Black Friday and Cyber Monday, this assumption is dangerously wrong.
Consider a product that sells 500 units per month for ten months of the year but 3,500 units per month during November and December. The annual demand is 12,000 units, identical to our phone case example. But the EOQ of 447 units is meaningless when you need to bring in 7,000 units in a two-month window. Ordering 447 units at a time during your peak season means placing 15 or 16 orders in two months, your ordering costs go through the roof and you risk running out between deliveries.
The fix is not to force EOQ onto seasonal products. Instead, use period-specific demand rates. Calculate separate order quantities for your peak and off-peak periods using the demand rate relevant to each window. Or better yet, use a demand forecasting model that accounts for seasonality directly and generates time-phased purchase plans rather than a single static quantity.
2. Multi-Channel Demand Variability
If you sell on Amazon, Shopify, Walmart, and eBay, your aggregate annual demand might be stable, but the channel-level demand is anything but. Amazon might contribute 60% of your volume with high consistency, while your TikTok Shop sales are volatile and unpredictable, surging when a creator posts a review and going quiet the next week.
EOQ calculated on aggregate demand does not account for the fact that a stockout on Amazon (where it costs you the Buy Box and organic ranking) is far more expensive than a stockout on a low-volume channel. Nor does it account for the different inventory allocation requirements per channel. FBA requires inventory to be pre-positioned in Amazon's warehouses with different lead times than your own 3PL.
Using one EOQ across all channels gives you the right total quantity but allocates it blindly. The result: your fastest channel stocks out while units sit idle in a location that serves a slower channel.
3. Supplier Minimum Order Quantities (MOQs)
Your EOQ says to order 447 units. Your supplier's minimum order quantity is 1,000 units. The formula is immediately overridden by a real-world constraint that it was never designed to account for.
This is extremely common with overseas manufacturers, where MOQs of 500 to 5,000 units are standard. The supplier's MOQ is a hard floor. If your EOQ falls below it, you have two choices: order the MOQ and accept higher holding costs, or find a different supplier with lower minimums and likely higher per-unit costs. Neither option is captured by the EOQ formula.
In practice, many ecommerce brands end up ordering at the MOQ and then adjusting their reorder frequency to compensate. If the MOQ is 1,000 units and your annual demand is 12,000, you order 12 times per year instead of 27, and your actual total cost will differ from what EOQ predicted.
4. Products with Expiration Dates
The EOQ formula assumes a constant holding cost H. For perishable products, food, supplements, cosmetics with shelf life dates, or even trend-sensitive fashion, the holding cost is not constant. It increases sharply as the product approaches its expiration or relevance date.
A supplement with a 24-month shelf life costs $3 per unit per year to hold when it is fresh. But once it crosses the 18-month mark and enters the last quarter of its shelf life, the effective holding cost skyrockets because you now face the risk of having to discount it heavily, donate it, or destroy it. A $3 holding cost might effectively become $8 or $10 when you factor in expected markdown losses.
EOQ with a flat H does not capture this escalation. It will tell you to order a quantity that, given your realistic sell-through rate, results in some units aging past the point of full-price salability. For perishable products, you need a shelf-life-adjusted ordering model that constrains maximum order quantity to what you can sell through before the markdown threshold, not just what minimizes theoretical ordering-plus-holding costs.
5. Bundle and Kit Components
If you sell a "starter kit" that includes three different products bundled together, the demand for each component is not independent: it is driven by the bundle's sales, which in turn are driven by marketing campaigns, promotions, and cross-sell placement. This is called dependent demand, and EOQ is designed for independent demand only.
Component A might sell 2,000 units standalone and another 3,000 units as part of three different bundles. Calculating EOQ on the standalone demand of 2,000 massively underestimates the true replenishment need. Calculating it on the combined 5,000 units is closer, but the demand timing is lumpy, bundle promotions create spikes that the constant-demand assumption cannot handle.
For products with significant bundle or kit exposure, Material Requirements Planning (MRP) logic, which explodes a bill of materials and calculates component demand from finished-good forecasts, is a more appropriate tool than EOQ. At minimum, you need to aggregate standalone and bundle-derived demand before applying any order quantity formula.
Modified EOQ for Multi-Channel Sellers
If your business does not fit the single-channel, single-warehouse, stable-demand profile, you do not have to abandon EOQ entirely. You can modify the inputs to better reflect your reality.
Use Channel-Weighted Demand
Instead of a single D, calculate demand as a weighted composite that reflects the velocity and variability of each channel. If Amazon sells 700 units per month with a coefficient of variation of 0.15 and your DTC site sells 300 units per month with a coefficient of variation of 0.35, the blended demand profile looks very different from a flat 1,000 units per month.
Weight your D toward the channels where stockout cost is highest. If losing the Amazon Buy Box costs you $5,000 in lost revenue per stockout event while a DTC stockout costs $500, your effective demand input should skew toward ensuring Amazon coverage. This is a judgment call, not a formula, but it produces a more useful EOQ than raw aggregate demand.
Add a Safety Stock Overlay
Classic EOQ does not include safety stock, it calculates the order quantity that minimizes cost under average conditions. In practice, you should pair EOQ with a safety stock calculation and ensure that your total inventory position (cycle stock from EOQ plus safety stock) provides adequate coverage.
The combined framework works like this: your reorder point triggers a purchase order when inventory drops to a threshold that accounts for lead time demand plus safety stock. The purchase order quantity is your EOQ (or modified EOQ). Together, the reorder point answers "when to order" and the EOQ answers "how much to order." Neither works well in isolation.
Use Dynamic H Based on Actual Warehouse Utilization
If your holding cost fluctuates, perhaps because you are on a variable storage plan, or because your warehouse utilization swings between 50% and 95% across the year, use a dynamic H instead of a fixed annual average. Recalculate EOQ quarterly or even monthly with the holding cost that reflects your current warehouse conditions.
When the warehouse is nearly full, H is high (each additional unit is expensive to store), so EOQ should be smaller: order more frequently in smaller batches. When utilization is low, H is lower, and you can afford to order in larger batches to reduce ordering frequency. This kind of rolling EOQ recalculation is simple to automate and significantly more accurate than a static annual figure.
EOQ vs Reorder Point: What Is the Difference?
EOQ and reorder point are frequently confused because they both involve inventory math and purchase orders. But they answer fundamentally different questions and are used at different moments in the replenishment cycle.
| Dimension | EOQ (Economic Order Quantity) | Reorder Point (ROP) |
|---|---|---|
| Question answered | How much should I order? | When should I order? |
| Output | A quantity (units per order) | An inventory level (units on hand) |
| Formula | EOQ = √(2DS / H) | ROP = (Avg Daily Demand × Lead Time) + Safety Stock |
| Key inputs | Annual demand, ordering cost, holding cost | Daily demand, lead time, safety stock |
| Optimizes for | Minimizing total ordering + holding cost | Preventing stockouts during lead time |
| Accounts for lead time? | No | Yes: it is a core input |
| Accounts for safety stock? | No | Yes: it is added to the base calculation |
| Used alone? | Insufficient, does not tell you when to order | Insufficient, does not tell you how much to order |
The critical takeaway: you need both EOQ and a reorder point working together. Your inventory system monitors stock levels in real time. When stock drops to the reorder point, it triggers a purchase order. The purchase order quantity is set to the EOQ (or a modified version of it). Without the reorder point, you do not know when to act. Without the EOQ, you do not know how much to buy when you do act.
For a detailed walkthrough of the reorder point formula with worked examples, see our reorder point calculator guide. For the safety stock component that feeds into both calculations, see our safety stock formula guide.
Should You Use EOQ?
After walking through the formula, a real example, and five failure modes, you might wonder whether EOQ is worth using at all. The answer depends on where your business sits along a spectrum of operational complexity.
Use EOQ If:
- Your demand is relatively stable. If your top SKUs sell within a 20% band of their monthly average throughout the year, the constant-demand assumption is close enough to be useful.
- You operate a single warehouse or simple fulfillment setup. One 3PL, one set of storage costs, one receiving process. The fewer variables, the more reliable the formula.
- Your products do not expire or go out of style quickly. Holding cost remains constant, so H is a trustworthy input.
- You want a quick, defensible starting point for purchase order sizing. Even if EOQ is not perfect, it is dramatically better than gut-feel ordering or ordering round numbers because they feel right. Running EOQ and then adjusting for known constraints (like MOQs) gives you a rational baseline.
- You are early-stage and do not yet have the data or systems for more sophisticated methods. EOQ requires only three inputs. More advanced demand planning requires months of granular historical data. Start with EOQ, then graduate to better models as your data matures.
Skip EOQ If:
- Your sales are highly seasonal. If more than 40% of your annual volume concentrates in two months or less, a single annual demand figure misrepresents your reality. Use period-specific order planning instead.
- You sell perishable or trend-sensitive products. When holding cost escalates as product ages, EOQ's fixed H produces an order quantity that guarantees some units expire or get marked down. Use shelf-life-constrained ordering models.
- Your suppliers dictate MOQs that are significantly larger than what EOQ would recommend. If the MOQ is 2x or 3x your calculated EOQ, the formula's output is academic, you are ordering at the MOQ regardless, and your planning should focus on managing the excess inventory that results.
Modify EOQ If:
- You sell across multiple channels with different demand profiles. Use channel-weighted demand inputs and pair EOQ with a safety stock overlay sized for multi-channel variability.
- Your warehouse costs fluctuate. Recalculate EOQ quarterly with current holding cost data rather than using a stale annual estimate.
- You have a mix of stable and volatile SKUs. Apply EOQ to your stable A-list and B-list SKUs and use more dynamic ordering logic for your volatile or long-tail catalog.
The Bigger Picture
EOQ is one tool in a broader inventory optimization toolkit. It works best when paired with a properly calculated reorder point, an appropriate safety stock buffer, and regular review of your inventory turnover benchmarks. No single formula solves inventory management. The brands that consistently maintain high fill rates without drowning in excess stock are the ones that understand which tools to use, when, and, just as importantly, when to set them aside in favor of something better suited to the situation.
If you are managing hundreds of SKUs across multiple channels and finding that spreadsheet-based EOQ calculations are not keeping pace with your business, it may be time to look at demand-driven replenishment models that account for the full complexity of multi-channel ecommerce. EOQ got you started. Knowing its limits is what gets you to the next level.
Frequently Asked Questions
The Economic Order Quantity formula is EOQ = the square root of (2DS / H), where D is annual demand in units, S is the fixed cost per order (including shipping, receiving, and administrative expenses), and H is the holding cost per unit per year (including storage, insurance, depreciation, and opportunity cost of capital). To calculate it, plug in your actual values for each variable and solve. For example, with annual demand of 12,000 units, an ordering cost of $25 per order, and a holding cost of $3 per unit per year, the EOQ is the square root of (2 times 12,000 times 25 divided by 3), which equals the square root of 200,000, or approximately 447 units per order.
EOQ assumes constant, predictable demand throughout the year, fixed ordering costs that do not change with quantity, fixed holding costs that remain stable, instantaneous delivery with no lead time variability, and a single product ordered independently. These assumptions rarely hold in ecommerce. Seasonal demand spikes like Black Friday invalidate the constant demand assumption. Supplier minimum order quantities may override the calculated EOQ. Products with expiration dates face escalating holding costs over time. Multi-channel sellers experience different demand velocities on each platform. And bundle or kit products create dependent demand that the formula cannot account for.
EOQ and reorder point answer two different inventory questions. EOQ answers how much to order, the optimal quantity per purchase order that minimizes the combined cost of ordering and holding inventory. Reorder point answers when to order, the inventory level at which you should trigger a new purchase order so stock arrives before you run out. The reorder point formula is ROP = (Average Daily Demand times Lead Time) plus Safety Stock. You need both working together: the reorder point tells you it is time to buy, and EOQ tells you how many units to put on the purchase order.
Standard EOQ can work for multi-channel products, but only if you modify the inputs. Instead of using a single annual demand figure, calculate a channel-weighted demand that accounts for different velocities on each platform. Add a safety stock overlay to the EOQ order quantity to absorb the higher demand variability that comes from aggregating multiple channels. And use a dynamic holding cost based on actual warehouse utilization rather than a theoretical per-unit rate. Without these adjustments, basic EOQ will underestimate order quantities for high-variability multi-channel SKUs and leave you vulnerable to stockouts on your fastest channels.
Related Articles
View all
Inventory Carrying Cost: How to Calculate It and 7 Ways to Reduce It
Inventory carrying cost silently drains 20-30% of your inventory value every year. Learn the exact formula, see a worked example on a $500K inventory, and discover 7 proven strategies to cut your holding costs without sacrificing product availability.

Marketplace Fee Comparison 2026: Amazon vs eBay vs Walmart vs Shopify
A data-driven marketplace fee comparison for 2026 covering Amazon, eBay, Walmart, Shopify, TikTok Shop, and Etsy. Includes referral fees, fulfillment costs, per-order breakdowns, and a worked example showing net margin on a $50 product across all six platforms.