EOQ-function was first created for manufacturing industry. It was originally founded by Ford. W. Harris in 1913. He discovered that when manufacturing line was set from one product to another there will always be condemned production and time is spent to make new settings. On the other hand bigger manufacturing batches need more capital and storage room.

Here is pattern how capital and storage cost are corresponding with setting costs in different quantities. Products unit cost is 250 €, setting cost 500 € and storage and capital cost 35 € (250 * 10 % + 10 €). In this example we will count 10 € per piece for storage. Unit cost is not included in the figure, total cost here is only for capital, storage and setting costs. If we change input values the economical order quantity will change but the figure model remains the same. This figure is only to demonstrate how these costs behave.


Ordering and storage costs in different lot sizes

Option for own manufacturing is to buy product from supplier and supplier will charge this setting cost from the buyer. This is why this function is working with purchasing decisions too. Function takes consideration of products cost, demand, interest and ordering costs. Products cost and demand are easily determinable and calculation interest comes from business management but what to take consideration in ordering costs. If we have full time buyer, should we split his wage to every order he makes? Should we calculate some mean time that handling of the purchasing order takes from the buyer? Should we calculate time that warehouse uses to receive and shelve products? I’m sure there is much more things to consider about. This should be considered thoroughly as ordering/setting costs takes huge role in this function.

Assumptions for the function

In order to work this formula has following assumptions

  • Production is instantaneous. No capacity constrains, entire lot is produced simultaneously
  • Delivery is immediate
  • Demand is deterministic
  • Demand is constant over time. It can be represented as a straight line.
  • A production run incurs a fixed setup cost. Regardless of the order size.

All formulas need some assumptions. Real world is much more sophisticated and harder to analyze. This is why all the numbers should not be read precisely. Instead the result should be rounded in to the multiple of the package size. In example some shampoos are sold in bathces of 6, something is sold in 10-packs and beverages in cans are sold in 24-packs. It would be stupid to order 25 cans soda. It requires supplier to break package and send 1 can individually. Handling is much more difficult and damages are more likely to occur. That’s why we should buy soda in multiplies of 24.


EOQ formula

EOQ function

  • Q = Economical/Optimal order quantity
  • P = Ordering costs (setting costs)
  • D = Demand in year
  • H = Holding costs
  • Holding costs can be:
    • CV (C = Interest, V = Products unit price)
    • CV + I (I = storage cost per unit)

From this EOQ-function (try it here) with these values our optimal order quantity is 169 pieces which can be also seen from the figure. That is the point where holding costs and ordering cost intersect. This is also the point where total cost is at it’s minimum.

From the formula we can see that optimal order quantity is increasing in the square root of the ordering costs or demand. Correspondingly it is decreasing in the square root of the holding costs. Most important notice that Harris Ford made was that there is a tradeoff between inventory and lot size. Increasing lot size increases the average inventory but reduces the ordering frequency.

Figure below demonstrates inventory value on different ordering cycles. It is important to notice that when we change our orders from 10 to 20 in year our inventory drops 50 % from 12 500 € to 6 250 €. But ordering 30 times a year our inventory drops only 33 % to 4 167 euros.

Inventory value in different ordering cycles

Inventory value in different ordering cycles

Cost factor of the lot size changing

In our example the total costs without products price itself is under 7 euros when lot size is 94 – 306 pieces. EOQ is 169 pieces and then the total cost per unit will be 5,92 euros. This means that the lot size can be changed quite much without causing big cost changes to total yearly costs.

Yearly costs of purchasing and storing in different quantities is:

Vuosittainen hankinta ja pitokustannus
  • Y = Total yearly cost from purchasing and storing

Which we can lead in to this optimal yearly cost -function:


Optimal order quantity of this example will cost 5916 € in year.

Cost factor of decided order quantity compared to optimal is:

  • Qp = Decided order quantity
  • Qo = Optimal order quantity

From this formula we can calculate that doubling or halving the EOQ it’s cost factor is 25 % of the optimum. And with 20 % change in lot size cost factor is only 1,7 %.

Optimal ordering cycle is Q / D, which means that EOQ lot size is divided by demand. Optimal order cycle can be calculated also from this formula:

Optimaalinen tilaussykli

This means our order cycle in this example would be 0,169 year which is 8,8 weeks or 61,7 days. Cost factor of changing the order cycle can be calculated from the same formula than lot size changing above.

If we order products from same suppliers we should use order intervals. On Factory Physics Hopp recommends  that order interval should be the power of 2.

  • 20 = 1 week
  • 21 = 2 weeks
  • 23 = 4 weeks
  • 24 = 8 weeks

These can be also days or months depending on product. The idea is that we center our orders on same days so that we can combine our orders and share transportation.

Order interval of our example should be 8,8 weeks. If we round that in to nearest power of two it would be 8 weeks which is 0,154 year and our order quantity is 154 pieces.

Our yearly cost for 154 pieces is 5942 € which is under 1 % from the optimal 5916 €. If we can use this change to combine transportation and save same ordering costs it’s profitable change.

As an check from the cost factor -function:


Written by Jesse Uitto

Sales Director @ Novellus.fi

Leave a Reply

Your email address will not be published. Required fields are marked *