I. Field of the Invention
The present invention relates generally to methods and systems for managing inventory. More particularly, the present invention relates to methods and systems for managing inventory by determining order quantity and safety stock.
II. Background Information
In today's world of business, with global competition running rampant and consumer expectations ever-increasing, the efficiency of a business enterprise is becoming more important than ever. No longer will a consumer accept any delay in satisfying their mounting appetite for goods and services. They want their materials, goods, and services immediately, and in addition, demand the highest quality at the lowest cost. Hence, many businesses use supply chain management to control and optimize their production and cost.
Supply chain management is a set of approaches and processes for efficiently integrating suppliers, manufacturers, warehouses, and stores, so that merchandise is produced and distributed at the right quantities, to the right locations, and at the right time, in order to minimize system-wide cost while satisfying service level requirements. A supply chain is a network of facilities and distribution options that procures and acquires material, processes the material, transforms the material into intermediate and finished products, and distributes the finished products to customers, whether intermediate or final ones. Supply chains exist both in manufacturing as well as in service organizations.
If a customer wishes to purchase a certain quantity of goods or services from a facility within a supply chain, availability of the goods or services at the facility is desirable because a shortage will cause a disruption in the supply chain. As used herein, goods may comprise, for example, any quantity or number of parts, products, materials, merchandise, supplies or any other item or service. The customer may be an end customer, a middleman, or another facility acting like a customer in a supply chain (e.g. a manufacturer, distributor, warehouse, and the like). Moreover, any inventory shortage in the supply chain could have an immense impact on the efficiency of the business, including production delays, missed order deadlines, an inability to meet consumer demand, complete stoppages of the business's production, and lost business and revenue. Thus, an inventory shortage can have extremely negative consequences on the business's reputation, market share, profitability, and ultimately, survivability.
To satisfy customer demand, the facility may either make the goods or obtain them from a supplier. The supplier may be an external vendor, a manufacturer, a supplier, a warehouse, or any other facility or entity. As used herein, an “order quantity” is a value representing a quantity of goods ordered from an entity or facility, such as suppliers, manufacturers, and the like. Once the goods corresponding to an order quantity are received by a facility, it becomes part of the facility's stock of goods available at the facility. When ordering goods from a supplier, a certain period of time, called the lead time, elapses between the time an order is placed by a customer with the supplier and the time the goods are available for the customer. The lead time includes, for example, the process of ordering the goods, the time that the supplier needs to make the goods available, the time for transporting the goods to the facility, and the time needed to process the receipt of the goods at the facility.
If demand for goods is predictable (e.g. a continuous demand for the good), a particular quantity of goods will suffice for a certain time, and that time depends on the rate of demand. To keep up with the demand, a new order has to be placed with the supplier before the facility's stock is exhausted because the newly ordered goods will not be available for delivery to a customer until after the lead time. For example, if the lead time is one week, a new order must be placed with the supplier at least one week before the facility's inventory will be exhausted. As such, the newly ordered goods will be available for delivery to customers on or before the day that the existing stock is exhausted. Thus, the facility will always satisfy the customer demand when the demand is continuous. Customer demand, however, is almost never predictable, such as with a continuous demand pattern. Therefore, more advanced inventory planning is necessary.
Because demand for a good is generally not known in advance, it must be determined from a forecast of demand for the good. Actual demand for a good, however, may vary from the forecasted demand. If actual demand for a good is higher than the forecasted demand for the good, a customer demand for the good might not be satisfied. Moreover, the actual lead time may vary from a predicted (or anticipated) lead time. Even with a continuous demand, if the actual lead time is longer than the anticipated lead time, situations may arise where customer demand might not be satisfied. To hedge against this possibility, the facility may hold a safety stock. A safety stock is a value representing the amount of goods on hand to prevent running out of goods in stock. As used herein, the term “inventory” refers to the goods available at a facility, which can include both order quantity and safety stock.
To a certain extent, holding a safety stock can mitigate demand or lead time uncertainties. For example, if the actual customer demand for a good is higher than the forecasted demand, the safety stock provides additional goods that can be used to satisfy customer demand for the good during the lead time. Also, if the actual lead time is longer than the anticipated lead time, the safety stock can be used to satisfy customer demand before the newly ordered goods are actually received and available for customers.
Conventionally, the level of safety stock was independent of order quantity. Instead, the safety stock depended mainly on the service level to be secured during the lead time. This service level measures how many sales orders can be fully satisfied compared to all orders, or how many of the ordered goods can in fact be delivered. The higher the service level, the higher the quantity of goods held as safety stock to safeguard against uncertainties and demand variations that could lead to a shortage of goods. A shortage of goods could result in unsatisfied customer orders, non-delivery, or late delivery.
Traditionally, the service level used to determine safety stock was only applicable to the goods available during the lead time, not the entire demand period. A demand period is the time that elapses between orders for goods (i.e. the amount of time after an order for goods is placed and before the next order for those goods is placed). For example, if the facility places one order every four weeks, the demand period is four weeks. The lead time, as explained above, is the time that elapses between the time an order is placed and the time the goods become part of the facility's inventory, for example, one week. In any given demand period, a 100% service level could be maintained until the lead time, because if an increased demand occurred before the lead time, the remaining inventory could be used to satisfy this demand and new goods could be ordered to supplement the inventory before the end of the demand period (as long as the increased demand did not exhaust all inventory). For example, following the example provided above, if an increased demand arose before the lead time, e.g. two weeks before the end of the demand period, new goods could be ordered and received within one week, which is before the end of the demand period. In this case, safety stock is not necessary because a new order can be placed and received in time. Safety stock was therefore only a concern when the demand increased during the lead time period. Accordingly, the amount of safety stock necessary to account for any demand variations during the lead time was traditionally determined based on the service level to be achieved during the lead time. For example, a 95% service level during the lead time may correspond to a specific quantity of goods held as safety stock. One of ordinary skill in the art would recognize that software packages used to determine safety stock based only on lead time (independently of order quantity) are known, such as SAP Advanced Planning & Optimization (“SAP APO”), available from SAP AG (Walldorf, Germany).
In some situations, however, there can be a relationship between safety stock and order quantity. For example, when the quantity ordered from the supplier is increased and the rate of demand remains the same, the delivered stock will satisfy demand for a longer period of time. A greater order quantity, therefore, may reduce the probability that demand for a good cannot be met promptly when it occurs. In other words, the greater the quantity ordered from the supplier, the lower the quantity required for safety stock. In some cases, to achieve a given service level (e.g. 95%) across an entire demand period, including the lead time, it may be possible to reduce or even eliminate the safety stock by increasing the order quantity. Moreover, total cost associated with inventory (both cycle stock and safety stock) depends on the quantity ordered from the supplier and any goods held as safety stock. Accordingly, it would be beneficial to calculate safety stock and order quantity in combination to determine an order quantity and safety stock with a reduced total cost that fulfills a desired service level across the entire demand period.
Methods, systems, and articles of manufacture consistent with the present invention facilitate inventory management. More particularly, methods, systems, and articles of manufacture for managing inventory are provided that determine an order quantity and a safety stock.
One exemplary aspect of the present invention relates to a method for managing inventory, which includes determining a first order quantity, determining a search direction, and determining a second order quantity and a safety stock based on the first order quantity and the search direction, such that the second order quantity and the safety stock reduce total cost.
Another exemplary aspect of the present invention relates to a system for managing inventory, which includes a processor and a memory, wherein the processor and the memory are configured to perform a method for managing inventory. The method includes determining a first order quantity, determining a search direction, and determining a second order quantity and a safety stock based on the first order quantity and the search direction, such that the second order quantity and the safety stock reduce total cost.
Another exemplary aspect of the present invention relates to a computer-readable medium containing instructions to configure a data processor to perform a method for managing inventory. The method includes determining a first order quantity, determining a search direction, and determining a second order quantity and a safety stock based on the first order quantity and the search direction, such that the second order quantity and the safety stock reduce total cost.
Additional aspects of the invention are set forth in the detailed description which follows or may be learned by practice of methods, systems, and articles of manufacture consistent with the present invention. The foregoing background and summary are not intended to be comprehensive, but instead serve to help artisans of ordinary skill understand the following implementations consistent with the invention set forth in the appended claims. In addition, the foregoing background and summary are not intended to provide any limitations on the claimed invention.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments and aspects of the present invention and, together with the description, explain the principles of the invention. In the drawings:
Reference will now be made in detail to exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. The implementations set forth in the following description do not represent all implementations consistent with the claimed invention. Instead, they are merely some examples of systems and methods consistent with the invention.
Systems and methods consistent with one embodiment of the present invention determine values of order quantity and safety stock, such that the determined values reduce (e.g., minimize) the total cost associated with ordering the goods and holding the goods in inventory. Moreover, in some embodiments of the present invention, the values of order quantity and safety stock may be determined using a three-step iterative process. First, a proposed quantity of goods to be ordered (also referred to herein as a “first order quantity”) from an entity, such as a supplier, is determined. Although the proposed quantity can be any value, the first order quantity may be equal to an Economic Order Quantity (EOQ), described in greater detail below with respect to
To determine order quantity and safety stock values that reduce the total cost, such as total inventory cost, a processor may determine such quantities based on a fixed order cost for each purchase order and a carrying cost for holding each good in the facility's inventory. The fixed order cost is a fixed amount per transaction (or order) and does not generally vary with the order quantity. For example, the fixed order cost may depend upon the supplier, transportation mode, and the like. Thus, when fewer orders (having larger quantities) are placed in a year, the fixed order cost for that year may be reduced. Further, as the safety stock is reduced by increasing the order quantity, the carrying cost for holding the safety stock decreases. An increased order quantity also increases the cost of holding regular goods (or stock). Accordingly, the total annual cost may be determined based on the order quantity and the safety stock. Moreover, optimum values of order quantity and safety stock may be determined such that the total cost is reduced.
Data processing unit 102, as illustrated in
Storage module 108 may be embodied with a variety of components or subsystems capable of providing storage including, for example, a hard drive, an optical drive, a general-purpose storage device, a removable storage device, and/or memory. Further, although storage module 108 is illustrated in
The I/O module 110 may include one or more input and/or output devices, such as a display 112, an input device 114, a network interface 116, and a printer 118. Network interface 116 enables data processing system 100 to communicate through a network. For example, network interface 116 may be embodied as an Ethernet network interface card or a wireless LAN interface card, such as cards compatible with the IEEE 802.11 series of standards. Input device 114 may be implemented with a variety of devices to receive a user's input and/or provide the input to data processing unit 102. Some of these input devices may include, for example, a keyboard and a mouse. Moreover, although I/O module 110 is depicted in
Data processing system 100 may communicate with one or more suppliers 122 and 124 and one or more customers 126 and 128 through communication channel 120 via network interface 116. Communication channel 120 may be embodied as any type of communication medium or channel and may include, alone or in any suitable combination, a telephony-based network, a local area network (LAN), a wide area network (WAN), a dedicated intranet, the Internet, a wireless network, or a bus. Moreover, in one embodiment, communication channel 120 may include or be a part of a communications network, such as the Internet or a corporate intranet that is compatible with a networking protocol such as TCP/IP (Transport Control Protocol/Internet Protocol).
Suppliers 122 and 124 may provide goods to a facility wherein the exemplary system environment illustrated in
Customers 126 and 128 may request and/or receive goods from a facility implementing the system illustrated in
Returning to step 202, the first order quantity may be determined as illustrated in
Once a range is determined, data processor 104 sets the first order quantity as the Economic Order Quantity (EOQ) (step 304). The EOQ is determined based on a fixed order cost (also referred to as “order cost”) associated with making each transaction, such as a purchase order, and/or a cost to hold each inventory unit (“inventory carrying cost”). The order cost is an administrative cost for making the transaction, such as transportation costs, contracting, procurement costs, and other costs that remain relatively fixed for each transaction. For example, the cost of shipping goods by air is part of the order cost of those goods. The total order cost (CORD) for a twelve month period is a function of order quantity, and can determined according to the following equation:
where Ω represents the cost to place one order; m represents the forecasted demand for the next 12 months; and Q represents the order quantity. The inventory carrying cost is the cost associated with holding each item of inventory. The total inventory carrying cost (CINV) for a twelve month period is also a function of order quantity, and can be determined according to the following equation:
where Ss represents the quantity of goods held as safety stock; Q represents the order quantity; and CINV represents the annual inventory carrying cost per unit. The annual inventory carrying cost per unit (CINV) may take into consideration factors such as location planning cost, volume cost, price-quantity-scales, interest rate, depreciation, and other factors associated with the good or its procurement. Moreover, such factors may be different for each facility.
The Economic Order Quantity (EOQ) may be the order quantity for which the inventory carrying cost and the order cost are equal.
where Ω represents the cost to place one order; m represents the forecasted demand for the next 12 months; and CINV represents the annual inventory carrying cost per unit. Although in the embodiment illustrated in
Once the first order quantity has been set (step 304), data processor 104 determines whether the order quantity is outside the predetermined range defined in step 302 (step 306). Returning to the previous example, if the order quantity range is defined in step 302 as 10-100 mufflers, any order quantity less than about ten mufflers or greater than about one hundred mufflers will fall outside the defined range. In this example, if the first order quantity is set at ten mufflers, it would not fall outside the defined range. If, however, the first order quantity is set at two mufflers, it would fall outside the defined range. If the first order quantity is outside the predetermined range defined in step 302, then data processor 104 sets the first order quantity as the minimum order quantity within the range defined in step 302 (step 308). Continuing with the above example, if the first order quantity is two mufflers, which falls outside the defined range, in step 308, data processor 104 sets the first order quantity to ten mufflers, which is the minimum order quantity within the defined range of 10-100 mufflers. If the first order quantity does not fall outside the defined range (step 306), then the process ends.
Returning to
CTOT=CINV+CORD Equation 4
Further, as explained above with respect to
where Ω represents the cost to place one order; m represents the forecasted demand for the next 12 months; and QEOQ represents the EOQ.
Once the base cost has been determined, data processor 104 defines a quantity increment (step 502). Specifically, the quantity increment is an amount that the order quantity will be changed during each iteration of step 206. This increment can be defined as any number of quantity units, depending on the preferences, specifications, constraints, or limitations of the facility implementing the process. Returning to the muffler example, the quantity increment may be one muffler.
Next, data processor 104 increases the first order quantity by one increment (step 504). Returning again to the muffler example, if the first order quantity is set at ten mufflers and the quantity increment is defined as one muffler, data processor 104 increases (step 504) the order quantity to eleven mufflers.
Once the order quantity has been increased, data processor 104 determines a safety stock (Ss) that corresponds to the increased order quantity (Q) (step 506). The safety stock (Ss) is determined based on a service factor (k) derived from service efficiency, a compound lead-time (λc), and a standard deviation of the forecast demand (σ). An exemplary equation for safety stock (Ss) is as follows:
Ss=k*√{square root over (λc)}*σ Equation 6
where the service factor (k) is derived from the effective service shortage (K).
One of ordinary skill in the art may recognize that software tools are commercially available to determine a service factor (k) from an effective service shortage (K) and to determine safety stock (Ss). For example, safety stock planning tools for calculating Equations 1-6 are available in the SAP APO, where service factor k can be determined based on a service level over lead time. Moreover, a percentile function based on a statistical function can be used to determine service factor k from an effective service level over lead time. Percentile functions are commercially available in software, such as MathCAD or Microsoft Excel. Furthermore, the effective service level over lead time can be determined based on effective service shortage K (described below with respect to Equations 8 or 9). Specifically, the effective service level over lead time can be determined as follows:
Service level over lead time =1−K. Equation 7
Although the Equation 6 does not include order quantity, safety stock may be determined based on order quantity because the effective service shortage (K) is determined based on the order quantity. Specifically, when the target service level (or efficiency) (P) is defined as a target service level across an entire demand period (and not just for the lead time), the effective service shortage (K) becomes a function of order quantity (Q). Thus, a target service efficiency (P) representative of the entire demand period may be used to determine the effective service shortage (K) as follows:
where P represents the target service efficiency; Q represents the order quantity; λc represents the compound lead-time; and a represents the standard deviation of the forecast demand in pieces per period. This equation is based on the assumption of a normal distribution. The effective service shortage (K) may also be determined based on a Poisson distribution according to the following equation:
K=(PV*Q*cost)/N Equation 9
where PV represents a policy variable; Q represents the order quantity; cost represents the planning cost; and N represents the forecasted number of entries per period. By way of example, PV may represent a policy variable that is may be defined in a separate process (e.g., an earlier optimization process) or one determined by an external host system. Equations 8-9 can thus be used to determine an effective service shortage K.
In Equations 6 and 8, the compound lead-time (λc) includes various elements. Generally, the elements that factor into compound lead-time can be grouped into the following categories: (1) time required for a facility to determine an order plan, which includes, for example, the number of goods to order and what supplier to order the goods from; (2) time required for a facility to review and authorize an order plan; (3) time required for the facility to send the order plan to the supplier; (4) time required to place the order at the supplier; (5) a supplier's internal lead-time, which includes reaction time, procurement time, manufacturing time, and shipping time; (6) time required for the transportation of goods from the supplier to either a packager or the facility; (7) time required for the packager to process the goods; (8) transportation lead-time between facilities and packagers (e.g., time required to ship by air, rail, or ground); and (9) time required for receiving and processing the goods at the facility. Compound lead-time may be determined as the sum of one or more of these categories.
Returning to
Returning to
Next, data processor 104 sets the order quantity equal to the first order quantity determined in steps 304-308 (step 602). As explained above with respect to
Once the order quantity has been incremented, data processor 104 determines whether the order quantity is outside the predetermined range defined in step 302 (step 606). If the order quantity is outside the predetermined range, data processor 104 determines the optimum order quantity by decreasing the order quantity by one increment (step 616). Then, data processor 104 determines an optimum safety stock based on the optimum order quantity (step 618) using, for example, the manner described above with respect to step 506.
If the order quantity is not outside the predetermined range, data processor 104 determines a safety stock based on the order quantity (step 608). In step 608, the safety stock may be determined in the same manner as in step 506, i.e., using Equation 6. Once the safety stock is determined (step 608), data processor 104 determines a total cost for the safety stock and the order quantity (step 610). In step 610, the total cost may be determined as described with respect to step 508.
Once the total cost is determined, data processor 104 compares the total cost to a previous cost (steps 610-612). If the total cost is less than a previous cost, data processor 104 resets the previous cost to a value equal to the total cost (step 614), and the process returns to step 604, where the order quantity is increased by another increment. Steps 604-614 are repeated until data processor 104 determines in step 612 that the total cost is greater than the previous cost. This iterative process (steps 604-614) is used to find a reduced cost, such as a minimum cost. While, in one embodiment of the present invention, this reduced cost may be a minimum cost, in other embodiments it may be any cost less than a maximum total cost. Returning to step 612, if the total cost is greater than the previous cost, the series of steps 604-614 ends. Next, in step 616, data processor 104 determines the optimum order quantity by decreasing the current order quantity by one increment.
Once the optimum order quantity is determined, data processor 104 determines the quantity of safety stock based on the order quantity (steps 616-618), as described above with respect to step 506. These quantities may be optimum quantities since they reduce the total cost associated with a facility's inventory. By using predetermined increments for the order quantity, the steps of
Returning to step 518, when the total cost is greater than the base cost as determined in steps 510 and 514, the optimum order quantity and safety stock are determined as illustrated in
Once the order quantity has been incremented, data processor 104 determines whether the order quantity is outside the predetermined range defined in step 302 (step 806). If the order quantity is outside the predetermined range, data processor 104 determines the optimum order quantity by increasing the order quantity by one increment (step 816). Then, data processor 104 determines an optimum safety stock based on the optimum order quantity (step 818), using, for example, the manner described with respect to step 506.
If the order quantity is not outside the predetermined range, data processor 104 determines a safety stock based on the order quantity (step 808). In step 808, the safety stock may be determined in the same manner as in step 506 (e.g., using Equation 6). Once the safety stock is determined (step 808), data processor 104 determines a total cost for the safety stock and the order quantity (step 810). In step 810, the total cost may be determined as described with respect to step 508.
Once the total cost is determined (step 810), data processor 104 compares the total cost to the previous cost (step 812). If the total cost is not greater than a previous cost, data processor 104 resets the previous cost to a value equal to the total cost (step 814). Thereafter, the process returns to step 804, where the order quantity is decreased by another increment. Steps 804-814 may be repeated until data processor 104 determines in step 812 that the total cost is greater than the previous cost. This iterative process (steps 804-814) is used to find a reduced cost, such as a minimum cost. While, in one embodiment of the present invention, this reduced cost may be a minimum cost, in other embodiments it may be any cost less than the maximum total cost. Returning to step 812, if the total cost is greater than the previous cost, the series of steps 804-814 ends. Next, in step 816, data processor 104 determines the optimum order quantity by increasing the current order quantity by one increment. Then, data processor 104 determines an optimum safety stock based on the optimum order quantity (step 818). As disclosed herein, this determination may be done consistent with, for example, the approach described with reference to step 506.
Although the systems and methods can be applied to a simple single supply chain or network, the systems and methods can also be applied to more complex supply networks containing a number of different facilities, such as a complex tree-like, hierarchical supply chain or network. Specifically, a bill of distribution (BOD) is essentially a location hierarchy that describes how goods are physically distributed within the supply chain. All facilities within a particular distribution network are included in one BOD, and a BOD can be assigned to one or more parts. The top node(s) of the BOD location hierarchy are called entry point(s). From the entry point, the BOD branches out into one or more child points, which represent different facilities within the distribution network. Within a distribution network, the process of forecasting demand is done using a bottom-up approach starting with the child facilities and moving up to the entry point. When performing inventory planning using the systems and methods described herein, however, the direction may be top-down. Inventory planning may begin with the entry point and then move down to each of the child points. For example, the demand period at the entry point can be determined before determining the order quantity and safety stock of a lower level of child points because sometimes the order quantity and safety stock determined at a higher level can be allocated (or pushed) to facilities on a lower level of the hierarchy.
The foregoing description of possible implementations consistent with the present invention does not represent a comprehensive list of all such implementations or all variations of the implementations described. The description of only some implementations should not be construed as an intent to exclude other implementations. One of ordinary skill in the art will understand how to implement the invention in the appended claims in may other ways, using equivalents and alternatives that do not depart from the scope of the following claims.
The systems and methods disclosed herein may be embodied in various forms including, for example, a data processor, such as a computer that also includes a database. Moreover, the above-noted features and other aspects and principles of the present invention may be implemented in various environments. Such environments and related applications may be specially constructed for performing the various processes and operations according to the invention or they may include a general-purpose computer or computing platform selectively activated or reconfigured by code to provide the necessary functionality. The processes disclosed herein are not inherently related to any particular computer or other apparatus, and may be implemented by a suitable combination of hardware, software, and/or firmware. For example, various general-purpose machines may be used with programs written in accordance with teachings of the invention, or it may be more convenient to construct a specialized apparatus or system to perform the required methods and techniques.
Systems and methods consistent with the present invention also include computer readable media that include program instruction or code for performing various computer-implemented operations based on the methods and processes of the invention. The media and program instructions may be those specially designed and constructed for the purposes of the invention, or they may be of the kind well known and available to those having skill in the computer software arts. Examples of program instructions include, for example, machine code, such as produced by a compiler, and files containing a high level code that can be executed by the computer using an interpreter.
Number | Date | Country | Kind |
---|---|---|---|
04105096.4 | Oct 2004 | EP | regional |
This application claims priority under 35 U.S.C. § 119 to U.S. Provisional Application No. 60/618,804, filed Oct. 15, 2004, which is expressly incorporated herein by reference to its entirety. Further, this application claims priority to European Patent Application No. 04105096.4, filed Oct. 15, 2004, which is also expressly incorporated herein by reference to its entirety.
Number | Date | Country | |
---|---|---|---|
60618804 | Oct 2004 | US |