Intelligent prediction of spare parts kits
Through a computer processor to determine maintenance events and generate clusters based on historical data, intelligently predict airline parts packages, solving the problem that airlines are difficult to predict and purchase required parts packages during maintenance tasks, achieving more accurate predictions and more Efficient resource utilization.
Patent Information
- Application Number
- CN201910758304.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-28
- Filing Date
- 2019-08-16
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2039-08-16
AI Technical Summary
Airlines have difficulty effectively predicting and purchasing required parts packages during maintenance tasks, resulting in increased costs and waste of inventory.
Intelligently predict multiple replacement part packages by using a computer processor based on historical data, determining multiple maintenance events and generating clusters of replacement parts.
More accurate part package prediction is achieved, reducing part package pricing, improving customer purchase convenience, and reducing the consumption of computing resources.
Smart Images

Figure CN110969278B_ABST
Abstract
Description
Technical Field
[0001] Aspects of the present disclosure provide techniques for intelligent prediction of parts kits. Background Art
[0002] Companies that maintain fleets of vehicles often need spare parts for their vehicles. For example, airlines need spare parts to maintain their aircraft and meet regulatory and safety requirements. These spare parts may be provided by original equipment manufacturers (OEMs) or third-party dealers. Airlines may use search tools (e.g., Internet-based search tools provided by parts sellers) to purchase necessary spare parts. Airlines will often purchase only the parts they need for a particular maintenance task to avoid unnecessary costs and storage of unused parts.
[0003] To accomplish this, many airlines employ purchasing agents that maintain a predefined set of parts to purchase for the desired maintenance tasks. Many factors may influence which parts an airline will purchase for a maintenance task, including: aircraft type, maintenance type, aircraft condition, airline's existing inventory, contracts with parts suppliers, etc. Often, even when an airline needs a package of several parts to complete a desired maintenance task, these parts are available and sold to the airline individually. In some cases, the OEM may be disadvantaged in these individual part sales based on price or other factors. Summary of the invention
[0004] Embodiments described herein include a computer-implemented method for intelligently predicting a replacement parts package. The method includes: using a computer processor to determine a plurality of maintenance events for a plurality of replacement parts based on historical data related to the plurality of replacement parts. Each maintenance event in the plurality of maintenance events corresponds to one or more replacement parts. The method also includes: using the computer processor to generate a plurality of clusters of replacement parts based on the plurality of maintenance events. The method also includes: using the computer processor to predict a plurality of replacement parts packages based on the clusters. Each package includes a plurality of replacement parts.
[0005] Embodiments described herein also include a system. The system includes a processor and a memory storing a program, which performs operations when executed on the processor. The operations include: determining multiple maintenance events for multiple replacement parts based on historical data related to multiple replacement parts. Each maintenance event in the multiple maintenance events corresponds to one or more replacement parts. The operations also include: generating multiple clusters of replacement parts based on the multiple maintenance events. The operations also include: predicting multiple replacement part packages based on the clusters. Each package includes multiple replacement parts.
[0006] Embodiments described herein also include a computer program product for intelligently predicting replacement parts packages. The computer program product includes a computer-readable storage medium containing computer-readable program code, which can be executed by one or more computer processors to perform operations. The operations include: determining multiple maintenance events for multiple replacement parts based on historical data related to multiple replacement parts. Each maintenance event in the multiple maintenance events corresponds to one or more replacement parts. The operations also include: generating multiple clusters of replacement parts based on the multiple maintenance events. The operations also include: predicting multiple replacement parts packages based on the clusters. Each package includes multiple replacement parts. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] In order that the above-recited features of the present disclosure may be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to aspects some of which are illustrated in the appended drawings.
[0008] Figure 1 is a block diagram illustrating intelligent prediction of spare parts packages according to one embodiment described herein.
[0009] Figure 2 is a block diagram illustrating a packet prediction server according to one embodiment described herein.
[0010] Figure 3 is a flow chart illustrating intelligent prediction of spare parts packages according to one embodiment described herein.
[0011] Figure 4 is a flow chart illustrating identifying relevant historical parts sales data according to one embodiment described herein.
[0012] Figure 5 is a flow chart illustrating identifying relevant historical search data according to one implementation described herein.
[0013] Figure 6 is a flow chart illustrating consideration of interchangeable spare parts according to one embodiment described herein.
[0014] Figure 7 is a flow chart illustrating determining a maintenance event according to one embodiment described herein.
[0015] Figure 8 is a flow chart illustrating generating a part relationship matrix according to one embodiment described herein.
[0016] Fig. 9 is a flow chart illustrating intelligent prediction of a parts package according to one embodiment described herein.
[0017] Fig.10is an illustration of an example part relationship matrix according to one implementation described herein. DETAILED DESCRIPTION
[0018] In addition to (or instead of) offering spare parts that are sold individually, OEMs and other parts sellers may sell parts packages for specific maintenance tasks. This is more convenient for the customer because all the necessary parts for the task are provided together, and allows the parts seller to price the parts more competitively as a package. However, until the customer asks for parts, the seller usually does not know which parts the customer will need, and therefore does not know which parts should be packaged and offered for sale together.
[0019] Aspects of the present disclosure relate to techniques for intelligently predicting spare parts packages by computers. Specific computerized techniques can be used to identify relevant historical data about parts sales and electronic searches, and used to intelligently predict which parts airlines are likely to buy together. This allows for lower pricing for parts packages, thereby allowing parts sellers to convert higher sales. In addition, the predicted packages are more convenient for customers and can help customers identify the parts they should consider purchasing for a given mission. In addition, certain techniques disclosed herein provide efficient prediction of spare parts packages, thereby limiting the required computing resources. These techniques improve the operation of computers by efficiently and effectively providing intelligent prediction of spare parts packages.
[0020] The predicted packages may be provided to the customer in a number of ways. In one embodiment, packages may be listed for sale as packages, and the customer may select a desired package. In another embodiment, when the customer electronically searches for (or selects) a given part, packages containing that part are found, and additional parts from those packages are provided to the customer. In an embodiment, the predicted packages are maintained for relatively long periods of time (e.g., weeks, months, or even years), and do not change frequently. Furthermore, in an embodiment, the predicted packages are predictions of specific customer requirements for maintenance events.
[0021] The techniques disclosed below may be particularly effective for high value vehicles such as airplanes, helicopters, etc. For example, as described below with respect to Figures 7 to 10 As discussed, in embodiments, the techniques described herein may be used to identify maintenance events where a customer purchases a number of parts within a specific time period. The identified maintenance events may be used to predict parts packages. This is particularly useful for aircraft and other high-value vehicles because the purchase of parts for these vehicles is often predictable and well thought of by the customer. For example, because commercial aircraft parts are often expensive, many airlines adopt a relatively lean business strategy. Airlines only purchase the parts they need, and only purchase parts according to a strictly planned schedule or because of documented demand. Airlines do not typically purchase on a whim. An effectively predicted package should take this into account.
[0022] The techniques described herein are particularly well suited to this environment because they can identify parts that are purchased together in two situations: as part of a planned maintenance event (which can vary between customers) and as part of a recurring but unplanned need. Figures 7 to 10 The described techniques can identify maintenance events and predict parts packages associated with planned maintenance without requiring knowledge of the maintenance schedule of individual customers. That is, the techniques can predict parts packages without requiring access to the customer's maintenance or purchasing schedule. In addition, the techniques can identify parts purchased as part of unplanned maintenance events - for example, parts that often must be replaced at similar times, even if they are not scheduled to be replaced together (for example, because multiple vehicles may need to replace the same part at similar times, or because the need for one part may indicate that another part may be needed). Packages can be predicted even when the customer itself is not aware that it will need to purchase parts packaged together, and when no observer recognizes that the parts should be packaged.
[0023] In addition, one or more of the techniques described herein are particularly applicable to strictly regulated industries, such as commercial air travel. Government regulations will sometimes require that parts be changed to comply with new or revised regulations. Modified parts may be interchangeable with previously available parts, meaning that, for example, the new part can and should be used in place of the previously available part. Figure 6 As discussed, this interchangeability relationship can be used to accurately include replacement parts in forecast packages even though the replacement parts may not have been included in historical sales.
[0024] The techniques discussed herein are not limited to high-value vehicles like airplanes, helicopters, and the like. They may be applicable to any number of industries and environments. For example, some (or all) of the techniques described may be applicable to other transportation and freight industries involving vehicles, including bus lines, taxi companies, shipping companies, cruise companies, rail lines, transportation authorities, and the like. Furthermore, some (or all) of the techniques described may be applicable to other industries, including factories, manufacturing facilities, and other suitable industries and environments.
[0025] Figure 1 1 is a block diagram showing a system 100 for intelligent prediction of spare parts packages according to one embodiment described herein. A package prediction server 200 is connected to a communication network 110. Figure 2 The package prediction server 200 is described in more detail. The package prediction server 200 is generally configured to enable intelligent prediction of packages along with pricing of spare parts packages.
[0026] The communication network 110 may be any suitable communication network, including the Internet, a local access network, or a wide area access network. The communication network 110 may be a wired or wireless network. The communication network may use any suitable communication protocol, including any suitable wireless protocol. For example, the communication network 110 may use the Institute of Electrical and Electronics Engineers (IEEE) Wi-Fi standard (similar to the 802.11 standard), another Wi-Fi standard, a cellular protocol (including 3G, Long Term Evolution (LTE), 4G, etc.), Bluetooth, etc. In addition, the communication network 110 may use several different communication protocols.
[0027] The communication network 110 is also connected to a data warehouse 170. The data warehouse 170 can be any suitable data storage medium. For example, the data warehouse 170 can include a relational database or any other suitable database. In an embodiment, the data warehouse 170 includes network interface software and hardware to allow communication with the communication network 110. For example, the data warehouse 170 can include a server computer with a network interface. As another example, the data warehouse 170 can be included in the packet prediction server 200. Alternatively, as discussed further below, the data warehouse 170 can be a cloud-based storage system accessible via the communication network 110.
[0028] The data warehouse 170 includes data used by the package prediction server 200 to intelligently predict spare parts packages and to price packages. In the illustrated embodiment, the data warehouse 170 includes part interchangeability data 172. Part interchangeability 172 includes data describing parts that can be considered interchangeable with each other. For example, an older spare part can be replaced by a new version with a different part number. This can be done in response to changes in government regulations, due to improvements in manufacturing or materials, or for any number of reasons. Newer parts can be considered interchangeable for older parts so that customers seeking to purchase older parts can be directed to the newer parts. But the reverse may not be true—newer parts may have been refined or improved so that older parts are considered not interchangeable for newer parts. Part interchangeability 172 may include data describing this relationship.
[0029] The data warehouse 170 also includes historical sales 174. For example, historical sales 174 includes data describing which parts were sold to which customers at which time. Historical sales 174 may include any suitable information describing the historical sales of parts, including part identifiers of the parts sold, customer information, pricing information, date information, and other relevant information. The data warehouse 170 also includes historical searches 176. For example, historical searches 176 include data about which parts customers searched for electronically (e.g., based on part identifiers), when, and whether the customer chose to purchase the parts. In some cases, customers will search for parts electronically but do not choose to purchase them. For example, a customer may use an OEM search tool to identify which parts it wants to purchase, but may purchase those parts from a third-party seller. Historical searches 176 capture customers' electronic searches for parts and whether the customer chooses to purchase the parts. In an embodiment, historical searches 176 may include information describing whether a given electronic search ultimately resulted in a sale. The data shown in the data warehouse 170 are examples only, and other data may also be included.
[0030] Figure 2 2 is a block diagram illustrating a packet prediction server 200 according to one embodiment described herein. As shown, the packet prediction server 200 includes, but is not limited to, a central processing unit (CPU) 202, a network interface 206, a memory 210, and a storage device 270, each of which is connected to a bus 208. In an embodiment, the packet prediction server 200 also includes an input / output (I / O) device interface 204 for connecting to an I / O device 260. In an embodiment, the I / O device 260 may be an external I / O device (e.g., a keyboard, a display, and a mouse device). Alternatively, the I / O device 260 may be built into the I / O device (e.g., a touch screen display or a touchpad). In addition, in the context of the present disclosure, the computing elements shown in the packet prediction server 200 may correspond to a physical computing system (e.g., a system in a data center), or may be a virtual computing instance executed within a computing cloud, as discussed further below.
[0031] CPU 202 retrieves and executes programming instructions stored in memory 210, and stores and retrieves application data residing in storage device 270. Bus 208 is used to send programming instructions and application data between CPU 202, I / O device interface 204, storage device 270, network interface 206 and memory 210. CPU 202 is included to represent a CPU, multiple CPUs, a single CPU with multiple processing cores, a graphics processing unit (GPU) with multiple execution paths, etc. Memory 210 is generally included to represent any suitable type of electronic storage device, including random access memory or non-volatile storage. Storage device 270 can be a disk drive storage device. Although shown as a single unit, storage device 270 can be a combination of fixed and / or removable storage devices such as a fixed disk drive, a removable memory card, a network attached storage (NAS) or a storage area network (SAN).
[0032] Illustratively, the memory 210 includes an operating system 240 and a database management system (DBMS) 250, and the storage device 270 includes a data warehouse 170 (e.g., a database). The operating system 240 generally controls the execution of application programs on the packet prediction server 200. Examples of the operating system 240 include, but are not limited to, various versions of UNIX, Operating system distribution, , versions of the same, etc. The DBMS 250 generally facilitates the capture and analysis of data (e.g., spare parts data) in the data warehouse 170. For example, the DBMS 250 may allow for the definition, creation, querying, updating, and management of the data warehouse 170. As an example, the DBMS 250 may receive a query (e.g., written using Structured Query Language (SQL)) and, in response, may generate an execution plan including one or more access routines to be run against the data warehouse 170. The DBMS 250 may then execute the access routines and may return any query results to the requester.
[0033] The memory 210 generally includes program code for performing various functions related to intelligent prediction of spare parts packages and pricing of packages. The program code is generally described as various functional "applications," "components," or "modules" within the memory 210, but alternative implementations may have different functions and / or combinations of functions. Within the memory 210, the package prediction module 220 is generally configured to intelligently predict spare parts packages. This is about Figures 3 to 9 Further description.
[0034] The memory 210 also includes a package pricing module 230. The package pricing module 230 is generally configured to determine the price of the package predicted by the package prediction module 220. In an embodiment, this may be done automatically based on historical data (e.g., data in the data warehouse 170). Alternatively, this may be done partially or completely based on input from a subject matter expert or other user.
[0035] Figure 3 300 is a flowchart illustrating intelligent prediction of spare parts packages according to one embodiment described herein. At block 302, a package prediction module (e.g., Figure 2 The package prediction module 220 shown identifies relevant historical sales data (e.g., Figure 1 In an embodiment, the package prediction module 220 selects a subset of the relevant historical sales data 174 for intelligent prediction. Figure 4 Further shown.
[0036] At block 304, a packet prediction module (e.g., Figure 2 The packet prediction module 220 shown) identifies relevant historical search data (e.g., Figure 1 In an embodiment, the package prediction module 220 selects a subset of the relevant historical search data 176 for intelligent prediction. Figure 5 Further shown.
[0037] At block 306, a packet prediction module (e.g., Figure 2 The package prediction module 220 shown in FIG. 2 takes into account interchangeable parts for predicting spare parts packages. In an embodiment, the package prediction module 220 uses data about the interchangeability of spare parts (e.g., Figure 1 Part interchangeability 172 shown in FIG. 1 ) to determine which parts are interchangeable for use in predicting spare parts kits. This is further illustrated in FIG. Figure 6 .
[0038] At block 308, a packet prediction module (e.g., Figure 2 The package prediction module 220 shown determines maintenance events for predicting spare parts packages. In an embodiment, an airline (or other purchaser) may purchase or electronically search for parts related to a specific maintenance event in a series of transactions. That is, instead of purchasing (or searching for) spare parts for a specific event all at once, the airline may purchase parts over a period of hours, days, weeks, or even months. In an embodiment, the parts for the event should be packaged together, but the time period in which the airline purchased (or searched for) related parts is unknown. In an embodiment, the package prediction module 220 uses the historical sales 174 and the historical searches 176 to identify the time period when the customer's activities are related to a specific maintenance event. This is about Figure 7 Describe in more detail.
[0039] At block 310, a packet prediction module (e.g., Figure 2 The package prediction module 220 shown in FIG. 2 generates a relationship matrix between spare parts for predicting spare parts packages. In an embodiment, the maintenance events determined in block 308 may be used to generate a matrix (e.g., a binary matrix) describing the relationship between spare parts. Figure 8 In block 312, a packet prediction module (e.g., Figure 2 The package prediction module 220 shown uses the matrix generated in block 310 to predict spare parts packages. Fig. 9 Describe in more detail.
[0040] At block 314, the package pricing module (e.g., Figure 2 The package pricing module 230 (shown as a package pricing module 230) generates the predicted price of the parts package at block 312. In an embodiment, the package pricing module 230 may automatically generate the price of the package based on, for example, pricing information of the individual components, historical sales data, and characteristics of the parts (e.g., age of the destination vehicle, popularity of the parts, etc.). In an embodiment, the package price is relatively stable and is unlikely to change frequently. In another embodiment, the package price may change dynamically based on a number of factors, including customer demand, prices and costs of the individual parts in the package, sales targets, etc.
[0041] In one example, the package pricing module 230 may consider the prices of the individual parts in the package and apply a discount to the combined price. This may be a set discount (e.g., a percentage of the total price), or may be determined based on the base cost and the expected profit or profit margin from the sale of the package. In an embodiment, providing the package for sale together allows for a discount rate due to the greater number of individual parts and the relatively greater sales price of the package. As another example, the package pricing module 230 may consider historical sales data (e.g., Figure 1 As another example, the package pricing module 230 may consider the characteristics of the parts in the package when generating the package price. For example, if the package involves a relatively old but common model vehicle (e.g., an older model airplane), the package price may be reduced accordingly. Alternatively, if the package involves a relatively rare vehicle, the price may remain relatively high. Similarly, if the package involves relatively popular or readily available parts, the package price may be reduced. If the package involves special orders or more rare parts, the package price may be increased.
[0042] In another embodiment, the package pricing module 230 may rely on user input to generate the price of the package. For example, a subject matter expert (or other user) may be prompted to enter a price for the package. Alternatively, the package pricing module 230 may combine user input with automatic pricing. For example, a user may provide upper and lower bounds for the price, a desired discount rate, a target profit amount or profit margin, etc. The package pricing module 230 may use this user input to generate the price of the package.
[0043] Figure 4 is a flow chart illustrating identification of relevant historical parts sales data according to one embodiment described herein. In an embodiment, Figure 4 and Figure 3 At block 402, a packet prediction module (e.g., Figure 2 The package prediction module 220 shown in FIG. 1 receives historical sales data 400 (e.g., Figure 4 The package forecast can be used to identify potentially relevant sales. For example, sales can be filtered by date or by destination. As an example, sales that occurred before a specific deadline can be removed. Similarly, the package forecast can be targeted to a specific end product (or end product line), such as a specific aircraft model, and sales that are not relevant to the target can be removed.
[0044] At block 404, the package prediction module 220 identifies potentially relevant sales by type. In embodiments, this may include the type of sale, the type of customer, or both. For example, historical sales may be assigned a code indicating the type of sale - the code may be used to distinguish between a one-time sale, a repeat sale, and the like. Similarly, historical sales may be assigned a code indicating the type of customer that purchased the merchandise, such as an airline, an entity focused on maintenance repair and overhaul (MRO), a distributor, an agent, and the like. In one example, a sale may be the result of a government request or recall. The sale is not expected to be repeated, and therefore may be excluded from the package prediction analysis. In embodiments, sales that are likely to be repeated are included in the package prediction analysis, while sales that are likely to be only one-time sales are excluded.
[0045] At block 406, the package prediction module 220 identifies relevant sales data by sales status. In an embodiment, a given sale has an associated code that represents the stage of the sales process. For example, from the time a customer orders a part until the time the part is shipped, there may be many different stages - including ordering, manufacturing, shipping, etc. In an embodiment, the associated code may be used to include completed sales and exclude rejected or canceled sales. After block 406, the package prediction module 220 outputs the selected historical sales 410.
[0046] Figure 5 is a flow chart illustrating identifying relevant historical search data according to one embodiment described herein. In an embodiment, Figure 5and Figure 3 The block 304 shown corresponds to the block 502. At block 502, a packet prediction module (e.g., Figure 2 The packet prediction module 220 shown in FIG. 2 receives historical search data 500 (eg, Figure 4 176) and identify potentially related searches. For example, searches may be filtered by date. As an example, searches occurring before a specific deadline may be removed.
[0047] At block 504, the package prediction module 220 identifies relevant searches by user type, customer type, or both. In an embodiment, individual searches may be associated with internal (e.g., within a parts seller) or external (e.g., a customer or potential customer) users. At block 504, the package prediction module 220 may remove searches by internal users. In an embodiment, the package prediction module 220 distinguishes between users searching with the intent to purchase parts and users searching for research or other purposes. In an embodiment, this may be done based on distinguishing between customer types such as airlines, MROs, distributors, agents, etc., in addition to (or in lieu of) internal versus external users. In an embodiment, searches with users having intent other than purchasing parts are excluded. Alternatively, historical sales data (regarding Figure 4 Both search results and historical search data can be identified based on user or customer type, excluding users or customers who are unlikely to make further purchases.
[0048] At block 506, the package prediction module 220 identifies relevant search data by end product. In embodiments, the package prediction may be targeted to a specific end product (or family of end products), such as a specific aircraft model, and searches not relevant to the target may be removed. At block 508, the package prediction module 220 identifies relevant search data by availability. In embodiments, the package prediction module 220 may remove search data related to parts that are invalid and unavailable for purchase in the parts seller's system. Following block 508, the package prediction module 220 outputs the selected historical searches 510. In embodiments, the package prediction module 220 may combine the selected historical sales 410 with the selected historical searches 510.
[0049] Figure 6 is a flow chart illustrating consideration of interchangeable spare parts according to one embodiment described herein. In an embodiment, Figure 6 and Figure 3 The block 306 shown corresponds to the block 602. At block 602, a packet prediction module (e.g., Figure 2 The package prediction module 220 shown receives part interchangeability data (e.g., Figure 1172). At block 604, the package prediction module 220 selects the next valid part. In an embodiment, the package prediction module 220 may select from a list of all valid parts in the parts vendor database. Alternatively, the package prediction module 220 may select from valid parts present in historical sales or search data or another data source.
[0050] At block 606, the package prediction module 220 determines whether the selected part is interchangeable. In an embodiment, this may be indicated by a field associated with the part in the central database. In an embodiment, the associated field may specify whether the part is one-way interchangeable, two-way interchangeable, or non-interchangeable. One-way interchangeable parts may be replaced by specified parts. Two-way interchangeable parts may be replaced by specified parts and may be used as a replacement for the specified parts. If the selected part is non-interchangeable, then at block 608, the package prediction module 220 uses a valid part identifier and proceeds to block 612.
[0051] If the selected part is interchangeable, then at block 610, the package prediction module 220 identifies the latest replacement part. In an embodiment, the latest replacement part can be used to replace the active part in the predicted parts package. In an embodiment, the package prediction module 220 identifies the latest replacement part by examining data related to the part chain. For example, the selected part may include data specifying a newer replacement (e.g., by part identifier). But this may not be the latest replacement. The package prediction module 220 may identify the newer replacement (i.e., by part identifier, the next link in the chain) and look for the specified replacement for the part. If the newer replacement includes its own replacement, the process proceeds until the package prediction module 220 identifies the latest replacement part (e.g., by part identifier). At block 612, the package prediction module 220 determines whether all expected active parts have been examined. If so, the process ends. If not, the package prediction module 220 returns to block 604 and selects the next active part.
[0052] Figure 7 is a flow chart illustrating a method for determining a maintenance event according to one embodiment described herein. In an embodiment, Figure 7 and Figure 3 The illustrated box 308 corresponds. As discussed above, many maintenance events involve purchasing or searching for parts that are spread over multiple transactions. These transactions can be spread over hours, days, weeks, or even months. Figure 7 One implementation of identifying which transactions (ie, sales or searches) are related to the same maintenance event is depicted.
[0053] At block 702, a packet prediction module (e.g., Figure 2 The package prediction module 220 shown in FIG. 20 combines historical sales and historical search data. In an embodiment, the package prediction module 220 Figure 4 The selected historical sales data 410 is shown with Figure 5 A selected combination of historical search data 510 is shown.
[0054] At block 704, the package prediction module 220 considers the interchangeability of parts in the combined historical sales and search data. Figure 6 As discussed, in embodiments, some parts may have interchangeable counterparts. For example, an older part may have been replaced by a new part (e.g., due to changes in government regulations or improved manufacturing techniques), and the new part may be interchangeable with the old part. At block 704, the package prediction module 220 takes this into account by combining the combined historical sales and search data with the interchangeability data. Any part listed in the combined historical sales and search data that has a newer interchangeable counterpart is replaced by the latest counterpart. For example, a historical sale involving an older part that has two interchangeable replacements will have the part number of the original older part replaced with the latest interchangeable part. This allows the predicted parts package to include the latest parts as much as possible.
[0055] At block 706, the package prediction module 220 sorts the data from block 704 by customer and date. In an embodiment, the package prediction module 220 sorts the data by customer and then by date within each customer. Alternatively, the package prediction module may sort the data by date and then by customer. At block 708, the package prediction module 220 creates time series data for each customer based on the output from block 706. In an embodiment, the package prediction module 220 converts the date of sale or search to a number. The package prediction module 220 then uses these numbers to create time series data for each customer.
[0056] At block 710, the packet prediction module 220 calculates a kernel density estimate for each customer. Kernel density estimation is a statistical technique that can be used to estimate the underlying probability density function of a data set. Kernel density estimation is an example of a technique that can be used. Other suitable techniques can also be used. In an embodiment, the packet prediction module 220 can use bandwidth 1 to calculate the kernel density estimate of the time series data related to each customer. Alternatively, other bandwidths can be used.
[0057] At block 712, the package prediction module 220 identifies maintenance event time periods for a plurality of customers. In an embodiment, the package prediction module 220 may identify minimum points along the kernel density estimate calculated at block 710. The package prediction module 220 may then identify two consecutive minimum points along the density estimate. These are likely boundaries (e.g., a start time point and an end time point) of the time period for a given maintenance event.
[0058] At block 714, the package prediction module 220 identifies parts that were sold or searched for during the time period identified at block 712. These are parts that are related to events that occurred during the time period. For example, at block 712, the package prediction module 220 may determine date A as a likely start and date B as a likely end for a given time period. At block 714, the package prediction module uses the combined historical sales and search data to identify parts that were sold or searched for between date A and date B.
[0059] Figure 8 is a flow chart showing the generation of a part relationship matrix according to one embodiment described herein. In an embodiment, Figure 8 and Figure 3 The block 310 shown corresponds to the block 802. At block 802, a packet prediction module (e.g., Figure 2 The packet prediction module 220 shown receives Figure 7 In block 804, the packet prediction module 220 constructs a string from each event. In an embodiment, the string includes events (e.g., Figure 7 The part numbers are separated by separators such as spaces, tabs, or commas.
[0060] At block 806, the packet prediction module 220 constructs a matrix corresponding to the event string constructed at block 804. In an embodiment, this may be a two-dimensional binary matrix (e.g., a two-dimensional binary array) with one dimension representing the identified events and another dimension representing the parts included in each identified event. An example is shown in Fig.10 , discussed further below. Alternatively, this can be a matrix with a different dimension, and the values in the matrix can be non-binary (e.g., integers, real numbers, Booleans, defined types, etc.).
[0061] At block 808, the package prediction module 220 calculates a local weight for the matrix entry. The local weight is used to identify the contribution of each part to the maintenance event that includes the part. In an embodiment, the matrix entry corresponds to a specific part and a specific event. The local weight of the matrix entry represents the contribution of the specific part to the specific event (e.g., the importance of the part to the event).
[0062] At block 810, the packet prediction module 220 calculates a global weight for each part included in the matrix. The global weight is used to identify the contribution of a given part to all identified events (e.g., the importance of the part to all events). In an embodiment, the global weight may be calculated using the following formula:
[0063]
[0064] At block 812, the package prediction module 220 reduces the matrix dimension. In an embodiment, the package prediction module 220 can reduce the complexity of predicting the part package by removing less important values from the matrix. This allows the package prediction module 220 to focus on more important values and reduce noise. In an embodiment, the package prediction module 220 multiplies the weight matrices calculated from blocks 808 and 810 together to generate a resultant matrix. The package prediction module 220 then calculates the singular value decomposition (SVD) of the resultant matrix. The package prediction module 220 reduces the dimension of the matrix from the SVD of the eigenvalues that are less than a predetermined value. As discussed above, using SVD is an example of a technique for reducing the matrix. Alternatively, other techniques may be used.
[0065] Fig. 9 is a flow chart illustrating intelligent prediction of a parts package according to one embodiment described herein. In an embodiment, Fig. 9 and Figure 3 The block 312 shown corresponds to the block 902. At block 902, the packet prediction module (e.g., Figure 2 The packet prediction module 220 shown in FIG. 2 receives a matrix (eg, Figure 8 At block 904, the package prediction module 220 calculates the Euclidean distances between the parts in the matrix.
[0066] At block 906, the package prediction module 220 clusters the parts in the matrix using the Euclidean distance calculated at block 904. In an embodiment, the package prediction module 220 performs hierarchical clustering and uses Ward's minimum variance method for clustering. Alternatively, another hierarchical clustering method may be used, or another form of clustering may be used. At block 908, the package prediction module 220 predicts packages by collecting the clustered part numbers into packages.
[0067] Fig.10 is an illustration of an example matrix 1000 of part relationships according to one embodiment described herein. In an embodiment, Fig.10 The matrix shown is based on Figure 8 An example of a matrix generated by the illustrated technique. In an embodiment, the illustrated matrix may be implemented using a two-dimensional binary array. Fig.10 The illustrated embodiment is merely an example of a possible matrix - many other formats and types of matrices may be used. In matrix 1000, rows represent parts (e.g., identified by part number) and columns represent maintenance events (e.g., based on Figure 7 In an embodiment, each part included in at least one event is included as a row in the matrix 1000. Alternatively, each valid part available for sale by a parts seller is included as a row in the matrix 1000.
[0068] Each entry in the matrix 1000 indicates whether the event in that column includes the part in that row. A binary "1" indicates that the event in that column includes the part in that row, while a binary "0" indicates that the event in that column does not include the part. For example, event A includes parts 1, 3, 6, and 7, but not parts 2, 4, 5, and 8. Event B includes parts 3, 4, 5, 6, and 7, but not parts 1 and 8. In an embodiment, as discussed above, the matrix 1000 can be used to cluster parts and predict part packages.
[0069] In a package prediction module (e.g., package prediction module 220), a part package (e.g., Figure 3 312 in the example above), the package may be sent to the customer. In an embodiment, an associated price may also be sent to the customer (e.g., a price generated using the package pricing module 230). In an embodiment, the package prediction module may generate a user interface for displaying the package information to the customer - for example, the package prediction module may generate a web page (e.g., and HTML web page), a Javascript module, an XML module, or other suitable interface description. The package prediction module (or another suitable module) may provide the user interface description to the customer for display by the customer. For example, the package prediction module may send the user interface description (e.g., HTML, Javascript, or XML module) to the customer via a communication network for display by the customer's web browser or application. Furthermore, as another example, the package prediction module (or another suitable module) may communicate with the customer device via a communication network (e.g., using a suitable application programming interface (API)).
[0070] In an embodiment, a customer may select a desired package to purchase (e.g., using a user interface). The customer's computer or other electronic device may send a response signal to a package prediction server (e.g., package prediction server 200) or another suitable server. After receiving the response signal, the server may fulfill the purchase. For example, the server may reserve the parts in the package in inventory to facilitate fulfillment. The server may further identify the destination of the parts in the package and may trigger the processing and transportation of the parts. In an embodiment, the server may automatically fulfill the order. Alternatively, the server may alert a fulfillment staff (e.g., using a user interface) and provide the necessary information to allow the fulfillment staff to obtain and transport the purchased parts. The parts may then be transported automatically or by the fulfillment staff.
[0071] In an embodiment, the purchase of packaged parts may be made through a user interface provided to the customer. Alternatively, the purchase may be made automatically. For example, the customer may pre-agreed that the vendor predicts that parts may be needed at a particular point in time, and automatically generate a package and purchase the parts. In an embodiment, this pre-agreed may be further associated with an expected or maximum price for the package. The customer may be provided with the ability to agree or decline the purchase before completion, or the purchase may be fully automated. In an embodiment, the customer may further agree to automatically purchase the predicted package when the customer seeks to purchase individual parts. For example, the customer may seek to purchase a specific part, and the system may identify the predicted package associated with the part and automatically purchase the package. This may be done with the customer's consent at the time of purchase, or automatically based on the pre-agreed. In an embodiment, the accuracy of the predicted package may encourage customers to pre-agreed to automatic package predictions for future purchases.
[0072] In the foregoing, reference is made to the embodiments presented in the present disclosure. However, the scope of the present disclosure is not limited to the specifically described embodiments. On the contrary, any combination of the described features and elements, whether or not related to different embodiments, is contemplated as implementing and practicing the contemplated embodiments. In addition, although the embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether a particular advantage is achieved by a given embodiment is not a limitation on the scope of the present disclosure. Therefore, otherwise the foregoing aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims unless expressly stated in the claims.
[0073] Those skilled in the art will appreciate that the embodiments disclosed herein may be specifically implemented as a system, method, or computer program product. Therefore, various aspects may take the form of an all-hardware embodiment, an all-software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, which may generally all be referred to herein as "circuits," "modules," or "systems." In addition, various aspects may take the form of a computer program product specifically implemented in one or more computer-readable media that specifically implement computer-readable program code.
[0074] 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, radio frequency (RF), etc., or any suitable combination of the foregoing.
[0075] The computer program code for implementing the operations of various aspects of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages (e.g., Java, Smalltalk, C++, R, SAS, etc.) and traditional procedural programming languages (e.g., "C" programming language or similar programming languages). The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or an external computer may be connected (e.g., via the Internet using an Internet service provider).
[0076] Aspects of the present disclosure are described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products of the embodiments presented in the present disclosure. It will be understood that the individual blocks of the flowcharts and / or block diagrams and the combination of blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to generate a machine, so that instructions executed by the processor of the computer or other programmable data processing device create means for implementing the functions / behaviors specified in the flowcharts and / or block diagram blocks.
[0077] These computer program instructions may also be stored in a computer-readable medium, which can instruct a computer, other programmable data processing device or other apparatus to function in a specific manner, so that the instructions stored in the computer-readable medium generate an article of manufacture including instructions for implementing the functions / behaviors specified in the flowchart and / or block diagram blocks.
[0078] Computer program instructions may also be loaded onto a computer, other programmable data processing device, or other apparatus to cause a series of operational steps to be performed on the computer, other programmable device, or other apparatus to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions / behaviors specified in the flowchart and / or block diagram blocks.
[0079] One or more implementations may be provided to end users through a cloud computing infrastructure. Cloud computing generally refers to providing scalable computing resources as a service on a network. More formally, cloud computing can be defined as providing an abstract computing capability between computing resources and their underlying technical architecture (e.g., servers, storage, networks), thereby allowing convenient, on-demand network access to a shared pool of configurable computing resources that can be quickly configured and released with minimal management effort or service provider interaction. Thus, cloud computing allows users to access virtual computing resources (e.g., storage, data, applications, and even fully virtualized computing systems) in a "cloud" without having to consider the underlying physical systems (or the location of those systems) used to provide the computing resources. .
[0080] Typically, cloud computing resources are provided to users on a pay-per-use basis, where users are charged only for the computing resources actually used (e.g., the amount of storage space consumed by the user or multiple virtualized systems instantiated by the user). Users can access any resource residing in the cloud from any location across the Internet at any time. In the context of the present disclosure, users can access applications (e.g., package prediction server 200) or related data available in the cloud. For example, one or both of the package prediction module 220 and the package pricing module 230 can be executed on a computing system in the cloud. In this case, the various modules can access data stored at a storage location in the cloud (e.g., historical sales and search data), and can store associated data in the cloud. Doing so allows users to access this information from any computing system attached to a network connected to the cloud (e.g., the Internet).
[0081] The flow charts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the system, method and computer program product according to various embodiments. In this regard, each square block in the flow chart or block diagram may represent a module, segment or code portion, which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the square blocks may not occur in the order indicated in the figure. For example, depending on the function involved, the two square blocks shown in succession may actually be performed substantially simultaneously, or the square blocks may sometimes be performed in the opposite order. It will also be noted that the combination of each square block in the block diagram and / or flow chart and the square blocks in the block diagram and / or flow chart can be implemented by a system based on dedicated hardware or a combination of dedicated hardware and computer instructions that performs a specified function or behavior.
[0082] Furthermore, the present disclosure includes implementations according to the following clauses:
[0083] Clause 1. A computer-implemented method for intelligently predicting a replacement parts package, the method comprising:
[0084] determining, using a computer processor, a plurality of maintenance events for a plurality of replacement parts based on historical data associated with the plurality of replacement parts, wherein each maintenance event in the plurality of maintenance events corresponds to one or more replacement parts;
[0085] generating, using a computer processor, a plurality of clusters of replacement parts based on the plurality of maintenance events; and
[0086] A computer processor is used to predict a plurality of replacement parts packages based on the clustering, wherein each package includes a plurality of replacement parts.
[0087] Clause 2. The method of clause 1, wherein the step of determining the plurality of maintenance events for the plurality of replacement parts further comprises:
[0088] determining, using a computer processor, a starting time point for a first maintenance event based on historical data associated with the plurality of replacement parts;
[0089] determining, using a computer processor, an end time point for a first maintenance event based on historical data related to the plurality of replacement parts; and
[0090] One or more replacement parts for a first maintenance event are identified using a computer processor based on sales of replacement parts and electronic searches for replacement parts occurring between a starting time point and an ending time point.
[0091] Clause 3. The method of clause 2, wherein the step of determining the plurality of maintenance events for the plurality of replacement parts further comprises:
[0092] Generate time series data related to historical data; and
[0093] A kernel density estimate associated with the time series data is calculated, wherein at least one of the starting time point and the ending time point is based on the kernel density estimate.
[0094] Clause 4. The method according to any one of clauses 1 to 3, further comprising:
[0095] A plurality of interchangeable parts among the plurality of replacement parts are identified using a computer processor, wherein the plurality of maintenance events are based on the plurality of interchangeable parts.
[0096] Clause 5. The method according to clause 4, further comprising:
[0097] An original part identifier and a latest part identifier are determined for a first interchangeable part in the plurality of interchangeable parts using a computer processor, wherein the plurality of maintenance events replace the original part identifier with the latest part identifier.
[0098] Clause 6. The method according to any one of clauses 1 to 5, further comprising:
[0099] A two-dimensional array is generated using a computer processor relating to the plurality of maintenance events and the plurality of replacement parts, wherein the step of determining a plurality of clusters of replacement parts is based on the two-dimensional array.
[0100] Clause 7. The method of clause 6, wherein the two-dimensional array is a binary array.
[0101] Clause 8. The method according to any one of clauses 6 to 7, further comprising:
[0102] Calculate local weights for multiple entries in a two-dimensional array;
[0103] calculating global weights for the plurality of entries in the two-dimensional array; and
[0104] The dimensionality of the two-dimensional array is reduced based at least in part on the calculated local weights and global weights, wherein determining the plurality of clusters of replacement parts is based on the reduced two-dimensional array.
[0105] Clause 9. The method according to any one of clauses 1 to 8, further comprising:
[0106] A price for a first package of the plurality of replacement parts packages is determined based at least in part on predetermined prices for individual parts in the first package, wherein the price for the first package is lower than a combination of the predetermined prices for the individual parts in the first package.
[0107] Clause 10. The method of clause 9, wherein the price of the first package is automatically determined using a computer processor, and wherein the price of the first package is based on one or more characteristics of the parts in the first package.
[0108] Clause 11. A system comprising:
[0109] Processor; and
[0110] A memory storing a program, wherein the program, when executed on a processor, performs an operation, the operation comprising:
[0111] determining a plurality of maintenance events for a plurality of replacement parts based on historical data associated with the plurality of replacement parts, wherein each maintenance event in the plurality of maintenance events corresponds to one or more replacement parts;
[0112] generating a plurality of clusters of replacement parts based on the plurality of maintenance events; and
[0113] A plurality of replacement parts kits are predicted based on the clustering, wherein each kit includes a plurality of replacement parts.
[0114] Clause 12. The system of clause 11, wherein the operation of determining the plurality of maintenance events for the plurality of replacement parts further comprises:
[0115] determining a starting time point of a first maintenance event based on historical data related to the plurality of replacement parts;
[0116] determining an end time point of the first maintenance event based on historical data related to the plurality of replacement parts; and
[0117] One or more replacement parts for the first maintenance event are identified based on sales of replacement parts and electronic searches for replacement parts occurring between the starting time point and the ending time point.
[0118] Clause 13. The system of clause 12, wherein the operation of determining the plurality of maintenance events for the plurality of replacement parts further comprises:
[0119] Generate time series data related to historical data; and
[0120] A kernel density estimate associated with the time series data is calculated, wherein at least one of the starting time point and the ending time point is based on the kernel density estimate.
[0121] Clause 14. The system of any one of clauses 11 to 13, the operations further comprising:
[0122] A plurality of interchangeable parts among the plurality of replacement parts are identified, wherein the plurality of maintenance events are based on the plurality of interchangeable parts.
[0123] Clause 15. The system of any one of clauses 11 to 14, the operations further comprising:
[0124] A price for a first package of the plurality of replacement parts packages is determined based at least in part on predetermined prices for individual parts in the first package, wherein the price for the first package is lower than a combination of the predetermined prices for the individual parts in the first package.
[0125] Clause 16. The system of Clause 15, wherein a price for the first package is automatically determined, and wherein the price for the first package is based on one or more characteristics of the parts in the first package.
[0126] Clause 17. A computer program product for intelligently predicting replacement parts kits, the computer program product comprising:
[0127] A computer readable storage medium containing computer readable program code, the computer readable program code being executable by one or more computer processors to perform operations including:
[0128] determining a plurality of maintenance events for a plurality of replacement parts based on historical data associated with the plurality of replacement parts, wherein each maintenance event in the plurality of maintenance events corresponds to one or more replacement parts;
[0129] generating a plurality of clusters of replacement parts based on the plurality of maintenance events; and
[0130] A plurality of replacement parts kits are predicted based on the clustering, wherein each kit includes a plurality of replacement parts.
[0131] Clause 18. The computer program product of clause 17, the operations further comprising:
[0132] A two-dimensional array is generated that is related to the plurality of maintenance events and the plurality of replacement parts, wherein determining a plurality of clusters of the replacement parts is based on the two-dimensional array.
[0133] Clause 19. The computer program product of any one of clauses 17 to 18, the operations further comprising:
[0134] A price for a first package of the plurality of replacement parts packages is determined based at least in part on predetermined prices for individual parts in the first package, wherein the price for the first package is lower than a combination of the predetermined prices for the individual parts in the first package.
[0135] Clause 20. The computer program product of Clause 19, wherein a price for the first package is automatically determined, and wherein the price for the first package is based on one or more characteristics of the parts in the first package.
[0136] In view of the foregoing, the scope of the present disclosure is determined by the following claims.
Claims
1. A computer-implemented method for intelligently predicting replacement parts packages, the method comprising the steps of: determining, using a computer processor, a plurality of maintenance events (308) for a plurality of replacement parts based on historical data (302, 304) related to the plurality of replacement parts, wherein each maintenance event in the plurality of maintenance events corresponds to one or more of the replacement parts; generating, using the computer processor, a plurality of clusters of replacement parts based on the plurality of maintenance events (906); and predicting, using the computer processor, a plurality of replacement parts packages based on the clustering, wherein each package includes a plurality of replacement parts (908), Wherein, the step of determining the plurality of maintenance events for the plurality of replacement parts further comprises: determining, using the computer processor, a starting time point for a first maintenance event based on historical data associated with the plurality of replacement parts (712); determining, using the computer processor, an end time point for the first maintenance event based on historical data related to the plurality of replacement parts (712); and One or more replacement parts for the first maintenance event are identified using the computer processor based on sales of replacement parts and electronic searches for replacement parts occurring between the starting time point and the ending time point (714).
2. The method according to claim 1, wherein: The step of determining the plurality of maintenance events for the plurality of replacement parts further comprises: generating time series data related to the historical data (708); and A kernel density estimate associated with the time series data is calculated (710), wherein at least one of the starting time point and the ending time point is based on the kernel density estimate.
3. The method according to any one of claims 1 to 2, further comprising the following steps: A plurality of interchangeable parts among the plurality of replacement parts are identified using the computer processor (306), wherein the plurality of maintenance events are based on the plurality of interchangeable parts (704).
4. The method according to claim 3, further comprising the steps of: An original part identifier and a latest part identifier are determined for a first interchangeable part in the plurality of interchangeable parts using the computer processor (610), wherein the plurality of maintenance events replace the original part identifier with the latest part identifier (704).
5. The method according to any one of claims 1 to 2, further comprising the following steps: A two-dimensional array is generated using the computer processor in relation to the plurality of maintenance events and the plurality of replacement parts (1000), wherein the step of determining a plurality of clusters of replacement parts is based on the two-dimensional array (906).
6. The method according to claim 5, further comprising the steps of: calculating local weights for a plurality of entries in the two-dimensional array (808); calculating global weights for the plurality of entries in the two-dimensional array (810); and The dimension of the two-dimensional array is reduced based at least in part on the calculated local weights and global weights (812), wherein determining the plurality of clusters of replacement parts is based on the reduced two-dimensional array.
7. The method according to any one of claims 1 to 2, further comprising the following steps: A price (314) is determined for a first package of the plurality of packages of replacement parts based at least in part on predetermined prices for individual parts in the first package, wherein the price for the first package is lower than a combination of the predetermined prices for the individual parts in the first package.
8. A system, comprising: processor; as well as A memory storing a program, wherein the program is executed on the processor to perform operations, wherein the operations include: determining a plurality of maintenance events (308) for a plurality of replacement parts based on historical data (302, 304) related to the plurality of replacement parts, wherein each maintenance event in the plurality of maintenance events corresponds to one or more of the replacement parts; generating a plurality of clusters of replacement parts based on the plurality of maintenance events (906); and predicting a plurality of replacement parts packages based on the clustering, wherein each package includes a plurality of replacement parts (908), Wherein, the step of determining the plurality of maintenance events for the plurality of replacement parts further comprises: determining a starting time point of a first maintenance event based on historical data related to the plurality of replacement parts; determining an end time point of the first maintenance event based on historical data related to the plurality of replacement parts; and One or more replacement parts for the first maintenance event are identified based on sales of replacement parts and electronic searches for replacement parts occurring between the starting time point and the ending time point.
9. A computer program product for intelligently predicting replacement parts packages, the computer program product comprising: A computer readable storage medium containing computer readable program code capable of being executed by one or more computer processors to perform operations including: determining a plurality of maintenance events (308) for a plurality of replacement parts based on historical data (302, 304) related to the plurality of replacement parts, wherein each maintenance event in the plurality of maintenance events corresponds to one or more of the replacement parts; generating a plurality of clusters of replacement parts based on the plurality of maintenance events (906); and predicting a plurality of replacement parts packages based on the clustering, wherein each package includes a plurality of replacement parts (908), Wherein, the step of determining the plurality of maintenance events for the plurality of replacement parts further comprises: determining a starting time point of a first maintenance event based on historical data related to the plurality of replacement parts; determining an end time point of the first maintenance event based on historical data related to the plurality of replacement parts; and One or more replacement parts for the first maintenance event are identified based on sales of replacement parts and electronic searches for replacement parts occurring between the starting time point and the ending time point.
Citation Information
Patent Citations
Automated, new spare parts forecasting and demand planning system
CN106096803A
Generating parts bundles
US8185446B1