經濟訂購量 (EOQ) 是透過公式 Q* = √(2DS/H) 計算得出,其中 D 為以單位計的年需求、S 為以單一貨幣計的每次訂購固定成本、H 為以同一貨幣計的每單位年持有成本。這個連續最佳解就是使年相關成本 TC(Q) = DS/Q + HQ/2(即訂購成本與持有成本兩個分量的總和)最小化的訂購量大小,方法是讓這兩個分量相互平衡。在數學最佳解處,這兩個成本分量相等,這個特性可以用來對任何 EOQ 結果進行內建檢核。基礎模型假設需求恆定、訂購成本與持有成本已知且不變、補貨即時且完整、不允許缺貨、無安全庫存、無數量折扣、無產能或現金限制,且它並不會告訴你何時該再訂購。計算過程本身很簡單,但結果的可靠性完全取決於三項輸入的品質,以及這些假設是否仍符合你的營運環境。基礎 EOQ 計算機會套用此公式、顯示成本平衡的不變性,並在相關成本旁一併回報週期相關指標,以便在下單前對答案進行合理性檢查。

EOQ 計算實際上做了什麼
這個計算只回答一個狹隘的問題:考量你下單的頻率與成本,以及持有庫存所付出的成本,何種單一訂購量能使這兩項成本的總和最小。這其中的取捨十分直接。當訂購量 Q 增加時,每年的訂購次數 D/Q 會下降,因此年訂購成本 DS/Q 也會降低。同時,平均在手庫存會上升至 Q/2,導致年持有成本 HQ/2 增加。這兩條曲線會在 EOQ 處相交,並在該點達到總和的最小值。
對 TC(Q) = DS/Q + HQ/2 對 Q 進行微分,並令導數為零,即可得到平方根公式 Q* = √(2DS/H)。由於這是來自連續變數的微積分推導,Q* 可以取任何正實數值,包括分數。大學的作業管理教材記錄了相同的推導過程與成本平衡詮釋,其中包括 SUNY New Paltz 的 EOQ 筆記,逐步說明本文使用的相同最小化方法。被最小化的相關成本不含單位進貨價格,假設單位價格不會隨 Q 而變動;若有數量折扣,則需採用加入進貨成本項的不同模型。
計算所需的輸入項目及其必須對應的原因
這個計算接受三項數字,並拒絕任何會污染結果的輸入。年需求 D 必須以每年單位數表示,例如在十二個月內銷售或消耗的單位數。每次訂購的固定成本 S 是指下達一筆訂單所產生的行政、運輸、收貨與檢驗成本,以每筆訂單的貨幣金額表示。每單位的年持有成本 H 是指將一個單位的庫存存放一年所衍生的成本,包含資金成本、倉儲、保險與損耗,以每單位每年的貨幣金額表示。
三項輸入必須共用同一個年度基準。若將每週需求與年持有成本混用,或將以美元計的每筆訂購成本搭配以歐元計的每單位成本,將會得出毫無意義的數字。當持有成本以單價的百分比而非貨幣金額表示時,必須在輸入前先轉換為每單位每年的貨幣金額;計算本身並不會自動執行此項轉換。零、負值、非有限數或過大的輸入都會被拒絕,因為這些數值會使平方根趨於零、未定義或不穩定的範圍。輸出的成本會以所輸入的一致貨幣單位呈現,並不會推算匯率。
如何逐步執行 EOQ 計算
- 將需求轉換為單一年度數字。以每年單位數表示 D,使其與其他兩項輸入的年度基準一致。將每月或每週的需求年化,而非保留在原本的週期單位。
- 以每筆訂單的貨幣金額表示訂購成本。加總下達一筆採購單所需的固定行政、運輸、收貨與檢驗成本。由於在基礎模型中假設變動的進貨成本與 Q 無關,請將其排除。
- 以每單位每年的貨幣金額表示持有成本。若數字為單價的百分比,則乘以單價進行轉換。若希望 H 貼近現實而非僅是教科書數字,請納入資金成本、倉儲、保險與損耗等分量。
- 計算 Q*、每年訂購次數、週期天數,以及兩項年成本分量。使用 Q* = √(2DS/H),接著計算每年訂購次數 D/Q、週期天數 365Q/D、年訂購成本 DS/Q 與年持有成本 HQ/2。並驗證在最佳解處這兩項年成本分量相等。
- 比較 Q* 附近可行的數量。實際訂單通常為整數單位、整箱、整板或供應商包裝倍數。將最接近的整數候選數量代入 TC(Q),在實際下單前選出最便宜的可行方案。
為何訂購成本與持有成本在最佳解處相等
成本平衡的特性是直接源自最小化過程。令 TC(Q) 的導數等於零會得到 DS/Q² = H/2,整理後即為 DS/Q = HQ/2。在連續最佳解處,年訂購成本與年持有成本恰好相等,兩者各佔最小相關成本的一半。這是一個實用的不變性:若你計算出兩項分量卻不相等,則表示輸入不一致,或是最佳化過程已被四捨五入。
以下是一個計算範例,D = 1,200 單位每年、S = 每筆訂單 5 貨幣、H = 每單位每年 1.2 貨幣。公式得出 Q* = √(2 × 1,200 × 5 / 1.2) = √(12,000 / 1.2) = √10,000 = 100 單位。每年訂購次數為 1,200 / 100 = 12,因此週期長度為 365 × 100 / 1,200 ≈ 30.42 天。年訂購成本為 DS/Q = 1,200 × 5 / 100 = 60,年持有成本為 HQ/2 = 1.2 × 100 / 2 = 60。兩項分量相等,最小相關成本為 60 + 60 = 120。
為了確認 100 確實是最小值,計算 TC(120):DS/Q = 1,200 × 5 / 120 = 50,HQ/2 = 1.2 × 120 / 2 = 72,總計 50 + 72 = 122。比最佳值高出 2,因此 100 位於曲線的最低點,任何附近的數量都會產生小幅的成本懲罰。對於你代入公式的任何有效 D、S、H,這個特性都成立。
基礎 EOQ 計算內建的假設
此平方根公式僅在一組特定條件下為精確值。當這些條件不成立時,公式仍會回傳一個數字,但該數字已不再是正確答案。下表列出各項假設、白話意義,以及實際倉庫中常見的違背情況。
| 假設 | 白話意義 | 常見的違背情況 |
|---|---|---|
| 已知且恆定的需求 | 每年所需單位數可預測且穩定 | 季節性波動、成長趨勢、促銷活動、新產品量產爬坡 |
| 恆定的訂購成本 S | 每筆訂單在行政、運輸、收貨上的成本相同 | 運費分級、燃油附加費、依數量計價的行政費 |
| 恆定的持有成本 H | 每單位每年的持有成本穩定 | 資金成本變動、保險調整、倉儲費率變動 |
| 即時補貨 | 整筆訂單一次到齊 | 生產週期、分批出貨、重疊前置時間 |
| 無缺貨或安全庫存 | 不允許缺貨,且未將緩衝庫存納入模型 | 服務水準目標、前置時間變動、易腐性 |
| 單價與 Q 無關 | 進貨成本對最佳解無影響 | 數量折扣、供應商價格分級、整箱包裝獎勵 |
| 無產能或現金限制 | 隨時有能力負擔並儲放 Q* | 倉儲上限、營運資金上限、供應商最低訂購量 |
若你的情境違反了上述任何一項,基礎 EOQ 仍可作為起點,但仍需採用不同模型或延伸模型才能做出最終決策。季節性需求需要分時段規劃;前置時間的不確定性需要搭配安全庫存的再訂購點模型;數量折扣則需進行價格分級比較,而非仰賴單一平方根答案。
從連續結果到實際訂購量
由於公式是在連續變數上進行最小化,所顯示的 Q* 是數學最佳解,因此可能是分數。100 的結果很方便;但若結果為 87.4 單位,則無法下達這個精確數量的訂單。使用相同的總成本公式 TC(Q) = DS/Q + HQ/2,比較 Q* 正上方的整數與正下方的整數,選擇最便宜的可行規模。若供應商以每箱 12 件出貨,則值得檢查的候選數量為最接近 Q* 的 12 倍數。當包裝限制相對於 Q* 很大時,盲目取整可能會選出明顯較差的數量,不過成本曲線在其最小值附近通常相當平緩。如需更完整的 Q* 附近總成本比較演練,請參閱逐步總成本計算。
敏感度分析、驗證與何時應重新計算
EOQ 的輸入是估計值,而非常數。需求預測會隨著市場變動而漂移;訂購成本會在貨運合約或行政流程變動時改變;持有成本會隨著利率、保險、倉儲租金與損耗而波動。當上述三項輸入中任何一項發生實質變動時,或是當供應商的包裝規格、最低訂購量或前置時間變異發生變化時,就是重新計算的時機。並排比較幾個實際可行的情境,會比把單一精確的 EOQ 視為永久答案更具參考價值。在你將結果視為採購承諾之前,請與營運人員一起驗證需求預測、持有成本組成、供應商限制、現金、周轉風險、效期、前置時間風險、服務水準目標以及可行的包裝數量。對於更廣泛的庫存基準,建議將此計算作為第一步,並以實際倉庫狀況驗證假設,而非直接作為自動下單依據。