Blog image

Want to test drive the most customizable ERP platform in the market?

What Is EOQ?

EOQ answers one question: what order size minimizes your total annual cost from two opposing forces:

  • Ordering cost: the fixed effort each time you place and receive an order.
  • Carrying cost: the cost of holding units that aren’t yet needed.

When those two pains balance, you get the Goldilocks “just right” lot size.

In plain English: EOQ is the smallest repeatable order that keeps operations calm without suffocating cash. It’s not about buying more or less on principle—it’s about buying exactly enough to lower the sum of both costs over the year.

How to Calculate EOQ

EOQ uses one simple formula to find the Goldilocks “just right” order size: EOQ = √(2DS/H) eoq.png

What the letters mean

  • D — annual demand (units/year): how many units you expect to use or sell in a year.
  • S — cost per order ($/order): the fixed effort and expense every time you place and receive an order (time, approvals, PO creation, receiving, inspection).
  • H — annual carrying cost per unit ($/unit/year): what it costs to hold one unit for a year (cost of capital, storage, handling, shrink/obsolescence).

EOQ Example

Example inputs (annualized):

  • Annual Demand (D) = 24,000 units/year
  • Ordering Cost (S) = $80 per order
  • Carrying Cost (H) = $2.00 per unit/year

EOQ calculation: EOQ = √(2DS/H) = √(2 × 24,000 × 80 ÷ 2.00) = √(1,920,000) ≈ 1,386 units

Operational meaning:

  • How much to buy each time: ~1,386 units per order
  • Orders per year: D ÷ EOQ ≈ 24,000 ÷ 1,386 ≈ 17
  • Typical on-hand (ignoring safety stock): EOQ ÷ 2 ≈ 693 units
  • Approx. order interval: 365 ÷ 17 ≈ 21 days

Build Your EOQ Strategy to Reduce Stock Costs: Step-by-Step

Now it’s time to put EOQ into action. Instead of stopping at a single formula, you’ll build a repeatable framework that turns EOQ into a replenishment policy. The process works whether you’re designing for one SKU, a group of products, or an entire warehouse.

We’ll go step by step, layering decisions so nothing is skipped:

  1. Set the Objective — why you’re carrying inventory in the first place.
  2. Define the Scope — what items or locations this strategy covers.
  3. Gather Inputs — determine annualized demand (D), ordering cost (S), and carrying cost (H)
  4. Calculate EOQ — run the formula for each SKU.
  5. Add Review Frequency — decide how often to refresh your numbers.
  6. Set Reorder Point & Safety Stock — build in timing and uncertainty.
  7. Check Supplier Agreements — reconcile EOQ with MOQs, price breaks, and constraints.
  8. Plan Exceptions — account for seasonality or emergencies.
  9. Pick Monitoring Metrics — choose what you’ll track to know the policy is working.

Follow the steps in order and you’ll end with a clear, ready-to-use EOQ strategy.

Download an example here: Example EOQ Strategy Report



👉 Bonus: AI Option (how to operationalize faster)
EOQ Strategy Advisor: use this custom AI tool to generate your EOQ strategy document quickly from your inputs (link)



Step 1 — Set the Objective

Every EOQ strategy starts with a clear statement of purpose. The objective defines the balance between service level (not running out of stock) and inventory cost (not over-investing in stock).

A simple starter objective is:

“Maintain optimal stock levels to ensure service availability while minimizing inventory costs.”

You can tilt the balance depending on your priorities:

  • Service-focused: “Maintain at least 98% service during lead time while minimizing total cost.”
  • Cost-focused: “Minimize total inventory cost while protecting service at or above 95%.”

eoq header and objective.png

How to make it practical:

  • Keep the objective to a single sentence.
  • Pair it with 1–2 success signals you’ll track later (e.g., stockout frequency ≤ X, turnover ≥ Y).
  • Publish it alongside your strategy so the team knows what “good” looks like.

