{"success":true,"version":"v1","request":{"tool":"get_calculator_schema","calculator_id":"eoq"},"result":{"entity_type":"calculator","id":"eoq","calculator_id":"eoq","canonical_url":"https://tttkmbb.com/business/eoq","name":"Economic Order Quantity (EOQ) Calculator","title":"EOQ Calculator – Economic Order Quantity, Orders per Year and Total Inventory Cost (Wilson Formula)","category":"business","category_name":"Business & Marketing","tool_name":"calculate_economic_order_quantity","featured_mcp_tool":false,"description":"Computes the economic order quantity that minimises the sum of annual ordering and holding costs (Harris–Wilson formula √(2DS/H)), plus orders per year, days between orders and the resulting annual costs.","use_when":"You reorder a product with steady demand and want the order size that balances ordering cost against holding cost.","do_not_use_when":"Demand is highly variable or seasonal, quantity discounts apply, or the item is produced in-house at a finite rate (use the economic production quantity model); for when to order, use reorder-point.","inputs":[{"name":"annual_demand_units","label":"Annual demand","type":"number","unit":"units/year","required":true,"max":1000000000000,"exclusive_min":0,"description":"Units sold or used per year (D).","example":1000},{"name":"ordering_cost_per_order","label":"Ordering cost per order","type":"number","required":true,"max":1000000000,"exclusive_min":0,"description":"Fixed cost of placing one order: paperwork, shipping, setup (S).","example":10},{"name":"holding_cost_per_unit_per_year","label":"Holding cost per unit per year","type":"number","required":true,"max":1000000000,"exclusive_min":0,"description":"Cost of keeping one unit in stock for a year: storage, capital, insurance, obsolescence (H).","example":0.5},{"name":"unit_cost","label":"Unit purchase cost","type":"number","required":false,"min":0,"max":1000000000,"description":"Optional purchase price per unit, to report total annual cost including purchases.","example":8},{"name":"working_days_per_year","label":"Working days per year","type":"integer","unit":"days","required":false,"default":365,"min":1,"max":366,"description":"Days used to convert orders per year into days between orders.","example":365}],"outputs":[{"name":"eoq_units","label":"Economic order quantity","type":"number","unit":"units","decimals":2,"description":"√(2 × D × S / H)."},{"name":"orders_per_year","label":"Orders per year","type":"number","decimals":2,"description":"D / EOQ."},{"name":"days_between_orders","label":"Days between orders","type":"number","unit":"days","decimals":1,"description":"working_days_per_year / orders_per_year."},{"name":"annual_ordering_cost","label":"Annual ordering cost","type":"number","decimals":2,"description":"(D / EOQ) × S."},{"name":"annual_holding_cost","label":"Annual holding cost","type":"number","decimals":2,"description":"(EOQ / 2) × H (average inventory is half the order size)."},{"name":"total_annual_inventory_cost","label":"Total ordering + holding cost","type":"number","decimals":2,"description":"Minimum combined cost; at the EOQ the two components are equal."},{"name":"total_annual_cost_including_purchase","label":"Total cost incl. purchases","type":"number","decimals":2,"description":"D × unit_cost + ordering + holding (only when unit_cost given)."}],"input_schema":{"type":"object","properties":{"annual_demand_units":{"description":"Units sold or used per year (D). Unit: units/year.","type":"number","maximum":1000000000000,"exclusiveMinimum":0,"examples":[1000],"x-unit":"units/year"},"ordering_cost_per_order":{"description":"Fixed cost of placing one order: paperwork, shipping, setup (S).","type":"number","maximum":1000000000,"exclusiveMinimum":0,"examples":[10]},"holding_cost_per_unit_per_year":{"description":"Cost of keeping one unit in stock for a year: storage, capital, insurance, obsolescence (H).","type":"number","maximum":1000000000,"exclusiveMinimum":0,"examples":[0.5]},"unit_cost":{"description":"Optional purchase price per unit, to report total annual cost including purchases.","type":"number","minimum":0,"maximum":1000000000,"examples":[8]},"working_days_per_year":{"description":"Days used to convert orders per year into days between orders. Unit: days.","type":"integer","minimum":1,"maximum":366,"default":365,"examples":[365],"x-unit":"days"}},"additionalProperties":false,"required":["annual_demand_units","ordering_cost_per_order","holding_cost_per_unit_per_year"]},"output_schema":{"type":"object","properties":{"eoq_units":{"description":"√(2 × D × S / H). Unit: units.","type":"number","x-unit":"units"},"orders_per_year":{"description":"D / EOQ.","type":"number"},"days_between_orders":{"description":"working_days_per_year / orders_per_year. Unit: days.","type":"number","x-unit":"days"},"annual_ordering_cost":{"description":"(D / EOQ) × S.","type":"number"},"annual_holding_cost":{"description":"(EOQ / 2) × H (average inventory is half the order size).","type":"number"},"total_annual_inventory_cost":{"description":"Minimum combined cost; at the EOQ the two components are equal.","type":"number"},"total_annual_cost_including_purchase":{"description":"D × unit_cost + ordering + holding (only when unit_cost given).","type":"number"}}},"formula":"EOQ = √(2 × annual_demand × ordering_cost / holding_cost); orders_per_year = D / EOQ; ordering_cost = D / EOQ × S; holding_cost = EOQ / 2 × H; total = ordering + holding (+ D × unit_cost)","method":"Classic Harris (1913) / Wilson EOQ model: constant demand, instantaneous replenishment, no stockouts and no quantity discounts. The total cost curve is flat near the optimum, so rounding the EOQ to a practical pack size changes cost very little.","sources":[{"name":"Harris FW (1913, reprinted 1990) How Many Parts to Make at Once, Operations Research 38(6):947-950","url":"https://pubsonline.informs.org/doi/10.1287/opre.38.6.947","type":"peer_reviewed","retrieved_at":"2026-09-24"},{"name":"Wikipedia – Economic order quantity","url":"https://en.wikipedia.org/wiki/Economic_order_quantity","type":"reference","retrieved_at":"2026-09-24"}],"freshness":{"type":"static","max_age_seconds":null,"note":"Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output."},"examples":[{"name":"D = 1,000, S = 10, H = 0.50","inputs":{"annual_demand_units":1000,"ordering_cost_per_order":10,"holding_cost_per_unit_per_year":0.5},"expected":{"eoq_units":200,"orders_per_year":5,"days_between_orders":73,"annual_ordering_cost":50,"annual_holding_cost":50,"total_annual_inventory_cost":100},"url":"https://tttkmbb.com/api/v1/calculate/eoq?annual_demand_units=1000&ordering_cost_per_order=10&holding_cost_per_unit_per_year=0.5"},{"name":"D = 12,000, S = 50, H = 2.40, unit cost 8","inputs":{"annual_demand_units":12000,"ordering_cost_per_order":50,"holding_cost_per_unit_per_year":2.4,"unit_cost":8},"expected":{"eoq_units":707.11,"orders_per_year":16.97,"days_between_orders":21.5,"annual_ordering_cost":848.53,"annual_holding_cost":848.53,"total_annual_inventory_cost":1697.06,"total_annual_cost_including_purchase":97697.06},"url":"https://tttkmbb.com/api/v1/calculate/eoq?annual_demand_units=12000&ordering_cost_per_order=50&holding_cost_per_unit_per_year=2.4&unit_cost=8"}],"faq":[{"q":"How do I estimate the holding cost?","a":"Commonly 20–30 % of the unit cost per year (capital cost, storage, insurance, shrinkage, obsolescence). Enter it as a currency amount per unit per year."},{"q":"Why are ordering and holding costs equal at the EOQ?","a":"That is the optimality condition of the model: total cost D·S/Q + Q·H/2 is minimised where its two terms cross, at Q = √(2DS/H)."}],"tags":["eoq calculator","economic order quantity","wilson formula","inventory ordering cost","order quantity"],"related":[{"calculator_id":"reorder-point","reason":"When to place the order given lead time and safety stock."},{"calculator_id":"break-even","reason":"Fixed versus variable cost trade-off in production."}],"links":{"html":"https://tttkmbb.com/business/eoq","markdown":"https://tttkmbb.com/business/eoq.md","json":"https://tttkmbb.com/business/eoq.json","api":"https://tttkmbb.com/api/v1/calculate/eoq","schema":"https://tttkmbb.com/api/v1/calculators/eoq","openapi":"https://tttkmbb.com/openapi.json","mcp":"https://tttkmbb.com/mcp"},"version":"v1","updated_at":"2026-09-24"},"timestamp":"2026-09-24T01:47:53Z"}