Anar Rustamli
Business & Entrepreneurship

Economic order quantity: calculate and check whole units

Calculate economic order quantity from annual demand, order cost and holding cost. Compare neighboring whole units and save a bounded, reproducible cost record.

Anar RustamliAnar Rustamli9 min read1,681 words
Optimal sifariş miqdarı: EOQ hesabı və tam say seçimi - Anar Rustamli

Economic order quantity balances annual ordering cost against cycle-stock holding cost under explicit assumptions. Finish this guide with a reproducible batch-size calculation, whole-unit neighbor checks and a record of the real purchasing constraints the model does not solve.

Updated: 29 October 2026

What does an economic order quantity calculation decide?

An economic order quantity calculation asks how many units to buy in a replenishment batch when the objective is to minimize a defined annual ordering-plus-holding cost. EOQ is the abbreviation. It does not determine the date to order, the safety buffer to hold or the amount of cash a purchase requires today.

Smaller batches reduce average cycle stock but require more orders. Larger batches reduce ordering frequency but increase average cycle stock. The calculation balances those two cost components. Product revenue and profit margin are not substitutes for either input. Keep the objective narrow enough that another person can reproduce the comparison.

This article delivers a theoretical quantity, neighboring whole-unit candidates and their annual comparison costs. It does not deliver an approved purchase order. The ABC inventory worksheet answers a different question about grouping annual consumption value. Prioritizing products is not the same as optimizing one product’s batch size.

Collect three inputs with compatible units

Use D for annual demand in units, S for a fixed cost per purchase order and H for annual holding cost per unit. Document the basis of each amount. An annual warehouse rent total is not automatically H, and a product purchase price is not the same thing as its annual holding cost.

For the main fictional exercise, set D to 1,200 units per year, S to 18 currency units per order and H to 3 currency units per item per year. These values are authored teaching inputs, not market quotations, an Anar client case or observed savings. The arithmetic has been executed, but no inventory application or live purchasing account has been used.

InputValueUnit
D1,200items/year
S18currency/order
H3currency/item/year

Bring all inputs to the same period and currency. If holding information is monthly, convert it explicitly before combining it with annual demand. Avoid putting the same expense into both S and H. Leave an unknown input unresolved rather than converting it into zero to obtain an attractive answer. The source record should show how each number was obtained.

Write the model assumptions before calculating

This simplified exercise assumes known constant demand, constant order cost and constant annual holding cost per unit. Each replenishment arrives in full at once. There are no stockouts, quantity discounts, capacity limits or budget constraints in the model. These are mathematical assumptions, not claims about a real supplier or business.

Average cycle stock is Q/2 because the assumed batch is depleted evenly from Q to zero. This is not a statement that a real warehouse follows that path every day. No safety stock is included here. If a constant buffer exists, distinguish it from cycle stock instead of describing Q/2 as the entire average inventory.

D divided by Q represents the long-run annual ordering rate used for costing. A fractional result is not an instruction to create a fraction of a purchase order. A finite calendar-year purchasing schedule needs opening stock, timing and end-of-year remainder rules. The model is a cost-rate comparison rather than that scheduling exercise.

A minimum order and pack-multiple constraint also changes the feasible choices. The unrestricted whole-unit candidates used below are insufficient if a supplier only sells complete cartons or requires a minimum batch. Confirm the feasible set before treating any calculated quantity as available.

Calculate the theoretical quantity and both costs

The theoretical EOQ is the square root of 2DS/H. With the main inputs, the expression inside the root is 2×1,200×18/3=14,400. Its square root is 120 units. Forgetting the root and entering 14,400 as the batch size would answer a very different question.

Q* = √(2 × D × S / H)
Annual ordering cost = D / Q × S
Annual cycle holding cost = Q / 2 × H
Comparison cost = D × S / Q + H × Q / 2

At Q=120, the annual ordering rate is ten. Ordering cost is therefore 10×18=180. Average cycle stock is 60 units and its annual holding cost is 60×3=180. The comparison total is 360 per year. This total excludes the annual merchandise purchase bill and is not the entire cost of operating the business.

Batch QOrderingHoldingAnnual total
6036090450
120180180360
24090360450

When unit purchase price remains constant across all quantities, annual demand times that price adds the same amount to every candidate and does not move this minimum. Quantity discounts invalidate that shortcut. Use the supplier total-cost comparison to investigate actual commercial inputs, without assuming that it has already solved the EOQ decision.

Compare neighboring whole units instead of trusting display rounding

Now change only S to 20. The theoretical quantity becomes the square root of 16,000, approximately 126.4911. For indivisible items, evaluate 126 and 127 in the original annual cost expression. At 126 the total is approximately 379.476190; at 127 it is approximately 379.476378. The lower comparison cost is at 126.