This one-liner will guide every decision that follows—how you set safety stock, which supplier price break you choose, and how frequently you review the numbers.



Step 2 — Define the Scope

The scope sets the boundaries of your EOQ strategy. It answers the question: “Which items and locations does this policy cover?” Without defining scope, teams may apply rules inconsistently or leave gaps.

You have three common options:

  1. Single SKU — Focused policy for one product.

    • Best if you’re piloting EOQ or managing a high-value/high-volume item.
    • Output: one SKU-specific policy card (EOQ, ROP, safety stock, supplier terms, monitoring).
  2. Multiple SKUs (portfolio) — Shared framework, separate calculations per SKU.

    • Best for product lines or warehouses with many active items.
    • Output: one framework document + a table of per-SKU EOQ and ROP results.
    • Pro tip: start with your top “A” items (by spend or volume) before expanding to “B” and “C” SKUs.
  3. Category, Warehouse, or Location — Broad policy that applies across an operational unit.

    • Useful if supplier terms or lead times are consistent across a group.
    • Output: one policy template, with EOQ numbers filled in per item or location.

eoq scope.png

How to decide your scope:

  • If you’re new to EOQ → start with a single SKU.
  • If you already track D, S, H per SKU → expand to a multi-SKU portfolio.
  • If your constraints and inputs are largely the same across items/locations → design a category/warehouse policy and plug in item-level numbers.

Write it down:

  • Document the exact SKUs, categories, or warehouses included.
  • If some SKUs are explicitly excluded (e.g., perishables, slow movers), note them here.
  • This becomes the “coverage statement” at the top of your EOQ strategy document.



Step 3 — Gather Inputs (per SKU)

Before you calculate anything, lock down three inputs for each SKU. Keep everything on an annual basis so units don’t drift.

What you need per SKU

  • Demand (D) — average units per year (how many you’ll need in a year).
  • Ordering/setup cost (S) — dollars per order (admin time, PO processing, inbound freight setup, inspection, etc.).
  • Holding cost (H) — dollars per unit per year (storage, capital, shrink, obsolescence). If you don’t track H directly, compute: H = carrying rate (%) × unit cost.

If your data isn’t annual yet

  • Weekly → multiply by 52
  • Monthly → multiply by 12
  • Quarterly → multiply by 4
  • If your demand is seasonal, still compute an annual average here; you’ll add seasonality rules later.''

eoq inputs.png

Estimating tips

  • D: Use last 12 months of consumption/shipments, not purchases. Remove one-off anomalies if they won’t repeat.
  • S: Time × fully loaded hourly rate for everyone who touches an order (buyer, receiving, AP) + any per-order fees. If inbound freight has a fixed booking cost per order, include it here.
  • H: If you lack a carrying rate, a starting point is 15–25% of unit cost per year; refine later with your finance team (capital cost, space, insurance, damage, obsolescence).

Data hygiene checks

  • Make sure units match (e.g., D in units, H in $/unit/year, S in $/order).
  • If a SKU comes in case packs or pallets, note it; you’ll reconcile EOQ to feasible lots in Step 6.
  • Capture any MOQ or price break thresholds now (used later, but good to store in your sheet).

Once each row has D, S, and H, you’re ready to compute EOQ per SKU in the next step (and later layer in ROP, safety stock, and supplier constraints).



Step 4 — Compute EOQ

With your inputs (D, S, H) ready, you can calculate EOQ and translate it into an ordering policy.

Per-SKU Calculation

EOQ is always calculated at the item level, because each product has its own demand, ordering cost, and holding cost.

Formula (per SKU):

  • EOQ = √((2 × D × S) ÷ H) → cost-minimizing lot size
  • Orders/year = D ÷ EOQ
  • Order interval = 12 ÷ Orders/year (months) or 52 ÷ Orders/year (weeks)
  • Typical on-hand ≈ EOQ ÷ 2 (before adding safety stock)

eoq results.png

