Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- Shortage Cost Per Unit Per Year
-
Unit currency Default 15 Range At least 0
About this input
The cost of being one unit short for one year, used by the planned-backorder extension. Enter 0 to disable the extension entirely: the backorder quantity and maximum planned shortage then read zero by design rather than signalling an error.
- Ordering Cost Per Order
-
Unit currency Default 50 Range At least 0
About this input
The fixed cost of placing and receiving one order, in dollars, regardless of how many units it contains. Include purchasing effort, setup and inbound handling, not the price of the goods.
- Working Days Per Year
-
Unit days Default 250 Range 1 to 366
About this input
The number of operating days in a year, in days. It converts annual demand to a daily rate for the reorder point and cycle length.
- Unit Cost
-
Unit currency Default 12 Range At least 0
About this input
The purchase price of one unit, in dollars. It is used to value inventory and, when the holding cost is set as a rate, to derive the holding cost per unit.
- Lead Time
-
Unit days Default 14 Range At least 0
About this input
The time from placing an order to receiving it, in days. It sets the reorder point, the stock level at which the next order should be placed.
- Holding Cost Method
-
Default Percentage of unit cost Allowed Cost per unit per year, Percentage of unit cost
About this input
How the annual holding cost per unit is set: entered directly as a currency amount, or computed as a percentage of unit cost. It selects which of the two inputs below is read.
- Annual Demand
-
Unit units/yr Default 10000 Range At least 0
About this input
The quantity of the item consumed or sold over a year, in units per year. It drives the order quantity, so use a representative annual figure rather than a single month.
- Holding Rate Conditional
-
Unit % of unit cost Default 25 Range At least 0
About this input
The annual cost of holding stock as a percent of unit cost, covering capital, storage, insurance and obsolescence. Read only when the holding cost method is a rate.
- Holding Cost Per Unit Per Year Conditional
-
Unit currency Default 5 Range At least 0
About this input
The cost of keeping one unit in stock for a year, in dollars, entered directly. Read only when the holding cost method is the direct amount.
Outputs
- Orders Per Year
-
Unit orders
About this output
How many orders are placed in a year at the economic order quantity, in orders: annual demand divided by the order quantity.
- Penalty For Ordering 20 Above Optimum
-
Unit %
About this output
The extra ordering-plus-holding cost from ordering 20 percent more than the optimum, in percent. It shows how flat the cost curve is near the optimum, so a rounded order size costs little.
- Maximum Planned Shortage
-
Unit units
About this output
The largest deliberate shortage carried during a cycle when backorders are planned, in units, before replenishment arrives.
- Model Status
-
No unit declared
About this output
The overall check on your entries, shown above the results. It reads OK when the inputs are usable, NOT VALID with a reason when an entry makes the model meaningless, or CHECK with a reason when a result is valid but worth a second look. Read it before you trust the numbers below.
- Quantity With Planned Backorders
-
Unit units
About this output
The order quantity when shortages are allowed and backordered, in units, generally larger than the plain economic order quantity. Meaningful only when a shortage cost is entered.
- Total Annual Cost Excluding Purchase
-
Unit currency
About this output
The sum of annual ordering and holding cost, in dollars, without the cost of the goods themselves. This is the quantity the order size minimises.
- Total Annual Cost Including Purchase
-
Unit currency
About this output
The total annual cost including the purchase of the goods, in dollars: ordering plus holding plus annual demand times unit cost.
- Reorder Point
-
Unit units
About this output
The stock level at which a new order should be placed, in units, so that supply arrives as stock runs out: daily demand times lead time.
- Saving Against The First Tier
-
Unit currency
About this output
How much the best price-break quantity saves each year against ordering at the first-tier price, using the illustrative Data-sheet tiers. A positive figure here is a property of that table; it is not a warning about your inputs.
- Average Inventory
-
Unit units
About this output
The average number of units on hand across a cycle, in units. With no backorders it is half the order quantity.
- Best Order Quantity With Price Breaks
-
Unit units
About this output
The order quantity with the lowest total annual cost across the ILLUSTRATIVE five-tier price-break table on the Data sheet. Edit that table in the downloaded workbook to reflect your supplier's actual breaks; on this page it is a worked demonstration, not your tariff.
- Annual Holding Cost
-
Unit currency
About this output
The total cost of holding average inventory over a year, in dollars. At the economic order quantity it equals the annual ordering cost.
- Annual Ordering Cost
-
Unit currency
About this output
The total ordering cost over a year, in dollars: orders per year times the cost per order.
- Cycle Length
-
Unit days
About this output
The time between orders, in days: the working year divided by the number of orders per year.
- Its Total Annual Cost
-
Unit currency
About this output
The total annual cost including purchase, in dollars, at the best order quantity with price breaks. It uses the fixed illustrative price-break table built into the workbook, not prices you supplied.
- Its Unit Price
-
Unit currency
About this output
The unit price, in dollars, that applies at the best order quantity with price breaks. It comes from the fixed illustrative price-break table built into the workbook, not from a price you supplied.
- Economic Order Quantity
-
Unit units
About this output
The order quantity that minimises the sum of ordering and holding cost, in units. At this quantity annual ordering cost equals annual holding cost.
- Holding Cost In Use
-
Unit currency/unit/yr
About this output
The holding cost per unit per year actually used in the calculation, in dollars per unit per year, whether entered directly or derived from the rate and unit cost.
What it is
The Economic Order Quantity Calculator works out how much to order at a time so that the combined cost of placing orders and holding stock is as low as possible. It reports that quantity, the reorder point at which the next order should be placed, the annual ordering and holding costs, and how the answer changes when the supplier offers quantity price breaks.
The trade-off it resolves is a simple one. Ordering in large quantities means fewer orders and less ordering cost, but more stock sitting in the warehouse and more holding cost. The economic order quantity is the point where the two are equal, which is also where their sum is lowest.
It assumes demand is steady and known. Where demand is seasonal or volatile the quantity is indicative only, and safety stock is a separate calculation this tool does not perform.
Methodology
Purpose and model boundary
This model calculates the classical deterministic economic order quantity (EOQ), its ordering and holding costs, a lead-time reorder point, and two extensions: planned backorders and an illustrative quantity-price-break comparison. It supports an inventory replenishment decision for one item with stable annual demand. It does not forecast demand, optimize a multi-item or capacity-constrained system, or determine supplier prices.
The spreadsheet remains the calculation authority. The page sends the named inputs to the workbook and presents the returned values and status without recreating the equations in browser code.
Inputs and units
| Input | Meaning and unit |
|---|---|
Annual demand, D |
Units required per year. |
Ordering cost, S |
Currency per order. |
Unit cost, c |
Currency per unit. |
| Holding cost method | Selects a direct annual cost per unit or a percentage of unit cost. |
Direct holding cost, H_direct |
Currency per unit per year; used only for the direct-cost method. |
Holding rate, r |
Percent of unit cost per year; used only for the percentage method. |
Lead time, L |
Days from order placement to receipt. |
Working days, W |
Operating days per year, constrained to 1 through 366. |
Shortage cost, p |
Currency per unit per year for the planned-backorder extension. Zero disables that extension. |
Governing relationships
The holding cost used by the model is:
H = H_direct for the direct method, or H = c × r / 100 for the percentage method.
For positive D, S, and H, the plain EOQ is:
Q* = sqrt(2 × D × S / H)
At any order quantity Q, the workbook uses:
- orders per year:
D / Q; - annual ordering cost:
D × S / Q; - annual holding cost:
Q × H / 2; - annual cost excluding purchase:
D × S / Q + Q × H / 2; - annual cost including purchase: the preceding cost plus
D × c; - cycle length:
W / (D / Q)days; - reorder point:
(D / W) × Lunits; - average inventory:
Q / 2units.
At Q*, annual ordering cost and annual holding cost are equal. The workbook also reports the cost penalty at 1.2 × Q* by recalculating ordering plus holding cost at that quantity and comparing it with the optimum.
When p > 0, the planned-backorder extension uses:
Q_backorder = sqrt((2 × D × S / H) × ((H + p) / p))
Maximum planned shortage = Q_backorder × H / (H + p)
When p = 0, both planned-backorder outputs return zero by design.
Calculation sequence
- The selected holding-cost method determines
H; the unused alternate input is ignored. - The workbook computes the plain EOQ and its cycle, cost, reorder-point, and average-inventory measures.
- It evaluates the optional planned-backorder formulas when a positive shortage cost is supplied.
- For each of five illustrative price tiers stored in the workbook, it derives the tier holding cost, calculates a tier EOQ, raises that quantity to the tier minimum when necessary, and evaluates total annual cost including purchase.
- The lowest-cost tier candidate becomes the reported price-break quantity, unit price, and total cost. These tiers are fixed demonstration data on the web page, not the user's supplier schedule.
- The workbook evaluates
Model_Statusin the precedence shown below.
Outputs and interpretation
Economic_Order_Quantity is the unconstrained order size that minimizes annual ordering plus holding cost. Reorder_Point is a timing trigger based only on mean demand during lead time; it contains no safety stock. Cost outputs distinguish operating inventory cost from purchase cost. The price-break outputs are a what-if demonstration against the workbook's five stored tiers and must not be treated as a quote.
Validation and status logic
The workbook evaluates status in this order:
| Condition | Returned status |
|---|---|
| Annual demand is less than or equal to zero | NOT VALID: annual demand must be greater than zero |
| Holding cost in use is less than or equal to zero | NOT VALID: holding cost must be greater than zero |
| Ordering cost per order is less than or equal to zero | NOT VALID: cost per order must be greater than zero |
| Computed orders per year is less than one | CHECK: fewer than one order a year; the quantity exceeds annual demand |
| None of the preceding conditions applies | OK |
The current workbook status does not change merely because an illustrative price-break tier has a lower total cost than the plain EOQ.
Assumptions and limitations
- Demand, ordering cost, unit cost, holding cost, and lead time are treated as deterministic annual averages.
- The plain reorder point has no demand or lead-time variability, safety stock, service-level target, seasonality, or forecast error.
- The model has no storage, cash, supplier-capacity, order-multiple, minimum-order, perishability, or multi-echelon constraint.
- Purchase price is constant in the plain EOQ. The separate price-break result uses five illustrative workbook tiers that cannot be edited from this page.
- A zero shortage cost disables the planned-backorder extension rather than representing free shortages.
- A mathematically valid result can still be operationally unsuitable if the supplied forecasts or cost definitions are poor.
Restrictions and non-computing states
This calculator accepts only the declared holding-cost methods, rejects negative demand, cost, rate, lead-time, and shortage-cost inputs, and constrains working days to 1 through 366. The workbook then applies the status checks above: nonpositive annual demand, holding cost in use, or ordering cost makes the decision non-computing even though protected intermediate formulas may display zero. A shortage cost of zero deliberately disables the planned-backorder extension, and the five price-break tiers cannot be edited through this page.
Errors and warnings
A rejected entry means the submitted value did not satisfy the published input rules and no workbook decision was made. A workbook NOT VALID status means a required positive cost or demand basis is missing and the result region should not be used. A CHECK status means the workbook calculated a result but found an order cycle that deserves review. A connection or calculation-service failure is an availability problem, not an inventory conclusion.
References
The workbook states its own methods rather than citing sources for them. The relations it implements are the standard inventory-theory results, and the published sources for them are below.
- Harris, Ford W. How Many Parts to Make at Once. Factory, The Magazine of Management, volume 10, number 2, 1913, pages 135 to 136 and 152. Reprinted in Operations Research, volume 38, number 6, 1990. https://doi.org/10.1287/opre.38.6.947 (the original derivation of the economic order quantity)
- Wikipedia. Economic order quantity. https://en.wikipedia.org/wiki/Economic_order_quantity
- Wikipedia. Reorder point. https://en.wikipedia.org/wiki/Reorder_point
The quantity price break tiers shipped with the workbook are illustrative values chosen to demonstrate the comparison. They carry no authority and are not a market price.
Additional source notes migrated from Methodology
The governing quantity is the classical deterministic EOQ (Harris/Andler) relationship, with standard planned-backorder and all-units quantity-discount extensions. The delivered reviewer packet cites Omni Calculator's EOQ reference and Zoho Inventory tools for independent comparison. Those sites do not define the workbook's illustrative price tiers.
Frequently asked questions
Are the quantity price breaks my supplier's prices?
Why does the status say a price break beats the economic quantity?
Do I have to order exactly the quantity it returns?
Which holding cost input is being used?
Does this calculate safety stock?
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.
LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.