Template · Industrial engineering

EOQ, safety stock and reorder point calculator

Economic order quantity, safety stock, reorder point and annual inventory cost for each SKU.

Create an account

Downloads are included in the $19.85 yearly membership. Sign in

XLSXCSVODSXMLNumbers
EOQ, safety stock and reorder point calculator
Example data — replace the blue input cells with your own.
Blue cells are inputs. Pick the service level from the Service levels tab; the other columns are formulas.
TOTAL ANNUAL INVENTORY COSTAVERAGE INVENTORY VALUENUMBER OF SKUS
$21,154$48,82512
Settings
Working days per year250Converts annual demand into average daily demand
CheckOK: every SKU has a listed service level and a standard deviation
SKU table (100 rows; one row per SKU)
SKUDescriptionAnnual demand (units)Unit cost ($)Order cost ($ per order)Holding cost (% of unit cost per year)Lead time (days)Daily demand std dev (units)Cycle service levelHolding cost per unit per year ($)EOQ (units)Orders per year
HX-BLT-008Hex bolt M8 x 30, zinc plated180,000$0.14$65.0020%14160.095.0%$0.0328,9096.2
SPR-CMP-02Compression spring, 2 mm wire42,000$0.55$45.0022%2140.097.5%$0.125,5897.5
BRK-AL-110Aluminum bracket, powder coated26,000$3.80$120.0025%2825.098.0%$0.952,56310.1
PCB-CTL-04Control board assembly, rev C6,000$42.50$180.0030%356.099.0%$12.7541214.6
CBL-USB-1MUSB cable, 1 m36,000$1.90$80.0025%1835.095.0%$0.483,48210.3

Showing the first 16 of 112 rows and 12 of 20 columns. Cells with formulas show the formula on hover.

What does this template do?

Inventory planners use the economic order quantity (EOQ) to balance ordering cost against holding cost, and safety stock to cover demand and lead time variation. This workbook is for buyers, planners and stores managers who set order quantities and reorder points for a list of SKUs.

For each SKU the sheet calculates the holding cost per unit per year, the EOQ rounded to whole units, the orders per year and the average daily demand. The z-value comes from the cycle service level you pick, read with an exact match from the Service levels tab. Safety stock is z times the daily demand standard deviation times the square root of the lead time. The reorder point is average daily demand times lead time plus safety stock.

The sheet also totals annual ordering and holding cost and shows the average inventory value. The example data is fictional: twelve SKUs for an assembly business.

What’s inside

  • EOQ = SQRT(2DS/H), rounded to whole units, for each SKU
  • Safety stock = z x daily standard deviation x SQRT(lead time), rounded up
  • Reorder point = average daily demand x lead time + safety stock
  • Service levels table with z-values from 80 to 99.9 percent
  • Annual ordering cost, holding cost, total cost and average inventory value

Which tabs does the workbook have?

TabWhat it holds
ItemsSettings, the SKU table with EOQ, safety stock, reorder point and annual cost, and the totals.
Service levelsCycle service levels and their z-values, read by the Items tab.
NotesWhat the workbook does, the formulas in words, assumptions and limits.

What formulas does this template use?

This template holds 1,109 formulas in 1,314 cells across 3 tabs, so 84% of its cells calculate. They use 12 distinct functions; the longest formula is 238 characters and 100 of them read from another tab.

FunctionUsesWhat it does
IF2,101one result when a test is true, another when false
ISNUMBER1,400true for a number
AND500true when every test is true
SQRT200square root
IFERROR100swaps an error for a fallback value
ROUND100rounds to a number of digits
ROUNDUP100rounds away from zero
VLOOKUP100looks a value up in a column
SUM7adds numbers
COUNTA1counts non-empty cells
COUNTIF1counts cells meeting one condition
SUMPRODUCT1multiplies matching entries, then adds them

Counted from the workbook itself. Only functions that Excel, LibreOffice Calc, Google Sheets and Apple Numbers evaluate the same way are used, so the formulas survive every download format.

How do you use it?

  1. Check the working days per year in the settings block on the Items tab.
  2. Enter each SKU's annual demand, unit cost, order cost, holding cost rate and lead time in the blue columns.
  3. Enter the daily demand standard deviation, then pick a cycle service level from the list.
  4. Read EOQ, reorder point and safety stock for each SKU, and the totals in the tiles.
  5. Use the Service levels tab to see which z-value sits behind each service level.

What is it good for?

  • Setting reorder points for a spare parts store
  • Comparing order quantities for purchased components
  • Checking how a higher service level changes safety stock and cost
  • Preparing an inventory review for a supply planning meeting

Questions about this sheet

Why is the total annual cost lower than the purchase spend?

The total annual cost counts ordering and holding costs only. The purchase price of the units is excluded, because the order quantity does not change it.

What does the service level mean here?

It is the cycle service level: the share of replenishment cycles that finish without a stockout. The z-value is the standard normal quantile for that level.

Why does a SKU show Pick a listed level?

The service level in that row is not one of the values in the Service levels table, so the sheet cannot find a z-value. Choose a level from the list.

Does the sheet assume normal demand?

Yes. The safety stock formula assumes daily demand is normal and independent from day to day, with a fixed lead time.