What to check:

  • Round EOQ to a feasible lot size (pack, case, or pallet).
  • Compare EOQ to MOQ (if EOQ < MOQ, plan on ordering MOQ).
  • Flag if EOQ sits close to a price-break threshold; you’ll evaluate in Step 6.

Your output per SKU should capture:

  1. How much to buy (EOQ): ___ units
  2. How often to order: ___ per year → ~every ___ weeks/months
  3. Typical on-hand inventory: ___ units
  4. Notes on feasibility: e.g., “Rounded to carton of 24”

Multiple SKUs (Portfolio View)

When managing multiple items, keep one shared framework (objective, scope, review frequency, monitoring metrics), but calculate EOQ for each SKU separately.

  • Build a portfolio table where each SKU has its own D, S, H, EOQ, orders/year, and interval.
  • Start with your top-value items (A-class SKUs), then expand to lower-priority items.
  • Use the same service-level and review cadence across the group for consistency.

By Category, Warehouse, or Location

If you manage inventory at higher levels:

  • Category: Apply the same framework across all SKUs in that product family. Calculate EOQ per SKU, but group results in one policy.
  • Warehouse/Location: Run EOQ separately per SKU at each site, since demand, lead times, and holding costs may vary by region.
  • Document scope clearly, e.g., “Applies to all SKUs stocked at Salt Lake City DC.”
  • If multiple sites share stock, decide whether safety stock is held centrally or individually at each location.

Bottom line:

  • The framework layer (objective, scope, review frequency, supplier terms, monitoring) is shared across all items.
  • The calculation layer (EOQ, ROP, safety stock) is done per SKU, and if applicable, per warehouse.

This keeps your strategy consistent while tailoring the math to each product and location.



Step 5 — Add Review Frequency

Once you’ve run EOQ for your SKUs, don’t treat the numbers as permanent. Demand, costs, and supplier terms all shift over time. Review frequency is about setting a cadence to re-check the math and re-publish the strategy so it stays relevant.

Why It Matters

  • Demand shifts: Growth, seasonality, or product decline will change annual usage (D).
  • Cost changes: Freight rates, labor, or storage costs can raise or lower S and H.
  • Supplier updates: New MOQs, price breaks, or lead times can make your current EOQ unworkable.

Common Cadences

  • Quarterly → best for fast-moving SKUs or volatile markets (inputs shift quickly).
  • Semi-annual → good balance for moderate-demand SKUs.
  • Annual → fine for stable, slow movers with predictable demand and costs.

eoq review frequency.png


How to Apply in Practice

  • Decide a default cadence (e.g., “Quarterly review across all SKUs”).

  • Allow exceptions: note which items get recalculated more often (e.g., top A-items monthly or quarterly, long-tail SKUs annually).

  • Add the cadence explicitly in your policy:

    • “EOQ and ROP will be recalculated quarterly, or immediately if demand shifts by >20% or supplier terms change.”

For Multi-SKU or Warehouse Policies

  • Use one global review cadence for the framework, so updates are synchronized.
  • Apply the same interval to all SKUs in scope, unless you formally split items into high-priority vs. low-priority review groups.
  • If operating across warehouses, align review dates so comparisons stay clean.

Once review frequency is defined, you’re ready to add timing and uncertainty controls in Step 6: setting your Reorder Point (ROP) and Safety Stock.



Step 6 — Set Reorder Point (ROP) & Safety Stock

EOQ tells you how much to order. The Reorder Point (ROP) and Safety Stock tell you when to order and how much buffer to keep against uncertainty. Together, these rules prevent stockouts while keeping inventory lean.

1) Gather the Inputs

For each SKU (and for each warehouse/location if applicable):

  • Lead Time (L) — time from placing an order until stock is received and usable (e.g., 14 days, 4 weeks).

  • Average Demand during L — D ÷ 365 (daily demand) × lead time in days.

  • Demand Variability (σ) — how much demand fluctuates. If you don’t track it:

    • Use a rule-of-thumb % of lead-time demand (e.g., 10% = stable, 15% = typical, 20% = volatile).
  • Target Service Level (%) — probability you want of not stocking out during lead time (95% is common; 98–99% if outages are costly).

