Skip to main content
Business LibreTexts

9.4: Inventory Models for Certain Demand - Economic Order Quantity (EOQ)

  • Page ID
    129528
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \(\newcommand{\longvect}{\overrightarrow}\)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    The very first model that we want to talk about is the simplest model out there, and is called Economic Order Quantity or EOQ. This model is very famous and the assumptions or conditions under which it works are as follows:

    • We are ordering the product or item from an outside supplier. That is, we do not have our own production of the item.
    • The demand is fixed or steady per unit of time (e.g., per year). Because the demand is fixed or known, there’s no reason to have a shortage. Basically, it means that you know exactly how much money you are going to make if you bring in enough number of units to satisfy that demand.
    • The lead time is constant. That is, there is no uncertainty because of the lead time either. So, if your supplier tells you that they are going to deliver in five days, you can certainly assume that five days is exactly five days and it is not going to be seven or it is not going to be three or four either.
    • We order a fixed amount or the same amount every time that we place an order to our supplier.
    • Our ordering cost is a fixed cost per order. Sometimes, when we order a greater number of units, our ordering cost per unit may change. But here, we are assuming that the ordering cost per order is simply the cost of administration in terms of placing the order and putting together the paperwork, etc. So, this simply means that if we order a larger or smaller lot size, it will not affect our ordering cost for that one order. But, it will change the number of orders that we place in a year. For example, if we order a larger lot size every time (note that all orders throughout the year are equal in size, based on the previous assumption), we will end up placing fewer number of orders in a whole year, and that will result in our total ordering cost in a year going down.

    Inventory Control Cycles or Order Cycles

    Usually, every order is associated with what we call an order cycle. We place an order and the order comes in, and then, we use the order that has come in to satisfy the demand, and then later on, when our inventory level gets down to a certain level, we place another order and after that, the same things get repeated again and again. That’s why every one of these is called a cycle which gets repeated.

    The picture below shows how the inventory level can change during the time:

    You receive an order (size = Q). The quantity decreases by demand rate (d). When quantity reaches reorder point quantity (R), place another order (size = Q). Order received after lead time (LT) expires, when 0 on hand. The cycle then repeats.

    The vertical axis is showing us the inventory level on hand, and the horizontal the time. The red line is showing the inventory level. At point #1, we receive an order. That is why our inventory level jumps up all the way from zero to Q units (Note that in the EOQ model, we order Q units every time we place an order to our supplier). As time passes (which is from left to right), the inventory level goes down due to the customer demand that we are satisfying from the inventory that we have on hand. Then, our inventory level gets to a certain point that we call R or reorder point. That is exactly the time that we need to place our next order.

    Because we do not want to have shortages, we consider a period of time which is equal to lead time and we go back in time for that amount (i.e., the duration of lead time) from when we expect our inventory level to hit zero, and we place the order right then. This way, we will have just enough inventory from when we place the order, which is at the reorder point, until the end of lead time, which is when our inventory is expected to hit zero, and exactly when we expect to receive our order.

    The only reason that we can do this with such confidence is that as mentioned before, the demand rate is fixed. As a result, we know exactly how the demand is changing and how much ahead of the time we need to place this order so that we received it just as we are about to run out. The time from when the order comes in until when the next order is received is called cycle time.

    The EOQ Model Calculations

    The objective of the EOQ model is to find the optimal order quantity (the size of the order that we place each time) which can minimize our total costs. As mentioned under the section for relevant costs earlier in this chapter, some costs may not be included in the calculations for different reasons. For example, the total acquisition (purchasing) cost is not included in the EOQ model without discounts, because that total amount stays the same no matter what order size we use throughout the year. We discussed this earlier. In addition, some costs like the shortage cost are not included because the assumptions or conditions behind the EOQ model will automatically result in no shortage. As a result, there will not be any shortage to consider.

    The only costs that are applicable to the EOQ model are the total ordering cost and the total inventory holding (carrying) cost. In our calculations in the following, we will calculate these costs for one whole year, and our goal is to minimize the sum of these costs in a year by finding the optimal order quantity.

    Here are the notations and some basic calculations:

    S=order cost ($/order) Q=order quantity H=carrying cost ($/item/year) N=number of orders per year D=demand (units/year) I avg=average inventory. Total cost=ordering cost + carrying cost. TC=SxN + HxI avg. TC(Q)=SxD/Q+HxQ/2

    Note that S is the fixed order cost per order. N which is the number of orders per year can easily be calculated. We know that in total, we need a demand of D units to satisfy in a year and we also know that we are bringing in Q units each time. For example, if the demand is 1000 units per year and if you order quantity happened to be 100 units, we will need to place our order 10 times throughout the year, which is 1000/10.

    About the average inventory, as mentioned in the section on relevant costs earlier in this chapter, we use the average inventory level to represent the inventory that we can see in our facility at all times during the year. That is why we multiply that by H which is the cost of holding one unit of inventory for one whole year. Please note that as mentioned before, the time measurement unit does not have to be in years. But if we needed to use a different time unit, we will need the other parts of the calculations (in this case, the demand) to be consistent with it to make sure they are all defined based on the same time unit of measurement.

    Since we want to minimize the total cost by finding the optimal order quantity, we will need to use the function that we have for it (called TC(Q) here) and find the value of the Q that makes the derivate of this function equal to zero. Assuming that we have done all that, the final result is as follows:

    EOQ=Q*=the square root of 2DS over H

    The * on top of Q shows that it is a special value of the Q, in this case, the optimal value. Let’s have a look at some examples.

    Example \(\PageIndex{1}\)

    Assume that Apple Canada has an annual demand of 250,000 for one of its tablets. A component has annual holding cost of $12 per unit, and ordering cost of $150. Calculate EOQ, total cost of ordering and inventory holding, number of orders per year and the order cycle time for this item. Assume 250 working days in a year.

    Solution

    H=$12 per unit. S=$150. D=250,000 units. EOQ=Q*=square root of 2DH over H=square root of 2X250,000x150 over 12=2500. TC(Q*)=SxD/Q*+HQ*/2=150x250,00/2500+12x2500/2=15000+15000=$30,000. Optimal number of orders per year = D/Q*=250,000/2500=100. Length of order cycle tome = 250 days in a year over 100 overs=2.5 days.

    Example \(\PageIndex{2}\)

    Assume that it costs BestBuy $625 each time it places an order with a manufacturer for a specific model of laptop. The cost of carrying one laptop in inventory for a year is $130. The store manager estimates that total annual demand for the laptops will be 1500 units, with a constant demand rate throughout the year. The store policy is never to have stockouts of the laptops. The store is open for business every day of the year except Christmas Day.

    Determine the following:

    a. Optimal order quantity per order

    b. Minimum total annual inventory costs

    c. The optimal number of orders per year

    d. The time between orders (in working days)

    Solution

    D=1500. S=$625. H=$130. a. Q*=square root of 2DS/H = square root of 2(1500)(625)/130=120.1. b.TC(Q)=SD/Q+HQ/2=625X1500/120.1+130x120.1/2=$15,612.49. c.D/Q=1500/120.1=12.49 orders. d. 364/12.49=29.14 days

    Example \(\PageIndex{3}\)

    The Modern Furniture Company purchases upholstery material from textile supplier in Halifax, Canada. The company uses 45,000 yards of material per year to make sofas. The cost of ordering material from the textile company is $1500 per order. It costs Modern Furniture $0.70 per yard annually to hold a yard of material in inventory. Determine:

    a. The optimal number of yards of material Modern Furniture should order

    b. The minimum total inventory cost

    c. The optimal number of orders per year, and

    d. The optimal time between orders

    Solution

    D=45,000. S=$1500. H=$0.70. a.Q*=square root of 2DS/H= square root of 2(45000)(1500)/0.70 = 13,887.3 yd. b.TC(Q)=SD/Q + HQ/2=1500x45000/13887.3+0.7x13887.3/2=$9721.11 c. D.Q=45000/13887.3=3.24 orders per year. d.365/3.24=112.6 days


    9.4: Inventory Models for Certain Demand - Economic Order Quantity (EOQ) is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Hamid Faramarzi and Mary Drane.