{"id":93,"date":"2015-05-29T09:38:06","date_gmt":"2015-05-29T07:38:06","guid":{"rendered":"http:\/\/wpcalc.com\/?p=93"},"modified":"2026-09-30T19:36:38","modified_gmt":"2026-09-30T16:36:38","slug":"economic-order-quantity","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/finance\/economic-order-quantity\/","title":{"rendered":"Economic Order Quantity Calculator"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">EOQ (Optimal Order Size) Calculator<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"93\" data-favorite-title=\"Economic Order Quantity\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/finance\/economic-order-quantity\/\" data-favorite-excerpt=\"Calculate the Economic Order Quantity (EOQ) \u2014 the optimal order size that minimizes total inventory costs. Enter annual demand, ordering cost per order, and holding cost per unit per year.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-inventory\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/finance\/economic-order-quantity\/\" method=\"POST\" class=\"calculator\" id=\"calculator-93\" data-post=\"93\"><fieldset class=\"fieldset-input\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field has-term\" id=\"input-1\"><label for=\"field-1\">Annual demand (units)<\/label><div class=\"term\">D<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"annual_demand_units\" id=\"field-1\" aria-describedby=\"calc-info-1\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"1\" value=\"10000\"\/><small id=\"calc-info-1\">Total quantity of units required per year<\/small><\/div><div class=\"field has-term\" id=\"input-2\"><label for=\"field-2\">Ordering cost per order<\/label><div class=\"term\">S<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"ordering_cost_per_order\" id=\"field-2\" aria-describedby=\"calc-unit-2 calc-info-2\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"0.01\" value=\"50\"\/><div class=\"unit\" id=\"calc-unit-2\">$<\/div><small id=\"calc-info-2\">Cost incurred each time an order is placed<\/small><\/div><div class=\"field has-term\" id=\"input-3\"><label for=\"field-3\">Holding cost per unit per year<\/label><div class=\"term\">H<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"holding_cost_per_unit_per_year\" id=\"field-3\" aria-describedby=\"calc-unit-3 calc-info-3\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"0.01\" value=\"2\"\/><div class=\"unit\" id=\"calc-unit-3\">$<\/div><small id=\"calc-info-3\">Annual cost to store one unit of inventory<\/small><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"93\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Your Results<\/h3><div class=\"result-box\"><div class=\"field-result\" id=\"output-1\"><span class=\"field-title\"><span>Economic Order Quantity<\/span><\/span><span class=\"field-value\" id=\"result-1\" data-unit=\"units\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-2\"><span class=\"field-title\"><span>Interpretation<\/span><\/span><span class=\"field-value\" id=\"result-2\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"93\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>Economic Order Quantity Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ EOQ = \\sqrt{ \\frac{2 \\times D \\times S}{H} } \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(D\\) \u2014 annual demand, in units per year<\/li>\n<li>\\(S\\) \u2014 ordering cost, in currency per order placed<\/li>\n<li>\\(H\\) \u2014 holding cost, in currency per unit per year<\/li>\n<\/ul>\n<p>The formula finds the order size at which the total of ordering costs and holding costs is at its lowest. Ordering costs fall as orders get larger and less frequent, while holding costs rise with the average inventory level \u2014 EOQ is the point where these two effects balance out.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Economic Order Quantity \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> a retailer sells 10,000 units of a product per year. Each order placed costs $50 in administrative and shipping expenses, and storing one unit for a year costs $2.<\/p>\n<p>\\[ EOQ = \\sqrt{ \\frac{2 \\times 10{,}000 \\times 50}{2} } = \\sqrt{500{,}000} \\approx 707.11 \\]<\/p>\n<p><strong>Result:<\/strong> The economic order quantity is approximately <strong>707 units<\/strong>. Ordering about 707 units each time (roughly 14 orders per year) keeps total inventory costs at their minimum.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the Calculator<\/h2>\n<ol>\n<li>Enter the <strong>Annual demand (units)<\/strong> \u2014 the total number of units you expect to sell or use per year.<\/li>\n<li>Enter the <strong>Ordering cost per order<\/strong> \u2014 the fixed cost of placing and receiving one order, in dollars.<\/li>\n<li>Enter the <strong>Holding cost per unit per year<\/strong> \u2014 the cost of storing one unit for a year (warehouse space, insurance, capital tied up in stock).<\/li>\n<li>Read the <strong>Economic Order Quantity<\/strong> in units, along with a short interpretation of the result.<\/li>\n<\/ol>\n<h2>What Is Economic Order Quantity?<\/h2>\n<p>Economic Order Quantity (EOQ), also known as the Wilson formula, is the order size that minimizes the total cost of managing inventory. Every business that stocks goods faces two opposing costs: the cost of placing orders (paperwork, shipping, receiving, supplier setup) and the cost of holding stock (storage, insurance, spoilage, and capital that could be used elsewhere).<\/p>\n<p>Ordering in large quantities reduces how often you order, cutting ordering costs \u2014 but it increases average stock levels and therefore holding costs. Ordering in small amounts does the opposite. The EOQ model finds the quantity where the sum of both costs is lowest, which is also the point where annual ordering cost equals annual holding cost.<\/p>\n<p>The result is best treated as a target, not a rigid rule. If the calculator returns 707 units, you may in practice round to a supplier's packaging size (for example 700 or 750 units) with only a negligible cost penalty \u2014 the total cost curve is flat near the optimum. To measure how efficiently you turn that stock over afterwards, pair EOQ with the <a href=\"https:\/\/wpcalc.com\/en\/finance\/days-in-inventory\/\">Days in Inventory<\/a> and <a href=\"https:\/\/wpcalc.com\/en\/finance\/ending-inventory\/\">Ending Inventory<\/a> calculators.<\/p>\n<h2>Assumptions and Limitations<\/h2>\n<p>The classic EOQ model relies on assumptions that rarely hold perfectly in the real world:<\/p>\n<ul>\n<li><strong>Demand is known and constant<\/strong> \u2014 the formula uses a single annual demand figure, with no seasonality or growth.<\/li>\n<li><strong>Costs are fixed<\/strong> \u2014 ordering cost per order and holding cost per unit do not change with order size, and quantity discounts are ignored.<\/li>\n<li><strong>Instant replenishment<\/strong> \u2014 goods arrive exactly when needed, with no lead-time uncertainty or stockouts.<\/li>\n<li><strong>No capacity limits<\/strong> \u2014 warehouse space and cash flow can always accommodate the optimal order.<\/li>\n<\/ul>\n<p>Despite these simplifications, EOQ remains a valuable baseline. It gives a sensible order size that you can then adjust for quantity discounts, safety stock, or supplier minimum order quantities. If a supplier offers a bulk discount, compare the savings against the extra holding cost before deviating from EOQ \u2014 the <a href=\"https:\/\/wpcalc.com\/en\/finance\/find-inventory-cost\/\">Find Inventory Cost<\/a> and <a href=\"https:\/\/wpcalc.com\/en\/finance\/inventory-stock\/\">Inventory Stock<\/a> calculators can help you quantify the trade-off.<\/p>\n<h2>Practical Tips<\/h2>\n<ul>\n<li>Include all relevant costs in the holding cost: storage, insurance, taxes, obsolescence, and the opportunity cost of capital (often estimated as a percentage of the unit's value).<\/li>\n<li>Recalculate EOQ periodically \u2014 demand, freight rates, and storage costs change over time, and so does the optimal order size.<\/li>\n<li>Use EOQ per SKU, not for your whole product range, since demand and cost structures differ between items.<\/li>\n<li>Combine EOQ with a reorder point calculation so you know not only how much to order, but when.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Calculate the Economic Order Quantity (EOQ) \u2014 the optimal order size that minimizes total inventory costs. Enter annual demand, ordering cost per order, and holding cost per unit per year.<\/p>\n","protected":false},"author":70,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[26],"class_list":["post-93","post","type-post","status-publish","format-standard","hentry","category-finance","tag-inventory"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/93","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/70"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=93"}],"version-history":[{"count":2,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/93\/revisions"}],"predecessor-version":[{"id":66088,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/93\/revisions\/66088"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=93"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=93"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}