2) Calculate Safety Stock

  • Convert service level to a z-score (e.g., 95% → 1.65; 98% → 2.05).
  • σ_LT (variability during lead time) = σ × √(number of periods in lead time), or simply σ % × lead-time demand if using the approximation.
  • Safety Stock = z × σ_LT

3) Calculate Reorder Point (ROP)

  • ROP = Lead-time demand + Safety Stock
  • This is the stock level at which you trigger a new order.

4) Define the Trigger Rule

Write it in plain language so anyone can follow:

“When on-hand + on-order inventory ≤ ROP, place an order for EOQ (or the nearest feasible lot).”


eoq reorder point.png


For Multiple SKUs, Categories, or Warehouses

  • Apply the same service-level target across groups unless some items need stricter protection (e.g., high-value SKUs at 99%).
  • Run ROP and Safety Stock per SKU, since demand and variability differ item by item.
  • At the category or warehouse level, consolidate results into a single policy document (one framework, many item rows).
  • If multiple warehouses hold the same SKU, calculate ROP independently per site (since local demand and lead times vary).

Example (single SKU)

  • Demand (D) = 24,000 units/year → ~66 units/day
  • Lead Time = 14 days → Lead-time demand = ~920 units
  • σ = 15% of lead-time demand → 0.15 × 920 = 138 units
  • Service Level = 95% → z = 1.65
  • Safety Stock = 1.65 × 138 ≈ 227 units
  • ROP = 920 + 227 = 1,147 units

Trigger rule: “When stock position ≤ 1,147, place an order of EOQ (rounded to feasible lot).”

This step ensures you don’t just know how much to buy, but also exactly when to order it—the difference between theory and a working replenishment policy.



Step 7 — Check Supplier Agreements

Once EOQ, ROP, and Safety Stock are set, reality checks come next. Supplier terms often override the “pure math.” This step ensures your strategy is feasible in practice and avoids surprises when placing orders.

1) Minimum Order Quantities (MOQ)

  • Check EOQ vs. MOQ.

    • If EOQ ≥ MOQ → no issue.
    • If EOQ < MOQ → you must order at least the MOQ, even if the math suggests less.
  • Document the rule: “If EOQ < MOQ, order MOQ.”

2) Pack Sizes / Case Packs / Pallets

  • Suppliers may ship only in fixed multiples (e.g., cartons of 24, pallets of 500).
  • Round EOQ up (or down) to the nearest feasible multiple.
  • Note the rounding in your policy so operators don’t have to guess: “EOQ = 1,386, rounded to case of 24 = 1,392.”

3) Price Breaks & Discounts

  • Suppliers often offer lower unit prices at larger lot sizes.

  • If a discounted quantity is close to your EOQ, compare total annual cost:

    • Annual cost at EOQ = ordering cost + holding cost + purchase cost.
    • Annual cost at price-break lot = same formula with adjusted unit price and lot size.
  • If the savings outweigh the extra holding cost, document the larger lot size as the policy order quantity.

4) Lead Time Agreements

  • Suppliers may quote different lead times for different lot sizes (e.g., small orders in 2 weeks, bulk in 6 weeks).
  • Confirm which lead time applies to your chosen lot size—ROP depends on this.
  • Document: “Lot size ≥ 1,000 → 21-day lead time; ROP recalculated accordingly.”

5) Special Constraints

  • Perishability: set a maximum lot size to avoid expiry.
  • Storage limits: cap order size based on available warehouse space.
  • Budget caps: large lot buys may tie up too much working capital.

