Commercial producers of equipment, machines, and other products that require numerous parts often obtain parts from a variety of different part suppliers. It is crucial to the survival of each producer's business that the producer's suppliers be able to consistently provide the parts at an acceptable price. Because of this reliance, it comes as no surprise that information regarding the vulnerability and cost effectiveness of a part supplier is extremely valuable. In the past, producers have depended upon personal relationships with a part supplier and discussions with others in the industry to determine the level of vulnerability and cost effectiveness of a particular part supplier. While this word-of-mouth system may have been helpful in some limited circumstances, the world-wide nature of part supply today makes such a system unworkable. Besides, such a system largely depends on the trust of other individuals who may have a motivation to bend the truth to their advantage. Thus, the system itself is inherently flawed. Accordingly, there exists a need for a system, method, and computer-readable program that allows producers to manage the cost and supply of parts, such as by determining which supplier makes the best parts, determining an alternative material to use for certain parts, and/or determining which material may be more cost effective in making certain parts.
The present disclosure discloses a system, method, and computer-readable program for managing cost and supply of parts. In at least one embodiment of the present disclosure, a computerized method of managing cost and supply of parts includes receiving part information for a plurality of part suppliers, wherein the part information for each part supplier comprises material data of parts, receiving a request involving the material data of parts of the plurality of part suppliers, automatically determining any relevant material data of parts of the plurality of part suppliers based on the request, and displaying at least a portion of the relevant material data.
In at least one embodiment of the present disclosure, a computerized method of managing cost and supply of parts includes collecting part information for one or more part buyers, wherein the part information for each part buyer comprises material data of parts of the part buyer, receiving a request involving the material data of the one or more part buyers, automatically determining any relevant material data of the part information for the one or more part buyers, and displaying at least a portion of the relevant material data for the one or more part buyers.
In at least one embodiment of the present disclosure, a system of managing cost and supply of parts includes a database comprising part information for a plurality of part suppliers and one or more part buyers, wherein the part information comprises material data of parts, and a processor operably connected to the database, wherein the processor receives requests, automatically determines any relevant material data based on the requests, and is configured to display the relevant material data on a monitor that is operably connected to the processor.
The features and advantages of this disclosure, and the manner of attaining them, will be more apparent and better understood by reference to the following descriptions of the disclosed system, method, and computer-readable program, taken in conjunction with the accompanying drawings, wherein:
a-d comprise process modeling diagrams of the present invention;
e describes the assembly of
a shows a flowchart of a method for managing cost and supply of parts according to at least one embodiment of the present disclosure.
b shows a flowchart of a method for managing cost and supply of parts according to at least one embodiment of the present disclosure.
c shows a system for managing cost and supply of parts according to at least one embodiment of the present disclosure.
a-22c illustrate an example of how the CSM tool may be used to eliminate materials for a company's portfolio.
For the purposes of promoting an understanding of the principles of the present disclosure, reference will now be made to the embodiments illustrated in the drawings, and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of this disclosure is thereby intended.
For purposes of illustration, the invention relates to a system and software product directed to an analytical methodology for cost management of highly engineered made-to-order parts. In one embodiment, the system takes data from computer assisted drawings (CAD) files, engineering specifications files, demand data from Enterprise Resource Planning (ERP) systems, cost data from financial systems, and/or other electronic files and utilizes data mining algorithms to analyze part features, usage patterns, and engineering specifications to construct “should cost” curves across individual families of parts. Based on the should cost curves, the embodiment determine the significant cost drivers that affect the cost of the one or more target parts.
As best seen in
I. System Data Management Layer
In one embodiment of the system, the data management layer 120 consists of five parts. First, the system implements integration points that enable it to assimilate purchasing, financial, and part features information from the customer's internal systems. Within the integration points are data loading rules 175 the system uses as part of its data assimilation process. The reason for the data loading rules 175 is that each customer stores its parts purchasing and financial data using different formats. The data loading rules 175 aggregate data various customers and thereby enable the system to employ a business intelligence “should cost” database 165 that is reusable across customers.
The part features extraction process involves two types of information. The first type includes engineering specifications' 115 that describe physical characteristics of the part. By processing these files the system can extract a set of physical features that describe the part. Examples of these features include material, e.g., which metal, height, width, and depth of the part, physical volume, number of cores, and characteristics of the drill holes. The second type of information involves machining specifications such as tolerances, smoothness, drill holes, drill hole volume, and parting line perimeter. There is a set of engineering specifications associated with each part. As a component of the feature extraction process, the system processes each specification and extracts relevant information for cost modeling.
Second, using the data loading rules 175, the system data loading tools transform, normalize and validate parts data as it is stored in the database 165. In one embodiment, the data loading rules 175 are written in the R statistical language.
Third, the system employs exception reports 160 that highlight unusual and suspect information. The reports, for example, identify unusually expensive parts or cheap parts, parts with missing weights, parts with no demand, suppliers, and many other characteristics of the data.
Fourth, the system analyzes 2D parts drawings and 3D engineering models of the parts and extracts features that are predictive of costs. In one embodiment, cost predictive features variables include financial information, purchasing information, and feature information. As best seen in TABLE 1, the features may involve part characteristics such as the volume of the part, which along with the density of the material, is used to calculate the part's weight, number of holes drilled into the part, type of drill used, number of cores, number of risers, surfaces, machine setups, and the like. One of ordinary skill in the art will appreciate that this table does not provide an exhaustive list, but is merely illustrative. The features characteristics are the primary drivers that enable the system's predictive models to achieve high accuracy.
The fifth part of the system's data management layer is the database 165. In one embodiment, the system organizes parts data using snowflake schema data warehouse model with fact tables for parts and suppliers. An embodiment of the snowflake database schema is shown in
It should be appreciated that part of this invention relates to choices of variables which may be loaded and data loading rules 175 used to process the data. There are many possible features that can be extracted from CAD data and many possible purchasing and demand variables. One aspect of the invention is the selection of variables and modeling techniques that are predictive of cost.
1. Data Management Architecture
At the architectural level, one embodiment of the system performs data management functions using a four-step process, as best seen in
First, in one embodiment, the system extracts the data from the customer delivered formats and loads the files into memory. Next, the system aggregates, categorizes and filters the data based on customer defined rules. At this point, the system performs extreme value elimination by applying the data loading rules 175 and looking for extreme statistical values. The parts associated with the extreme values are eliminated from the data set under consideration. The system then takes the data from step 2 and loads it into database 165 for analysis. If a part is excluded from loading, the system will generate exception reports 160 which provide the user with information on any data load failures or exceptions. Once the data is properly loaded into the database 165, the analytics layer 120 performs model fitting algorithm analysis.
II. Analytics Layer
The second layer of the system's architecture is the analytics layer 125. This analytics layer 125 consists of a 20 series of statistical routines that, in one embodiment, are implemented using the R Statistical Language. Further, this analytics layer 125 in the disclosed embodiment comprises two parts: the analytics module and analytics architecture.
A. Analytic Modules
As part of its analytical layer 125, an embodiment of the system performs four primary calculations. First, based on part features, material, manufacturing processes, and purchasing demand volumes, the should cost 300 module of the analytics layer 120 calculates a “should cost” price for each part. For purposes of illustration, “should cost” refers to the amount of money a part should reasonably cost. In this embodiment, the system identifies outliers by comparing the “should cost” with the vendor's quoted price. Outliers refers to parts which seem to be unusually expensive compared with what the model predicts that they should cost. Second, the cost drivers 350 module of the analytic layer 125 identifies key factors called “cost drivers,” which contribute to part costs. These key factors can be used by the engineering staff to minimize costs in the design process. Third, the nearest neighbor 375 module identifies similar parts called “nearest neighbors.” Last, the sourcing analysis 325 module of the analytics layer 125 analyzes the capabilities of the suppliers to identify their core capabilities and thereby determines which parts are most efficiently sourced which each respective supplier.
1. Should Cost—Predicting What Each Part Should Reasonably Cost
The should cost 300 module models the costs of parts by predicting the price/kg for each part using generalized linear models.
a. Linear Combination Algorithm—Predicting the Price/kg
This algorithm predicts the log of the cost per kilogram of a part using a linear combination of features and categories.
What should be appreciated is that our model does not predict “should cost” directly. Instead, for each family of parts, the algorithm predicts the log of cost per kilogram as a linear function of the log of the annual demand for parts, physical features of the part, machining costs, and engineering specifications. The type of material, which the model includes as a variable, is also important. The predicted “should cost” price is then the exponential of the predicted log cost per kilogram of the part.
In one embodiment of the system, models of this form are developed for all of the parts together and then again for each family of parts (e.g., Bonnets, Brackets, Covers, Housings, Elbows, and Supports). After the full model is fit, the embodiment refines its models using R's step procedure. In this embodiment, step applies the stepAlC algorithm. In this embodiment, the algorithm refines the model, adds and removes variables, and iterates until it finds the best fit. It will be appreciated by one skilled in the art that other refinement procedures may be used and that the above described embodiment is not exclusive but merely illustrative.
2. Cost Drivers
In one embodiment, the cost driver 350 module identifies outliers by comparing the “should cost” with the vendor's quoted price. After outliers are eliminated, in a similar calculation to “should cost,” the cost drivers for a family of parts are predicted using a linear combination of features and categories. The system models the cost per kilogram of each part as:
2John M. Chambers and Trevor J. Hastie (1992). Statistical Models in S, Wadsworth & Brooks/Cole Cole Computer Science Series, Pacific Grove, Calif.
What should be appreciated is that our model does not predict “cost drivers” directly. Instead, for each family of parts it predicts the cost per kilogram as a linear function of the log of the annual demand for parts, features that describe the part, machining costs, and engineering specifications. The type of material, which the model includes as an interaction term, is also important. The predicted “cost driver” price is then the exponential of the predicted log cost per kilogram of the part. In one embodiment, models of this form are developed for all of the parts together and then again for each family of parts (e.g., Bonnets, Brackets, Covers, Housings, Elbows, and 20 Supports).
In one embodiment of the system, most predictive factors (cost drivers) and their relative effects are easy to interpret.
The relative effects of cost drivers for this example are shown in Table 2. The units in the table are incremental costs measured in cents per unit change in the cost driver. Thus, for example, on average a 10× increase in demand (logdmd) (1× in log scale) decreases the cost per kilogram of a part by $1.99.
It should be appreciated from linear regression theory that the parameters in Table 2 are the cost drivers that are displayed in the system's Cost Management Analysis (CMA) user interface.
These parameters estimate the incremental costs for each of the features included in the model. In one embodiment of the system, these features are validated by applying the business rules (are these the data loading business rules?). It is sometimes the case that randomness in the statistical models results in aberrant estimates. The business rules flag suspect values and provide explanations such as insufficient data in the case of extreme randomness.
3. Nearest Neighbor Algorithm—Identifying Similar Parts
The second class of system algorithms involves searching feature space to identify similar parts or nearest neighbors. In one embodiment, calculation of data structures subsequently applied to produce predictions and used in the nearest neighbor analysis is performed at data loading time or whenever new data is added to the system's database. The system uses pre-determined variables as feature vector and defines these vectors as a point in feature space:
v
i=(v1, v2, . . . ,vn)
where vi is the value of feature i for the particular part under consideration. Table 3 shows a list of variables used in one embodiment of the nearest neighbor analysis. It should be obvious to one of ordinary skill in the art that the table is meant to be only illustrative and not exclusive. The system then normalizes each of the numeric features using the standard normal transform and in one embodiment calculates the Euclidean distance (d) between the points representing the different parts in feature space. One of skill in the art will appreciate that other distance metrics, besides the Euclidean, may be used.
d(vpart1,vpart2)=II vpart1−vpart2II
where II II is the standard Euclidean distance function.
When the user selects a target part, pre-selected feature variables of that part become reference points and the system then provides the distance between those target variables and all other parts. The nearest neighbor algorithm constrains the match so that certain attributes of the parts must match exactly, e.g., the parts must be made of the same material and be the same part type. Within this restricted class it enumerates all distances and returns the n candidates to the user interface.
4. Sourcing Analysis—Evaluating the Suppliers
One possible reason for an overpriced part may be because it is sourced with a supplier who cannot produce it efficiently. For each part the system rates each supplier on an Overall Sourcing Fit Rating 1400 (See
The sourcing fit analysis works by analyzing the parts that each supplier produces, as shown in
The score percentage displayed in the user interface is the Score(p)/number of features checked. For each part, the algorithm checks every possible supplier, sorts them in reverse order, and displays the best suppliers. Ties for suppliers that have the same percentage are broken by sorting on pdiff, the percentage difference between should cost and the actual price.
B. Analytics Architecture
At the architectural level, one embodiment of the system performs system analysis, as best seen in
Using all of the parts data in the system's populated database 165, in an off-line process, the system runs several statistical and data mining routines that fit models. The fitting process results in sets of models and coefficients that are used in subsequent analysis. In addition, the system pre-calculates many data structures that are subsequently applied to produce predictions and used in the nearest neighbor 375 module. As part of its off-line calculations, the system stores each part in the invention database for “cost reasonableness” and flags any unusual parts for further investigation. In one embodiment, model fitting and scoring are performed at data loading time or whenever new data is added to the system's database 165.
In this embodiment, as shown in
Once the data is loaded into the database 165, as discussed above and shown in
First, the system calculates the “should cost” price in the should cost 300 module. Here, for each part, in one embodiment, the system applies the log(costperkg) model from step 3 to predict the cost of each part. The predicted “should cost” value is compared with the vendor's price to identify large percentage differences, which one embodiment stores in a variable called pdiff. Parts with large positive pdiffs, e.g., a part is much more expensive than predicted, are candidates for cost savings. The should cost 300 module is described at length above.
Next, the system calculates “Cost Drivers” from the cost drivers 350 module. Here, for each part family, in one embodiment, the system uses the R statistical language to fit linear regression that predict should cost as a generalized linear function of the part's features. As with normal statistical theory, the coefficients in this model are the relative contributions of the particular features. The “cost driver” 350 module is described at length above.
Next, the system performs the “Nearest Neighbor” analysis in the nearest neighbor 375 module. Here, in one embodiment, for each part the system normalizes each feature to a (−1,1) scale and calculates the Euclidean distance between every part in feature space. Using this distance the system identifies the nearest parts and labels them neighbors. The nearest neighbor 375 module is described at length above.
Next, the system performs a Sourcing Analysis in the sourcing analysis 325 module. In one embodiment, this analysis involves analyzing every part in the dataset that each supplier produces and calculating the [0.5, 0.95] range of each feature. Then for each part the system, in one embodiment, scores each supplier on 16 possible features and give the supplier points each time the part's feature is in the [0.5, 0.95] range of the supplier's capability. The system also subtracts points in cases of a low volume supplier. The rating of a supplier for a part is its total score/number of features evaluated. The calculation is performed by material for each supplier. The sourcing analysis 325 module is described at length above. The last step involves pushing out the analytical results to a database 165. The CMA website then accesses the database 165 to provide information to CMA users. Users access the system's analytical routines, through the system's presentation layer, which is described below. A top level view of the CMA application architecture can be seen in
LEGEND 1: Elements in CMA application Architecture
III. Cost Management Layer
The third layer of the system architecture is the cost management layer 130. The system's cost management layer 130 allows for the user to automatically group parts for analysis and provides a detailed analysis of cost saving opportunities.
A. Accessing the System
Users may access the system in one of three ways: (i) selecting parts by feature, (ii) selecting parts by category, or (iii) retrieving parts selected in previous analysis session. The logical flow of the cost management layer 130 is best represented by
One way for the user to access the system is to search for parts by features, as best seen in
In one embodiment of the system, as best seen in
The second entry point to the system provides a Category Part Selector mechanism for specifying a system database search.
In one embodiment of the system, users can create search rules for category part searches. In this embodiment, system users may create rules by selecting parts segments 700, part families 710 and part classes 720 to include in the search rules as well as filters based on part material 410, part buyer 510, part supplier 440 and part annual purchasing demand 445. The search rule list 740 is displayed and the user may add a rule by engaging the add search 730 function. Optionally, the user may remove a rule by engaging the remove rule 740 function. One of ordinary skill in the art will appreciate that the categories for creating search rule listed above are not exhaustive but are merely illustrative of possible search criteria. The system will apply these rules to select parts from the system database for analysis. The Select Parts by Category mechanism is shown in
Third, users may review and “fine tune” their analysis working set using the dialogue shown in
B. Cost Savings Opportunity Summary
Next, the system takes the results provided by the analytics layer 125 and presents the cost savings opportunities and their respective actions to the end user. For example, as can be seen in
1. Detailed Part Analysis
The system's detailed part analysis shows the details of the analytic layer 125 applied to a single part. The system shows the user what the part should cost as well as what the current part does cost and the potential savings based on the parts demand. In addition, a summary of how each of the cost factors (pricing, sourcing and design) are applied to that part.
2. Cost Driver Analysis:
The system Cost Driver Analysis provides the user with the cost model for a specific family of parts. This analysis details the costs associated with each of the parts parameters for a specific family of parts and shows graphically how the parts relate to each other.
3. Comparables Analysis
Referring now to TABLE 5, the nearest neighbor 375 module is used within the system to group parts based on like features (“comparables analysis”). This analysis is used when selecting parts by feature as well as when trying to find comparables to define redesign opportunities. The system nearest neighbor 375 module shows the users comparable parts as well as their characteristics. This analysis will show the user how similar parts are designed as well as provide the user with insight into design changes to the existing part that may reduce cost.
4. Sourcing Analysis:
The system sourcing analysis 325 module can determine the capabilities of a supplier by the parts they currently make. This analysis is used to help the user determine which options are available to them to resource a specific part as well as understanding the current capabilities of their suppliers.
The system sourcing analysis 325 module may be configured to perform various determinations regarding current and potential suppliers and material data, such as to determine where and when particular parts and features and properties thereof are used and sourced. For example,
As shown in
b illustrates another embodiment of a method for managing cost and supply of parts according to the present disclosure. In
c illustrates an embodiment of a system for managing cost and supply of parts according to the present disclosure. In
The method 100a, 100b of the present disclosure may be implemented into a computer-readable medium and be carried out with the aid of a computer. A computer-readable medium, such as a non-volatile storage medium, may comprise the steps of the method described above. For instance, the method may be incorporated into a computer program to automatically determine the relevant material data and display the data. The computer program may be generated in any software language or framework such as JAVA, SQL, C#, COBOL, C++, Microsoft® .NET Framework or the like.
The computer-readable medium for performing the embodiments of the present disclosure may include computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable medium. It should be understood that the computer-readable program code portions may include separate executable portions for performing distinct functions to accomplish embodiments of the present disclosure. Additionally, or alternatively, one or more of the computer-readable program portions may include one or more executable portions for performing more than one function to thereby accomplish embodiments of the process of the present disclosure.
In conjunction with the computer-readable medium, a computer that includes a processor, such as a programmable-variety processor responsive to software instructions, a hardwired state machine, or a combination of these may be used to carryout the method disclosed above. Such computers may also include memory, which in conjunction with the processor is used to process data and store information. Such memory can include one or more types of solid state memory, magnetic memory, or optical memory, just to name a few. By way of non-limiting example, the memory can include solid state electronic random access memory (RAM); sequential access memory (SAM), such as first-in, first-out (FIFO) variety or last-in, first-out (LIFO) variety; programmable read only memory (PROM); electronically programmable read only memory (EPROM); or electronically erasable programmable read only memory (EEPROM); an optical disc memory (such as a DVD or CD-ROM); a magnetically encoded hard disc, floppy disc, tape, or cartridge media; or a combination of these memory types. In addition, the memory may be volatile, non-volatile, or a hybrid combination of volatile and non-volatile varieties. The memory may include removable memory, such as, for example, memory in the form of a non-volatile electronic memory unit; an optical memory disk (such as a DVD or CD ROM); a magnetically encoded hard disk, floppy disk, tape, or cartridge media; or a combination of these or other removable memory types. The memory may also include solid state memory, USB keys, and the like.
The computers described above may also include a display upon which information may be displayed in a manner perceptible to the user, such as, for example, a computer monitor, cathode ray tube, liquid crystal display, light emitting diode display, touchpad or touchscreen display, and/or other means known in the art for emitting a visually perceptible output. Such computers may also include one or more data entry means or devices, such as, for example, a keyboard, keypad, pointing device, mouse, touchpad, touchscreen, microphone, and/or other data entry means known in the art. Each computer also may comprise an audio display means such as one or more loudspeakers and/or other means known in the art for emitting an audibly perceptible output.
The following discussion relating to
The CSM tool may be based on any development platform, such as Microsoft®.NET, Java, Microsoft® Silverlight® application. While the Microsoft® Silverlight® application may be used, any other number of development platforms may also be used. The CSM tool uses visualization techniques to make it easy for users to understand differences between suppliers and how a part buyer is currently leveraged. The CSM tool generally allows users to manage part supply without the need to analyze each and every part supplier.
Reports generated by the CSM tool form a framework for efficient and/or opportunistic action by a company regarding parts suppliers. In general, the use of a CSM tool may help users create an action plan for choosing part suppliers based on price while mitigating or minimizing risk. For example, the CSM tool may determine material consolidation strategies for users based upon analysis of material data for one or more part buyers. Each embodiment of the CSM tool is computer-implemented.
As mentioned above,
While this disclosure has been described as having various embodiments, these embodiments according to the present disclosure can be further modified within the scope and spirit of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the disclosure using its general principles. For example, any methods disclosed herein represent one possible sequence of performing the steps thereof. A practitioner may determine in a particular implementation that a plurality of steps of one or more of the disclosed methods may be combinable, or that a different sequence of steps may be employed to accomplish the same results. Each such implementation falls within the scope of the present disclosure as disclosed herein and in the appended claims. Furthermore, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this disclosure pertains.
This U.S. patent application is a continuation-in-part application of and claims the priority benefit of U.S. Nonprovisional patent application Ser. No. 12/945,696, filed Nov. 12, 2010, which is a U.S. divisional patent application of and claims the priority benefit of U.S. Nonprovisional patent application Ser. No. 11/372,937, filed Mar. 9, 2006, which claims the benefit of and incorporates by reference herein the disclosure of U.S. Provisional Patent Application Ser. No. 60/659,992, filed Mar. 9, 2005. This U.S. patent application also claims the benefit of and incorporates by reference herein the disclosure of U.S. Ser. No. 61/658,532, filed Jun. 12, 2012.
Number | Date | Country | |
---|---|---|---|
60659992 | Mar 2005 | US | |
61658532 | Jun 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11372937 | Mar 2006 | US |
Child | 12945696 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12945696 | Nov 2010 | US |
Child | 13915945 | US |