Minimize ordering plus holding costs with the Wilson formula, or use advanced mode with quantity price breaks and a carrying-cost percentage of unit value. All calculations run in your browser. Free tools hub · Inventory turnover · synthquery.com/tools.
Total units you expect to use or sell in a year (steady-rate assumption).
Fixed cost to place and receive one order (clerical, shipping setup, receiving).
Capital, storage, insurance, obsolescence—expressed per unit held for a year (average inventory ≈ Q/2 at EOQ).
Advanced: quantity discounts
All-units price tiers and holding as a % of unit cost (carrying rate).
About this tool
Economic Order Quantity, or EOQ, is the order size that minimizes the combined cost of placing purchase orders and carrying inventory over time. The classic Wilson EOQ formula—often taught in operations management and managerial accounting—balances two opposing forces: ordering more frequently drives up clerical, freight, and receiving effort, while ordering larger, rarer batches ties up cash and warehouse space in average stock. When demand, ordering cost per order, and holding cost per unit per year are stable and well understood, EOQ gives a clear, defensible starting point for replenishment policy before you layer on safety stock, lead times, and service-level targets.
SynthQuery’s EOQ Calculator runs entirely in your browser. Enter annual demand, ordering cost, and holding cost to recover optimal order quantity, implied orders per year, and the time between orders, along with an ordering-versus-holding cost breakdown and a sensitivity grid that nudges each input by plus or minus ten and twenty percent so you can see how fragile the recommendation is. An optional advanced mode models all-units quantity discounts with multiple price breakpoints and expresses holding cost as a percentage of unit value, a common finance shortcut when capital and obsolescence scale with purchase price. Export CSV or PDF when you need a snapshot for email, SOPs, or coursework. Pair this page with the broader free-tools catalog and inventory-focused utilities when you are building a fuller working-capital story.
Wilson formula in plain language
The standard EOQ expression is Q star equals the square root of two times annual demand D times ordering cost S per order, divided by annual holding cost H per unit. Demand is expressed in units consistent with how you count SKUs. Ordering cost should capture the incremental cost of cutting one extra purchase order—supervisor time, system touches, inbound freight allocations, dock labor for a receipt—not the supplier’s invoice total. Holding cost should include the cost of capital on average inventory, storage, insurance, spoilage or obsolescence risk, and any handling taxes tied to carrying stock. When those three inputs are positive and reasonably stationary, the formula returns the quantity where the marginal ordering-cost savings from ordering a bit more equal the marginal holding-cost increase from keeping a bit more on hand.
Who relies on EOQ
Procurement analysts, inventory planners, warehouse supervisors, small-business owners, and manufacturing staff use EOQ as a first-pass batch size before MRP or ERP rules add constraints. Ecommerce operators balancing supplier MOQs against storage limits, distributors negotiating freight brackets, and educators teaching inventory theory all reach for the same core math. EOQ is not a substitute for a full supply-chain digital twin, but it is a transparent benchmark that aligns finance and operations on definitions of “order” and “hold” before software automations encode policy.
Why EOQ minimizes total relevant cost
Under the classical assumptions, annual ordering cost decreases as order quantity rises because you place fewer orders, while annual holding cost increases because average cycle stock is approximately half the order quantity. The sum is convex, so there is a unique minimum. At that point, annual ordering cost and annual holding cost match, which is a memorable sanity check when you present numbers to stakeholders. SynthQuery surfaces those components explicitly so you can verify the balance rather than trusting a black box.
What this tool does
The core engine implements the Wilson EOQ square root formula with strict validation: empty fields, non-numeric characters, and non-positive numbers surface clear errors instead of silent NaNs. Derived metrics include orders per year as demand divided by EOQ and approximate days between orders as three hundred sixty-five times EOQ divided by demand, which converts the abstract batch size into calendar language planners recognize.
Cost breakdown visualization
Horizontal bar meters compare annual ordering cost, annual holding cost, and their sum. Widths scale to the largest component so small differences remain visible on mobile. In advanced discount mode, annual purchase cost appears as its own bar because procurement spend dominates many SKUs; the gradient summary bar still represents ordering plus holding so you can compare the classic trade-off even when unit price changes with quantity.
Sensitivity analysis
Twelve rows explore plus and minus ten and twenty percent adjustments to demand, ordering cost, and holding cost one factor at a time while holding the others at your baseline. That pattern answers the most common stakeholder question—“how sensitive is the order size if sales or carrying assumptions move slightly?”—without requiring a full Monte Carlo stack. When advanced mode is active, sensitivity is hidden because price-tier discontinuities deserve scenario tables tailored to your contract, not a smooth derivative intuition.
Quantity discounts and exports
Advanced mode assumes all-units pricing: once you cross a breakpoint, the lower unit cost applies to every unit in the order. Holding cost scales with the carrying-rate percentage and the active unit price, which mirrors how finance teams tie warehousing and capital charges to inventory valuation. PDF export loads only when you request it, keeping the initial JavaScript bundle lighter; CSV export stays a plain download for spreadsheets. Both formats label the INV-003 identifier for internal documentation.
Technical details
Let D denote annual demand in units, S the fixed ordering cost per order, and H the cost to hold one unit in inventory for one year. The classical EOQ is Q star equals the square root of two D S over H. Annual ordering cost approximates D divided by Q times S; annual holding cost approximates Q divided by two times H because average inventory under the basic model is Q over two. Their sum is minimized at Q star, where the two components are equal. Cycle time in days is often reported as three hundred sixty-five times Q over D, equivalent to three hundred sixty-five divided by orders per year.
Assumptions and limitations
The closed-form solution assumes demand is known and steady, lead time is reliable, no quantity discounts in the basic mode, instantaneous replenishment, and no deliberate safety stock in the formula itself. Stockouts, shelf-life constraints, joint ordering of multiple SKUs, and capacity-limited suppliers all violate assumptions in practice. Treat EOQ as a baseline to refine, not a law of physics.
Relationship to reorder point
EOQ answers how much to order each cycle; reorder point answers when to trigger the order so expected demand during lead time plus safety stock does not exhaust on-hand inventory. Operational policies combine batch size logic with time-phased triggers. SynthQuery’s inventory turnover calculator helps contextualize how aggressively you are cycling stock once EOQ sets the batch.
Quantity discount modeling
When unit cost drops at breakpoints, total annual cost includes purchase spend plus ordering and holding. The tool evaluates economically sensible candidates per interval and at boundaries, then picks the minimum. This is still a static model: it does not optimize dynamic pricing, forward buys, or supplier constraints beyond the tiers you type.
Use cases
Procurement teams use EOQ to prep negotiation talking points before supplier quarterly business reviews: you can show how a proposed MOQ compares to the economic batch under your internal cost assumptions. Warehouse managers translate EOQ and cycle time into slotting and labor plans, especially when combining multiple SKUs with shared receiving windows. Small retailers without enterprise MRP still need disciplined reorder discipline; EOQ offers a documented batch size between gut feel and expensive software. Manufacturers purchasing raw materials with stable usage rates use EOQ as a baseline drumbeat before MRP nets out on-hand and on-order. Ecommerce brands balancing inbound container economics against third-party fulfillment storage fees can stress-test holding rates with the sensitivity grid.
Procurement optimization
Align EOQ outputs with supplier price ladders and freight tiers. When the economic quantity sits just below a discount cliff, the numbers quantify whether stepping up volume pays for itself after holding charges.
Warehouse management
Cycle time from EOQ helps schedule cycle counts, dock appointments, and temporary labor. If EOQ implies weekly receipts but your dock is saturated monthly, you have a capacity conversation backed by arithmetic.
Small business inventory
Owners wearing multiple hats can export a PDF for their accountant and keep CSV versions in a shared drive, building continuity even before adopting an ERP module.
Manufacturing raw materials
For bulk commodities with steady burn rates, EOQ complements bill-of-material explosions: each component SKU gets its own batch story before explosion logic merges timing.
E-commerce stock planning
Pair EOQ with marketplace fee and storage calculators on SynthQuery to see whether slower turns from larger buys erode margin after platform storage charges.
How SynthQuery compares
Enterprise ERP and advanced planning suites embed EOQ-like logic inside proprietary optimizers with multi-echelon inventory, constraint programming, and live demand signals. They are powerful—and costly to implement, license, and maintain. Spreadsheets offer flexibility but invite version drift and fragile cell references when new hires inherit files. SynthQuery’s page keeps the mathematics visible, validates inputs aggressively, and performs work locally so exploratory numbers stay on your device. It will not replace NetSuite, SAP, or a specialized APS tool, but it gives teams a shared, zero-login reference point before they commit assumptions to production master data.
Aspect
SynthQuery
Typical alternatives
Transparency
Shows inputs, EOQ, cycle metrics, and explicit ordering versus holding components.
ERP black boxes or spreadsheet templates with hidden assumptions.
Sensitivity
Built-in ±10% and ±20% grids per parameter for quick stress tests.
Manual data tables or ad hoc scenario copies.
Quantity discounts
Optional tiered pricing with carrying-rate-based holding.
Separate solver add-ins or consultant-built macros.
Privacy
Calculations and exports occur in the browser session.
Cloud calculators that round-trip data to vendor servers.
Scope
Single-item static EOQ plus educational copy—not multi-echelon optimization.
Full APS suites with network design and transportation integration.
How to use this tool effectively
Begin with annual demand in units. Use the same forecast horizon your finance team uses for working-capital reviews—often a rolling twelve months—and keep seasonality in mind; if demand is highly lumpy, treat EOQ as an average-rate approximation and complement it with peak-period coverage rules. Next enter ordering cost per order in dollars. Be honest about what increments when you add another PO: if freight is shared across lines, allocate a defensible share; if receiving is mostly fixed per truck, reflect the portion attributable to an incremental order. Then enter holding cost per unit per year. Some teams use a carrying-rate percentage times standard cost; others build a line-item sum. Consistency matters more than false precision—document your definition beside the export.
Click Calculate to populate EOQ, orders per year, and cycle time in days using a three-hundred-sixty-five-day year for readability. Read the cost breakdown bars to confirm ordering and holding are in the same ballpark at the optimum; large imbalances often signal mis-scoped inputs. Open the sensitivity table to see how EOQ moves when demand, ordering cost, or holding cost shifts in isolation—wide swings mean your policy should stay conversational with forecasting and treasury rather than etched in stone. Toggle Advanced when your supplier publishes explicit price breaks: enter a carrying rate as a percent of unit cost, then list each breakpoint with its unit price. The engine compares candidate quantities across tiers and recommends the total-cost minimum including purchase, ordering, and holding. Reset restores sample numbers; CSV and PDF capture the scenario you last calculated successfully.
Limitations and best practices
EOQ is a teaching and planning aid, not inventory gospel. Replace static demand with probabilistic forecasts when service level is contractual. Coordinate with treasury on the cost of capital embedded in holding cost; different subsidiaries may use different hurdle rates. Align ordering cost definitions with accounts payable and logistics so finance and operations sign the same footnotes. Revisit inputs after major demand shocks, supplier changes, or warehouse moves. This utility does not provide legal, tax, or investment advice; always corroborate decisions with your ERP, auditors, and supply-chain risk policies.
Compare inventory-led projects against other uses of capital.
Frequently asked questions
EOQ is the order quantity that minimizes the sum of annual ordering costs and annual inventory holding costs under a simplified set of assumptions. It answers “how much should we order each time we replenish?” before you add safety stock and lead-time variability. The Wilson formula expresses EOQ as the square root of two times annual demand times ordering cost per order, divided by holding cost per unit per year. SynthQuery computes that quantity, shows how many orders per year it implies, converts the batch into days between orders, and breaks out the two cost components so you can verify they balance at the optimum.
Classical EOQ assumes demand is known and occurs at a steady rate, ordering cost is fixed per order regardless of quantity, holding cost is linear in average inventory, replenishment is instantaneous or independent of a modeled lead time inside the formula, and there are no quantity discounts in the basic mode. Real supply chains violate at least one assumption: promotions spike demand, suppliers offer tiered prices, and docks cannot receive infinite trucks per day. Use EOQ as a structured baseline, then adjust with safety stock, min–max policies, or system-driven MRP suggestions. The advanced mode on this page relaxes the “no discounts” assumption by evaluating tiered unit costs with carrying-rate-based holding.
Ordering tiny batches too often inflates the annual cost of cutting purchase orders, expediting, and receiving. Ordering enormous batches too rarely suppresses ordering expense but balloons average on-hand inventory, which raises capital charges, storage, and risk of obsolescence. EOQ finds the middle ground where the marginal savings from increasing order size by one unit—fewer orders over the year—equals the marginal cost of holding that extra unit in average stock. When assumptions hold, you cannot improve the ordering-versus-holding trade-off without changing D, S, or H. Sensitivity rows on this page show how sensitive that balance is to mis-estimates.
Skip or heavily adapt EOQ when demand is extremely intermittent or project-based, when shelf life forces frequent small lots regardless of economics, when suppliers enforce rigid MOQs far from the economic quantity, when capacity or cash constraints cap purchase size, or when joint ordering across many SKUs dominates logistics. Perishable goods with hard expiry dates, style goods with single-season lifecycles, and engineer-to-order manufacturers often need different models. EOQ also ignores stockout costs explicitly; if service level is paramount, combine EOQ-style batch thinking with safety stock formulas or simulation.
JIT philosophies emphasize smaller batches, shorter cycles, and waste reduction, which often looks like lowering effective order quantities relative to a naive EOQ computed with high ordering costs. If setup times, supplier collaboration, or kitting improvements reduce S, the EOQ formula itself shrinks—JIT and EOQ are not automatically opposed when inputs reflect real process improvements. Conversely, if holding costs are very low on paper, EOQ might suggest large batches that contradict JIT cultural goals; leadership still needs to decide whether the financial model captures congestion, quality risk, and hidden storage. Use EOQ to quantify how much batch size should move when you genuinely reduce ordering friction.
Replace constant D with a representative average for a first-pass EOQ, then sanity-check peak months separately. Many planners compute EOQ per planning bucket or blend statistical forecasts with service-level targets. If seasonality is extreme, a single annual D obscures the risk of building inventory before a slump or stocking out before a spike. Combine this calculator’s sensitivity analysis with forecast error metrics from your demand-planning tool, and escalate to stochastic inventory models when the cost of stockouts or markdowns dominates the holding-versus-ordering trade-off.
A common approach multiplies unit cost by a carrying rate that blends weighted-average cost of capital, expected obsolescence or shrink, insurance, and storage variable costs. Finance may publish a corporate carrying percentage; multiply it by standard product cost to estimate H. Alternatively, sum explicit line items allocated per unit. Be consistent about whether H includes only variable storage or also imputed capital charges. If purchase price changes with quantity discounts, holding cost per unit often moves with the active unit cost—advanced mode encodes that link by applying your carrying percentage to each tier’s price.
Only with caution. Classical EOQ does not model spoilage curves, expiry dates, or consumer freshness expectations. If remaining shelf life forces turnover faster than the economic batch implies, operational constraints override the formula. You might artificially raise H to embed spoilage risk or cap Q at the maximum sensible batch for the product’s life. For short-dated items, start from required days of cover mandated by quality or regulation, then compare to EOQ as a secondary check rather than a primary policy.
EOQ sets the replenishment quantity when an order is placed; reorder point sets the inventory position that triggers that order so expected demand during lead time does not exhaust stock. Safety stock buffers demand and lead-time variability. A complete policy sounds like: when on-hand plus on-order minus backorders falls to reorder point, order EOQ units—or a practical rounded case pack. This page focuses on EOQ; pair it with inventory turnover analysis and your organization’s service-level methodology when you design triggers.
Visit the free tools hub for the full catalog. The inventory turnover calculator complements EOQ with COGS-based velocity metrics. The COGS calculator helps rebuild cost flows from financial statements. Amazon FBA fee and storage tools stress-test holding assumptions for marketplace sellers. Operating margin and ROI calculators connect inventory decisions to profitability narratives. For the complete product directory, open synthquery.com/tools.