6) Multi-SKU, Category, or Warehouse Context

  • For multi-SKU portfolios, compare supplier terms across items. Some suppliers may allow mixed-SKU MOQs (e.g., “order any mix totaling 1,000 units”). Adjust EOQ per SKU but respect the combined constraint.
  • For categories or warehouses, centralize agreements so everyone applies the same MOQ, price-break, and rounding rules.
  • If different locations have different suppliers or terms, run this step separately for each site.

eoq supplier agreements.png


7) Document in Your Policy

Every agreement needs to be explicit so the team can order consistently. Capture:

  • MOQ (units)
  • Pack size (units per case/pallet)
  • Price-break tiers (unit price @ lot size)
  • Lead time per lot size
  • Any special caps (perishability, space, budget)

Example policy line:

“EOQ = 1,386 units, rounded to case-pack of 24 = 1,392. MOQ = 150, satisfied. Price break @ 1,500 units offers negligible cost savings; not used. Lead time = 14 days.”

Why this matters: Without aligning to supplier agreements, your EOQ strategy remains theoretical. This step bridges the gap between the math and the marketplace, ensuring orders are both cost-efficient and contract-compliant.



Step 8 — Plan Exceptions

Even the best EOQ policy needs room for exceptions. Demand spikes, seasonality, or urgent disruptions will push you outside the normal rules. This step defines when and how to bend the policy so teams don’t improvise in the moment.


eoq execeptions.png


1) Seasonality

  • Identify products with predictable seasonal swings (e.g., 30% lift in Q4).

  • Document dates, expected lift (%), and override rule.

    • Example: “Nov–Dec: increase ROP and EOQ by 30% to cover holiday demand.”
  • If no seasonality applies, explicitly state: “No seasonal adjustments.”

2) Emergencies / Expedites

  • Set a rule for how to handle stockouts or urgent demand surges.

  • Define who can approve an emergency order (e.g., supply chain manager, finance).

  • Document lead times and extra costs for expedited orders so the tradeoff is clear.

    • Example: “Expedite freight adds $500/order; requires Director approval.”

3) Bulk Buys / One-Time Events

  • Sometimes bulk buys are strategic (supplier promotion, contract price drop, major event).

  • Define conditions under which you can override EOQ:

    • Supplier offers temporary discount
    • Anticipated demand spike beyond normal variability
    • Cash and storage capacity available
  • Note who approves and any caps (e.g., not more than 2× EOQ unless signed off by Finance).

4) Multi-SKU, Category, or Warehouse Context

  • Multi-SKU portfolios: Exceptions may apply only to certain items (e.g., seasonal SKUs in apparel, not basics). Mark them clearly.
  • By category: Apply exceptions consistently within the category (e.g., all SKUs in “holiday décor” follow the same seasonal uplift rule).
  • By warehouse/location: Lead times, demand patterns, or emergency freight costs differ by site. Write exceptions per location if they vary.

5) Document in Your Policy

Every exception should be short, specific, and visible. Capture:

  • Type: Seasonality, emergency, bulk buy
  • When it applies: dates, thresholds, or triggers
  • Action: adjust EOQ/ROP by X%, place expedite order, approve bulk buy
  • Authority: who signs off

Example policy lines:

  • “No seasonal adjustments.”
  • “Emergency orders allowed only with Supply Chain Manager approval; expedite freight adds $500/order.”
  • “Supplier promotion buys require Finance approval; cap = 2× EOQ.”

Why this matters: Exceptions will happen. Defining them up front prevents firefighting, inconsistent decisions, and costly overreactions. A clear rulebook makes sure deviations from EOQ are rare, controlled, and justified.



Step 9 — Pick Monitoring Metrics

Once your EOQ strategy is in place, you need a way to check if it’s working. Monitoring keeps the policy alive, prevents drift, and highlights when recalculation or intervention is needed. The right metrics balance service, cost, and process discipline.


eoq monitoring.png


