The present disclosure relates to smart analytics for forecasting parts returns for reutilization. More particularly, the present disclosure analyzes production history and functioning parts returns history of a legacy system to forecast functioning parts returns of a next generation system.
Manufacturers receive functioning parts returns from customers that own systems for various reasons. One reason that customers return functioning parts is because they may wish to upgrade their systems for performance reasons, such as increasing memory and/or increasing processor performance. As a result, manufacturers obtain functioning parts that may be re-utilized for work orders such as warranty repairs. This is not only good for the environment, but it also contributes to a manufacturer's profit margins.
Normal procurement practice, however, requires a manufacturer to order new parts several months ahead of the manufacturer's planned utilization date. Longer lead-time parts require the manufacturer to order new parts even further in advance of the manufacturer's planned utilization date. As such, the manufacturer builds inventory of the purchased new parts and the functioning returned parts.
According to one embodiment of the present disclosure, an approach is provided in which the approach maps first parts included in a first system to second parts included in a second system. The approach then utilizes functioning first parts returns data, which indicates an amount of parts included in the first system that have been returned and are functioning, to forecast an amount of functioning parts corresponding to the second system to be returned. As such, the approach generates a functioning second parts returns forecast based upon the amount of functioning second parts that are forecast to be returned.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations, and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present disclosure, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below.
The present disclosure may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings, wherein:
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The embodiment was chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present disclosure are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The following detailed description will generally follow the summary of the disclosure, as set forth above, further explaining and expanding the definitions of the various aspects and embodiments of the disclosure as necessary.
Different system versions may utilizes different part versions, which may have different return life cycles. For example, the returns pattern for a 4 GB memory (base version) might be earlier and more consistent than the returns pattern for a 16 GB memory (premium version). As such, this disclosure correlates part versions between a first system and a second system based upon part grouping (e.g., processor, memory) and categories within the group (base version, premium version, etc.)
In order to accurately generation functioning parts returns forecast 140, analytical forecaster 150 retrieves first system production data 160 and second system production forecast 170 that, in one embodiment, includes production rates (quantity and timing) and part information corresponding to a first system type (legacy system) and a second system (next generation system), respectively. Analytical forecaster 150 uses this system information to correlate parts between the first system and the second system. For example, premium processors used on a first system are correlated with premium processors on the second system (see
In one embodiment, part correlation is performed on a “relative” basis to a system. For example, a legacy system may have shipped a 16 GB memory device as a premium memory, whereas a next generation system may plan to ship a 16 GB memory device as a mid-level version due to technological advancements.
Analytical forecaster 150 retrieves functioning first parts returns data 180 that identifies parts included in a first system's production build that were returned and functioning (e.g., customer upgrades). In turn, analytical forecaster 150 uses first system functioning parts returns data 180 along with information gathered from analyzing first system product data 160 and second system product forecast 170 to generate functioning parts returns forecast 140. Functioning parts returns forecast 140 includes a forecast of parts utilized in the second system that will be returned and still functional. In one embodiment, functioning parts returns forecast 140 includes a start time at which to expect returned parts (time 145, see
As such, a scheduler can plan when to use functioning returned parts to fulfill a portion of second system parts requirements 125 and reduce the amount of new parts to place on order (new parts order plan 130).
At step 220, processing selects a first system to correlate with the second system, such as a from a predecessor product line. For example, a business may have six server products from a legacy product line and processing selects one of the six servers. At step 230, processing retrieves system data corresponding to the selected first system from first system data store 235. At step 240, processing compares the second system production forecast to the selected first system's production data, such as by comparing actual sales/returns of first systems to forecasted sales/returns of the second system.
A determination is made as to whether correlation exists between the selected first system and the second system (e.g., via pairwise or rank) (decision 250). If correlation does not exist, decision 250 branches to the “No” branch, whereupon processing loops back to select a different first system at step 255 (e.g., a different server version from the product line). This looping continues until a first system is identified that correlates with the second system, at which point decision 250 branches to the “Yes” branch.
Processing creates part groups (e.g., processors, memory, etc.) and part categories within the part groups (e.g., premium, mid-level, base, etc.) using part information corresponding to the first system (pre-defined process block 260, see
In turn, processing maps parts utilized in the second system to parts utilized in the first system (pre-defined process block 270, see
Processing, at step 320, identifies a part group corresponding to the selected part (e.g., processor, memory, etc.) and stores part information (e.g., part number) in the identified part group, such as in a table entry located in forecast store 280 (step 330). A determination is made as to whether there are more parts in the first system to assign to a group (decision 340). If there are more parts to assign to a group, decision 340 branches to the “Yes” branch, which loops back to select and group the next part. This looping continues until there are no more parts to group, at which point decision 340 branches to the “No” branch.
At step 350, processing selects the first part group (e.g., processors) and, at step 360, creates part categories according to the part information stored in the selected part group. For example, processing may identify a premium version processor and a base version processor within a processor part group and, as such, create a premium category and a base category accordingly. As those skilled in the art can appreciate, other approaches may be utilized to create categories within a group, such as using pre-defined categories.
Processing assigns each of the parts within the selected group to their corresponding category at step 370, and a determination is made as to whether there are more part groups for which to create categories and assign parts to the categories (decision 380). If there are more part groups, decision 380 branches to the “Yes” branch, which loops back to select and process the next part group. This looping continues until there are no more part groups for which to create categories, at which point decision 380 branches to the “No” branch, whereupon processing returns at 390.
Next, at step 420, processing identifies a part group that corresponds to the selected part (e.g., processor part group, memory part group, etc.), and stores part information of the selected part (e.g., part number) in the identified part group located in forecast store 280. A determination is made as to whether there are more parts from the second system to assign to a part group (decision 440). If there are more parts to assign to a part group, decision 440 branches to the “Yes” branch, which loops back to select and process a different part. This looping continues until there are no more parts to assign to a part group, at which point decision 440 branches to the “No” branch.
At step 450, processing selects a part group in forecast store 280 and, at step 460, processing assigns each of the second system parts to a particular category within the part group (e.g., premium category, base category, etc.). In one embodiment, processing assigns categories based upon their part number. In another embodiment, processing assigns a category to a part based upon the parts performance relative to other parts assigned to the same category.
Processing, at step 470, maps the second system parts to the first system parts according to their group and category. For example, a first system's 2 GB memory device may be mapped to a second system's 8 GB memory device because they were both assigned into a “base” category within a memory group (see
A determination is made as to whether there are more part groups that include parts for which to map (decision 480). If there are more part groups for which to map parts, decision 480 branches to the “Yes” branch, whereupon processing loops back to select a different part group. This looping continues until there are no part groups for which to map parts, at which point decision 480 branches to the “No” branch, whereupon processing returns at 490.
At step 520, processing retrieves first system functioning parts returns data from first system data store 235, such as the amount and type of processor/memory returns that still function (e.g., returned for upgrades, etc.). Next, processing computes a second system functioning parts returns quantity based upon the first system parts returns data and the system forecast ratio. For example, assuming that 500 first system premium processors were returned and a 1:2 system ratio, processing computes 500×2=1,000 second system premium processor returns.
A determination is made as to whether functioning parts have been returned for the second system (decision 540). For example, the second system may have started shipments and a manufacturer may be receiving upgrade returns from customers. If functioning parts have been returned, decision 540 branches to the “Yes” branch, whereupon processing computes a second system parts returns start time based upon the actual returns data (step 550). In one embodiment, a manufacturer may sporadically receive functioning parts returns. In this embodiment, processing may compute the second system parts returns start time based upon a time at which the functioning parts are returned at a consistent rate (as opposed to the time at which the first functioning part was returned).
On the other hand, if functioning parts have not been returned for the second system, decision 540 branches to the “No” branch, whereupon processing computes a first parts returns lag time based upon a first parts returns start time relative to the first system's production start time (step 555). For example, assuming the first system production start time was May 2010 and the first parts returns start time was August 2010, the first parts returns lag time is three months.
Processing, at step 560, computes a second parts returns start time based upon the second system production start time and the first parts returns lag time (see
Processing analyzes a first parts returns curve (trend lines) and generates a comparable second parts returns curve at step 565. The first parts returns curve plots trends of first system parts returns over time, and the second parts returns curve plots a forecast amount of second system parts returns over time (see
Processing, at step 570, generates a functioning second parts returns forecast based upon the computed second parts returns start time, the second parts returns curve, and the computed second system parts returns quantity. The second functioning second parts returns forecast is stored in forecast store 280.
In turn, processing generates a second system new parts order plan for the second system's parts based upon the overall second system's parts requirements less the functioning second parts returns forecast (step 580). Processing returns at 590.
Second system production forecast curve 640 plots the second system production forecast over time. Second parts returns curve 650, in one embodiment, is generated based upon the shape of first parts returns curve 620 (see
In one embodiment, processing may use analysis techniques such as a uniform analysis, linear regression analysis, non-linear forecasting, and/or an ARIMA (autoregressive integrated moving average) analysis to analyze the first system parts returns. A uniform analysis involves drawing straight lines that best represent the actual data. A linear regression analysis involves drawing multiple segments of straight lines to represent peaks and valleys in each segment to best represent the actual returns data (see
In a system life cycle, ramp up section 700 includes the beginning stages of receiving functioning part returns and typically spans from months 1-10 after system production launch. Returns peak 510 includes a mid-point stage of receiving functioning parts returns and typically spans months 15-24 after system production launch. And, ramp down 520 includes an ending stage of receiving functioning parts returns and typically spans months 25-32 after production launch.
In one embodiment, parts are placed in particular part categories based upon part relevance. For example, column 830 shows that a 16 GB memory device is in the premium category, whereas column 840 shows that the 16 GB memory device is in the mid-level category. This is because the second system utilizes a 32 GB memory device. As such, the second system's 16 GB memory device is a mid-level product relative to the 32 GB memory device.
Northbridge 915 and Southbridge 935 connect to each other using bus 919. In one embodiment, the bus is a Direct Media Interface (DMI) bus that transfers data at high speeds in each direction between Northbridge 915 and Southbridge 935. In another embodiment, a Peripheral Component Interconnect (PCI) bus connects the Northbridge and the Southbridge. Southbridge 935, also known as the I/O Controller Hub (ICH) is a chip that generally implements capabilities that operate at slower speeds than the capabilities provided by the Northbridge. Southbridge 935 typically provides various busses used to connect various components. These busses include, for example, PCI and PCI Express busses, an ISA bus, a System Management Bus (SMBus or SMB), and/or a Low Pin Count (LPC) bus. The LPC bus often connects low-bandwidth devices, such as boot ROM 996 and “legacy” I/O devices (using a “super I/O” chip). The “legacy” I/O devices (998) can include, for example, serial and parallel ports, keyboard, mouse, and/or a floppy disk controller. The LPC bus also connects Southbridge 935 to Trusted Platform Module (TPM) 995. Other components often included in Southbridge 935 include a Direct Memory Access (DMA) controller, a Programmable Interrupt Controller (PIC), and a storage device controller, which connects Southbridge 935 to nonvolatile storage device 985, such as a hard disk drive, using bus 984.
ExpressCard 955 is a slot that connects hot-pluggable devices to the information handling system. ExpressCard 955 supports both PCI Express and USB connectivity as it connects to Southbridge 935 using both the Universal Serial Bus (USB) the PCI Express bus. Southbridge 935 includes USB Controller 940 that provides USB connectivity to devices that connect to the USB. These devices include webcam (camera) 950, infrared (IR) receiver 948, keyboard and trackpad 944, and Bluetooth device 946, which provides for wireless personal area networks (PANs). USB Controller 940 also provides USB connectivity to other miscellaneous USB connected devices 942, such as a mouse, removable nonvolatile storage device 945, modems, network cards, ISDN connectors, fax, printers, USB hubs, and many other types of USB connected devices. While removable nonvolatile storage device 945 is shown as a USB-connected device, removable nonvolatile storage device 945 could be connected using a different interface, such as a Firewire interface, etcetera.
Wireless Local Area Network (LAN) device 975 connects to Southbridge 935 via the PCI or PCI Express bus 972. LAN device 975 typically implements one of the IEEE 802.11 standards of over-the-air modulation techniques that all use the same protocol to wireless communicate between information handling system 900 and another computer system or device. Optical storage device 990 connects to Southbridge 935 using Serial ATA (SATA) bus 988. Serial ATA adapters and devices communicate over a high-speed serial link. The Serial ATA bus also connects Southbridge 935 to other forms of storage devices, such as hard disk drives. Audio circuitry 960, such as a sound card, connects to Southbridge 935 via bus 958. Audio circuitry 960 also provides functionality such as audio line-in and optical digital audio in port 962, optical digital output and headphone jack 964, internal speakers 966, and internal microphone 968. Ethernet controller 970 connects to Southbridge 935 using a bus, such as the PCI or PCI Express bus. Ethernet controller 970 connects information handling system 900 to a computer network, such as a Local Area Network (LAN), the Internet, and other public and private computer networks.
While
While particular embodiments of the present disclosure have been shown and described, it will be obvious to those skilled in the art that, based upon the teachings herein, that changes and modifications may be made without departing from this disclosure and its broader aspects. Therefore, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this disclosure. Furthermore, it is to be understood that the disclosure is solely defined by the appended claims. It will be understood by those with skill in the art that if a specific number of an introduced claim element is intended, such intent will be explicitly recited in the claim, and in the absence of such recitation no such limitation is present. For non-limiting example, as an aid to understanding, the following appended claims contain usage of the introductory phrases “at least one” and “one or more” to introduce claim elements. However, the use of such phrases should not be construed to imply that the introduction of a claim element by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim element to disclosures containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an”; the same holds true for the use in the claims of definite articles.