Both totals display as 379.48 when rounded to cents. That display is not proof of exact equality. Retain calculation precision, identify the modeled minimum and separately note that the cost difference is extremely small. Choosing 126 inside this exercise does not establish that a supplier will sell that quantity or that your premises can hold it.

For positive D, S and H, the cost function decreases up to the continuous minimum and increases afterward. That is why the two neighboring feasible whole units suffice when every positive integer is allowed. If the continuous result is already an integer, it is the candidate; checking its adjacent quantities can still be a useful arithmetic sanity test.

If the theoretical result is below one, do not evaluate zero. For example, D=1, S=0.10 and H=10 gives Q* approximately 0.1414. With positive integer batches, the feasible boundary is one unit, whose annual comparison cost is 5.10. Putting Q=0 into the cost formula would divide by zero rather than produce a valid cheap alternative.

Reject unsupported inputs and test sensitivity

Treat D=0 as a separate no-demand case. Do not apply the ordinary formula and create a zero-unit replenishment instruction. This exercise rejects negative demand, nonpositive S or H, missing values and nonnumeric inputs. A zero order cost or zero holding cost needs a different boundary analysis, not an unexplained standard EOQ result.

If H rises from 3 to 6 with the other main inputs unchanged, the theoretical quantity becomes the square root of 7,200, approximately 84.85. Higher holding cost moves this model toward smaller batches. That is an input-sensitivity check, not a forecast of real prices or proof that the business should immediately change purchasing behavior.

A whole-unit decision in that scenario still requires comparing 84 and 85. Keep the original scenario intact and create a new version so a colleague can see which input caused the result to move. Do not revise several inputs together and attribute the whole change to holding cost.

Cash timing, physical space, shelf life and supplier lead time remain outside this optimization. Record them in the business risk record and inspect payment dates in the cash-flow plan. A theoretical minimum across two cost components is not a general recommendation to buy the calculated batch.

Save a fifteen-minute calculation card

On Windows, open Notepad from Start, create a blank document and copy the card below. Enter the main fictional inputs D=1200 units/year, S=18 currency/order and H=3 currency/unit/year, with their source label. Mark assumptions confirmed, rejected or unknown. For arithmetic, open Calculator from Start and choose Scientific mode. Calculate 2×1200×18÷3 to obtain 14400, then use the square-root button to obtain 120. Calculate ordering and holding costs separately with the expressions above and record both in the card; Notepad does not calculate them. Preserve precision in other scenarios rather than rounding intermediate costs to cents. Fifteen minutes is a planning target, not a measured duration.

Item and source version: [...]
D, units/year: [...]
S, currency/order: [...]
H, currency/unit/year: [...]
Assumptions and missing evidence: [...]
Continuous Q*: [...]
Feasible whole-unit candidates: [...]
Ordering, holding and total for each: [...]
Theoretical choice and excluded constraints: [...]

Record Q=120, annual ordering 180, annual holding 180 and total 360 in the card. Choose File → Save As, select Documents and save eoq-card-V1.txt. Use another name if it exists; do not overwrite it. Close Notepad and reopen that saved file from Documents in File Explorer. Check D/S/H, their units, assumptions and 120/180/180/360. Use File → Save As to create a separate eoq-card-S20.txt, change only S to 20, and recalculate and record costs for 126 and 127 without changing V1. Save and reopen the second file too. Confirm that two displayed 379.48 amounts have not replaced the precise comparison. These steps are proposed reader actions, not claims of an observed save/reopen, Excel test or ERP integration. The artifact is not a live purchase instruction.

Frequently asked questions

Does EOQ tell me when to place an order?

No. This exercise calculates a theoretical batch quantity from annual demand and costs. Reorder timing is a separate decision.

Can I simply round a fractional EOQ?

When all positive integer quantities are feasible, compare the neighboring whole units in the original annual cost expression.

What if annual holding cost is zero?

This exercise rejects zero, negative or unknown H for ordinary EOQ calculation. Clarify the input or use a separately defined boundary model.

Is the example total of 360 the annual purchase bill?

No. It is the annual ordering-plus-cycle-holding comparison cost. The merchandise purchase amount is excluded.

Sources

Share
Anar Rustamli
Author
Anar Rustamli

I'm Anar Rustamli - a strategist, entrepreneur, and AI adoption leader working at the edge of growth, technology, and human thinking. Since 2016, my work has focused on helping businesses evolve in a rapidly changing digital landscape. I design growth systems, AI-powered workflows, and strategic frameworks that align performance with purpose. I believe real growth happens when strategy, data, and human insight work together - and my mission is to help businesses adopt AI in a way that strengthens both their results and their identity.

Start Conversation
Contact

Let's build the next system.

Start Conversation