1) Service Metrics

  • Stockout frequency — Count of times inventory hits zero or drops below ROP without an order.
  • Service level (%) — % of order cycles where no stockout occurs during lead time.
  • Why it matters: proves whether your safety stock and ROP are protecting customers.

2) Cost & Efficiency Metrics

  • Inventory turnover — Annual usage ÷ average on-hand. Shows flow efficiency.
  • Carrying cost vs. EOQ baseline — Compare actual carrying cost to the theoretical EOQ total cost. Highlights if exceptions or rounding are driving excess cost.
  • Order frequency — How many orders/year vs. the plan. Too many or too few suggests input shifts or process breaks.

3) Process Compliance

  • ROP adherence — % of orders placed when on-hand + on-order ≤ ROP. Low adherence means operators are overriding the trigger rule.
  • Supplier compliance — % of orders accepted at agreed lead times, MOQs, and pack sizes. Ensures agreements are realistic.

4) Review Cadence

  • Match monitoring to the review frequency you set in Step 5.

    • Quarterly → track and report all metrics.
    • Monthly (for fast movers) → run spot checks on stockouts, ROP adherence.
  • Add a rule for off-cycle recalculation triggers, e.g.:

    • Demand shift >20%
    • New MOQ/price break introduced
    • Repeated stockouts or overstocks

5) Multi-SKU, Category, or Warehouse Context

  • Multi-SKU portfolios: Roll up service level and turnover across SKUs, but keep item-level metrics for diagnostics.
  • By category: Track aggregate cost savings or service level within the category.
  • By warehouse: Compare locations — differences highlight local lead-time or compliance issues.



Your EOQ Strategy, Automated

By now, you’ve seen how to turn a simple EOQ calculation into a complete inventory strategy: defining objectives, calculating EOQ, layering in reorder points and safety stock, checking supplier constraints, and setting review and monitoring rules. It’s a solid framework — but it can also be time-consuming when you’re managing dozens or hundreds of SKUs across multiple sites.

This is where AI comes in. You can take your EOQ strategy further in two ways:

Option 1: Generate Strategies with the EOQ Strategy Advisor

👉 Try the EOQ Strategy Advisor

A lightweight way to automate the work you just learned — directly in a conversational assistant.

What it does

  • Walks you through the same steps covered in this guide: objective, scope, inputs, EOQ, ROP, safety stock, supplier terms, exceptions, and monitoring.
  • Performs the calculations instantly, with built-in formulas for EOQ, reorder points, and buffers.
  • Produces a clean, structured policy card or strategy document for a single SKU, a multi-SKU portfolio, or even by warehouse.

Why use it

  • Fast setup: just provide demand, costs, and lead time.
  • Consistent output: every SKU follows the same framework.
  • Error-free math, easy to re-run when inputs change.

Use this if you want to stay in spreadsheets or strategy documents, but eliminate the heavy lifting.

Option 2: Automate & Orchestrate with Tailor’s AI Inventory Management

👉 Learn more about Tailor AI Inventory Management

If the EOQ strategy is your playbook, Tailor’s AI is the system that runs the plays. Tailor integrates AI into your inventory operations end-to-end.

What it does

  • Reads and structures messy inputs (POs, vendor orders, change docs) with retail-trained AI.
  • Keeps inventory in sync across warehouses, channels, and ERPs.
  • Builds EOQ/ROP logic into workflows, so replenishment triggers are automated, not just calculated.
  • Human-in-the-loop review, giving operators control before changes go live.

Why use it

  • Scales EOQ/ROP policy across hundreds of SKUs and multiple warehouses.
  • Ensures strategy rules are executed inside your ERP, not left in a spreadsheet.
  • Reduces manual data entry and avoids errors that can undermine planning.

Use this if you’re ready for EOQ strategy to be operationalized at scale — not just generated once, but continuously orchestrated in your live inventory systems.

Bottom line:

CTA Image
LinkedIn IconTwitter IconDiscord Icon
Logo

© 2025 Tailor. All rights reserved.